About action games...

Discuss how to use the Ren'Py engine to create visual novels and story-based games. New releases are announced in this section.
Forum rules
This is the right place for Ren'Py help. Please ask one question per thread, use a descriptive subject like 'NotFound error in option.rpy' , and include all the relevant information - especially any relevant code and traceback messages. Use the code tag to format scripts.
Message
Author
minotaurus
Newbie
Posts: 7
Joined: Fri Dec 22, 2006 12:46 pm
Contact:

About action games...

#1 Post by minotaurus »

Hi! Im new here one day i was looking at Renai games and i got interested. Ill make one, the problem is that i have seen one that has action in it, Is is possible to make this? It was kinda choosing among options for attaking an animation of a slash and the monster image instead of a girl/boy, Thanks in advance

User avatar
DaFool
Lemma-Class Veteran
Posts: 4171
Joined: Tue Aug 01, 2006 12:39 pm
Contact:

#2 Post by DaFool »

Yes, you can make action games, as constructing a choose-your-action type of game with variable points and simple transition animations is easy. It's just that it gets more complicated once you have to balance that with a convincing story. Those who want true RPG type of games are better off using Gamemaker, as Ren'Py is more suited to storytelling.

Counter Arts
Miko-Class Veteran
Posts: 649
Joined: Fri Dec 16, 2005 5:21 pm
Completed: Fading Hearts, Infinite Game Works
Projects: Don't Save the World
Organization: Sakura River
Location: Canada
Contact:

#3 Post by Counter Arts »

If you're really good, you can evoke the emotion of action and the feeling of "that battle was so cool" through storyline and some creative use of effects.

Fate/hollow Axteria(sp) bridge fight scene is an amazing example. Speaking of which.

*goes to replay that scene again*

Ahh yes... awesomeness.

Adorya
Miko-Class Veteran
Posts: 541
Joined: Fri Aug 18, 2006 4:51 pm
Contact:

#4 Post by Adorya »

What maybe I miss in Ren'py is the way to make those action scene...dynamics. It seems the transition cannot be done on a really fast way, so I have to use some fake one with sound or graphic edited background.

Especially if you want some sprite to move dynamically (not only from horizontally or vertically), in the exemple of the bridge scene in FHA, I couldn't find a way to animate foreground sprites like Saber when she ready her weapon.

Counter Arts
Miko-Class Veteran
Posts: 649
Joined: Fri Dec 16, 2005 5:21 pm
Completed: Fading Hearts, Infinite Game Works
Projects: Don't Save the World
Organization: Sakura River
Location: Canada
Contact:

#5 Post by Counter Arts »

What? I thought that sword movement was just squeezing the sprite.
But yeah, doing FHA stuff might be tough on renpy. However, I don't think type-moon uses NScripter anymore.

User avatar
PyTom
Ren'Py Creator
Posts: 16096
Joined: Mon Feb 02, 2004 10:58 am
Completed: Moonlight Walks
Projects: Ren'Py
IRC Nick: renpytom
Github: renpytom
itch: renpytom
Location: Kings Park, NY
Contact:

#6 Post by PyTom »

Can you describe the scene in more detail?

Counter Arts
Miko-Class Veteran
Posts: 649
Joined: Fri Dec 16, 2005 5:21 pm
Completed: Fading Hearts, Infinite Game Works
Projects: Don't Save the World
Organization: Sakura River
Location: Canada
Contact:

#7 Post by Counter Arts »

I'll see if I can give you an analysis maybe sometime this weekend. The engine that is used is probably inspired by NScripter.

A litte inaccurate since it is off the top of my head.

For now, just know that there are
- a lot of rotozooms (sometimes two at once)

- wipes of various speeds synced with sound effects

- Two moving clipping effects used at once (Horizontal bar showing face, vertical bar showing sword)

- A slow full screen pan of a little red streak hitting the top of a buliding causing an explosion with is just a dissolve transition between about 3 frames. On top of that, you can see a little light circle expand at the start of the explosion.

- All running at 60fps or at least extremely high frame rate

Personally, I would do this in a cutscene using adobe after effects and pictures. Then again, the bridge scene is a pretty long scene for something that probably took place in a minute game time (if you can call it game time). However, the FHA movie playback has some v-sync problems for some reason.[/list]

monele
Lemma-Class Veteran
Posts: 4101
Joined: Sat Oct 08, 2005 7:57 am
Location: France
Contact:

#8 Post by monele »

I'm trying to upload a video showing off such things. Will edit this when it's available. Better show it than try to describe it ^^

EDIT : here we go : http://youtube.com/watch?v=0kK4nPSCubU

Adorya
Miko-Class Veteran
Posts: 541
Joined: Fri Aug 18, 2006 4:51 pm
Contact:

#9 Post by Adorya »

monele wrote:I'm trying to upload a video showing off such things. Will edit this when it's available. Better show it than try to describe it ^^

EDIT : here we go : http://youtube.com/watch?v=0kK4nPSCubU
Hehe, this is my archer vs saber video, I am glad you have been able to put it on youtube, it was hell to upload it somewhere.
I am thinking of taking footage of severals games and show/analyze transitions features I would like to see or make in Ren'py (for now I am thinking of Duel Savior or Imperial Supremacy Transmission Sign of White aka 淫皇覇伝アマツ~白濁の呪印~ (last one use nearly same transitions as FSN with some more original moves)...

But lets go back to our subject, the video monele provided ^^ :

- 00:00 -> 00:18 = nothing Ren'py cannot do, the tower scene can be done with vertical and horizontal move to make illusion of 3D rotation

- 00:18 -> 00:19 = smooth zoom, nothing hard too

- 00:19 -> 00:22 = slow red blink animation, this one can be tricky but maybe with alpha it would work

- 00:27 = Saber hitting the 2nd arrow. This animation is short and fast, we see a zoom smoothly moving from up left to down right then a bit to the up and left again, like an ellipse move. This is the kind of custom animation I would like to make.

- 00:28 = zoom - from a bridge. While the zoom occur, shaking effect can be seen during all the move

- 00:35 = Saber hitting the 3rd arrow. This special ellipse animation is more obvious here, as there is no zoom.

- 00:36 -> 00:41 = classic pan, nothing hard.

- 00:41 = Saber ready her weapon. This time this is not a background but a sprite. The animation is short and fast, I still cry when I see that animated T_T. I am sure it can be done in Ren'py but couldn't figure it out in custom move

- 00:46 = overlay exemple with a "ghost & transparent" background use

- 00:48 = Saber run to hit the 4rth arrow. Notice the animation is different now, small up down up down then full throttle out of the window and this is not a fully horizontal move.

- 00:58 -> 1:10 = Saber charging excalibur. Lots of layers moving simultaneously in different direction with transparency and rotozoom

- 01:30 -> 2:17 = very fast animation using lot of backgrounds. Again we see lot of zoom and custom moves

FSN / FHA use a custom Nscripter (probably with ton of selfmade addons).

User avatar
PyTom
Ren'Py Creator
Posts: 16096
Joined: Mon Feb 02, 2004 10:58 am
Completed: Moonlight Walks
Projects: Ren'Py
IRC Nick: renpytom
Github: renpytom
itch: renpytom
Location: Kings Park, NY
Contact:

#10 Post by PyTom »

I'm not sure about speed, but I think most of this can be done in Ren'Py. We don't really have rotations, but we do have move and zoom, and they can be composed together. Actually, one would probably want to use Motion rather than Move, since it allows arbitrary movement, rather than just straight lines.

Counter Arts
Miko-Class Veteran
Posts: 649
Joined: Fri Dec 16, 2005 5:21 pm
Completed: Fading Hearts, Infinite Game Works
Projects: Don't Save the World
Organization: Sakura River
Location: Canada
Contact:

#11 Post by Counter Arts »

Hmm... me making a simple move animation with the main menu caused noticable ripping. Is there a flag for vSync?

Adorya
Miko-Class Veteran
Posts: 541
Joined: Fri Aug 18, 2006 4:51 pm
Contact:

#12 Post by Adorya »

For those interested to compare how this scene was done with his ren'py equivalent, I have attached the Nscripter file of the whole scene. You will need to set your regional options to Japanese if you want to read properly comments and image reference, but otherwise the rest of the code can be viewed with notepad or scite.

One noticeable difference I seen so far is the animations call have been defined already in a much more wider range (movefg, quake, dash, spline) along with options like acceleration (accel), the move can be done with precision like this :

Code: Select all

@move opacity=200 base=オブジェクト_アチャ弾(正球・エフェクト) time=1200 cy=300 mag=1.8 deg=-122 accel=0 cx=400 layer=&no py=150 px=571 
affine=(472,184,-122,1.8,0,400,300)(461,195,0,1.8,255,400,300)(449,209,0,1,8,0,400,300)(684,139,0,1.5,0,400,300)(659,164,0,1.5,0,400,300)
(648,179,0,1.5,255,400,300)(638,192,0,1.5,0,400,300)(599,240,0,1,0,400,300)(590,249,0,1,255,400,300)(582,259,0,1,0,400,300)
(544,309,0,0.7,0,400,300)(538,299,0,0.7,255,400,300)(528,287,0,0.7,0,400,300)(617,279,0,0.5,0,400,300)(691,272,0,0.5,255,400,300)
(712,270,0,0.5,0,400,300)(650,337,0,0.5,0,400,300)(664,337,0,4,255,400,300)(684,336,0,0.4,0,400,300)(636,376,0,0.4,0,400,300)
(628,381,0,0.4,255,400,300)(616,390,0,0.4,0,400,300)(614,342,0,0.4,0,400,300)(614,325,0,0.4,255,400,300)(613,314,0,0.4,0,400,300)
(589,388,0,0.3,0,400,300)(582,399,0,0.3,255,400,300)(576,413,0,0.3,0,400,300)(630,409,0,0.3,0,400,300)(636,419,0,0.3,255,400,300)
(642,431,0,0.3,0,400,300)
Edit: made some backdash in the code in order to spare the forum formating ;)
Attachments
2-26.ks.txt
(85.45 KiB) Downloaded 149 times

User avatar
PyTom
Ren'Py Creator
Posts: 16096
Joined: Mon Feb 02, 2004 10:58 am
Completed: Moonlight Walks
Projects: Ren'Py
IRC Nick: renpytom
Github: renpytom
itch: renpytom
Location: Kings Park, NY
Contact:

#13 Post by PyTom »

The ripping is a noted issue, but there isn't a good cross-platform way of providing vsync.

It looks like nscripter (or the modified version used here) is using some sort of spline-based movement. Ren'Py's approach is somewhat different. We have the simple case of straight-line moves, which are what Pan and Move are for. We then have Motion, which allows an arbitrary function to specify a movement.

I think this sorta reflects one of the design philosophies of Ren'Py. I try to make common cases easy, and then provide more generic functionality to make all other cases possible, if not easy.

Adorya
Miko-Class Veteran
Posts: 541
Joined: Fri Aug 18, 2006 4:51 pm
Contact:

#14 Post by Adorya »

Btw I have seen the exemple in the demo about Motion, but it lead to the user to use mathematical algorithm (in the exemple the bouncing curve need to be defined like the graphes you see in your calculator).

I would have liked to see motion define by loc only, but after looking at the nscripter exemple I concluded you have to use them, since it was using some form of math too.

Guess I am going back to my old school tool with logarithm and such in order to make some sinusoidal move ;)

Adorya
Miko-Class Veteran
Posts: 541
Joined: Fri Aug 18, 2006 4:51 pm
Contact:

#15 Post by Adorya »

Here are the footages I have done from various VN, I will try to show their various interesting features and maybe will give some more ideas to implement in Ren'py if not already done. If someone can upload them on rapidshare it could be nice, because I don't know for how long those will stay online.

Duel Savior Justice transition post opening to main menu ~2 Mo AVI VLC:
- 5 rotations of sprites (weapons) briefly blinking and appearing one after each other.
- Menu list showing up with an image manipulation (deformation and move right to left frame).
- Customized cursor (appearance and animation).
- Animations on menu selection mouse over (slow blinking) and tree expand selection.
- Looped animation on main title.
- Animation on game quit.

Duel Savior Justice scene 1 (school) + chapter transition + world map ~13 Mo AVI VLC:
- Scene background apparition in mosaic with a horizontal blind imagedissolve.
- 2 rotozoom out of 2 images (circles) which rotate in the opposite direction, after a while each of them leave the screen with different zoom (one zoom in and one zoom out).
- zoom out of the chapter title until it disappear then trouble vision effect before a deformation text effect.

- Place selection in the world map that can be choosen by either the mouse or keyboard, selection or mouse over show name of the place and a thumbnail of it with a brief a vertical blind imagedissolve.

- Quicksave menu on the right side of the screen with same mouse over system as in the place selection. There is also an animated image showing the recent save.

Duel Savior Justice scene 2 (arena) + fight mode (getting ass kicked by Mia <_<) ~50 Mo AVI VLC:
- Face icon inside the main text window, can be fixed or independant from the main foreground character sprite (to alternate character dialog and point of view).
- Each character has a choosen dialog text color.
- Text font is customized to show emoticon (nerf anger, embarrassed drop...) and can be resized to emphase emotion (bigger size for shouting talk).
- Small lines that appear under each sentence.
- Animated icon showing auto read mode.
- Unhideable menu in auto read mode which allow to set the auto read speed and to cancel it.
- Specific main text window location in fight mode (up).
- Mouse over help on ingame menu.

Duel Savior Justice scene 3 (library) + fight mode ~41 Mo AVI VLC:
- Character selection before fight mode.
- Storyline can be done through fight mode.

Midara Haden Amatsu (arena) (according to Atlas translation) ~60 Mo AVI VLC:
- Decorated main text window (image on left side), with persistant option button on the right.
- Character portrait dash when a fighting is described, sometimes double dash occur (moving in opposite direction).
- "Slash" animation with a fast vertical blind imagedissolve starting from the thinnest line to the thickest.
This full visual novel (there is pratically no choices during the whole text, only before some chapters in order to choose a girl path, making it very long to "read") is typically using the same narration system as FSN, except is lacking the tense atmosphere (inexistant bgm) and various characters poses (and more dynamic animations). However this can illustrate a way to render an "epic" HVN.

Yami Maid ~50 Mo VOB (for an unknown reason VLC fail to encode this film in mp4 after 32s):
- Custom engine + Flash + After effect = smooth looping sprite animation + good pretty voice synch lips
- Old picture effect (grainlayers and sepia layers)
This very short HVN that blow everything in flash regarding cinematic scenes and animation, but those can be difficult to implement in another system. The doujin circle Tinkerbell was one of the first circle to start using After effect software in its work and it seems they have mastered it, giving even idea on Hgame company to produce the same feature (Tsuma to Mama to Boin and Queen by G.J? for exemple).

Post Reply

Who is online

Users browsing this forum: Ahrefs [Bot], Ocelot