Pixelation

General => General Discussion => Topic started by: dkh on October 25, 2013, 05:59:44 pm

Title: The Art of Dying - Platformer made in AGS (GAME IS RELEASED!)
Post by: dkh on October 25, 2013, 05:59:44 pm
Hey there!

Long time no see, Pixelation! I wanted to share my new project "The Art of Dying". It's made with a software called "Adventure Game Studio" that I've been using and abusing for non-adventure game for ten years now. This is a solo project, meaning I'm programming the entire thing, I'm drawing all the art and animation and design the game. The music in the video is used with permission and is by the amazing Tom Woxom - found on the equally wonderful freemusicarchive.org!

The way I want to present the game is with short video segments: each one focuses on one particular aspect of the game. This first installment talks about the most important game play mechanic in any platformer: movement! Please take a look:









In the video I demonstrate the way I implemented movement, acceleration/deceleration on different surfaces (solid and slippery), jumping, double-jumping and ducking.

Let me expand a little on two of the points made in the video:

- Featuring smooth movement (with acceleration and deceleration) as opposed to hard fixed-pixel movement is very important. The former gives a much more modern feel to your game, the latter is more precise and exact. I went for very subtle smooth movement and put a lot of effort into finding 'correct' values so that you would just barely notice that there is smooth movement in the game but still keep the controls as tight as possible.

- Jump systems are a second, fundamentally important aspect of platformers. There are several different styles that you can follow: There's the simple way. You hit the jump button and it results in the same exact jump every time no matter what. Then there's the Mario way: the jump starts when you push the jump button and gets an upward boost for a limited amount of time if you hold the jump button. That gives the gameplay much more complexity as you can now have jumps that players need to be careful not to overshoot (down-facing spikes over gaps anyone?) and you need to master the regulation of the jump. And then there's the double-jump system that I went for. It's like the first-mentioned primitive jumping system except that you can, well, double-jump. I went for this latter approach because it allows the player to regulate the jumps and makes the gameplay more complex and, at the same time, it looks really cool to double-jump all over the place. Don't ever underestimate how important it is for core gameplay mechanics to just be straight-up dumb fun (and complete unrealistic from a physics point of view)!

I will be releasing a second video very shortly from now which will focus on the various attacks in the game! Please let me know what you think of my project, the ideas I talked about in the video and in this post and ask any questions you might have!
Title: Re: The Art of Dying - Platformer made in AGS
Post by: Corinthian Baby on October 25, 2013, 06:26:13 pm
1, that is a picture of a video. 2, I couldn't find the video on youtube. Can't really comment on the game without seeing it in action.
Title: Re: The Art of Dying - Platformer made in AGS
Post by: dkh on October 25, 2013, 06:34:38 pm
Argh, I'm super sorry. It's fixed now. Looks like pixelation doesn't allow embedded youtube videos nor image links (the video thumbnail was supposed to be clickable and link to the video since direct embedding doesn't seem to work).
Title: Re: The Art of Dying - Platformer made in AGS
Post by: Crow on October 26, 2013, 12:09:11 am
Edited your first post and embedded the video :)
Title: Re: The Art of Dying - Platformer made in AGS
Post by: Helm on October 26, 2013, 05:27:11 am
Hey, dkh! It's amazing to me that this runs in AGS. Pretty spectacular. And it's obvious from the go that you've thought about mechanics and such, looks responsive and tight. Good job! Are you using the arne 16 color palette for this? Looks like it a bit.

I think it's a beautiful project and I'm looking forward to watching more videos as you upload them. Feel free to keep this thread updated for us!
Title: Re: The Art of Dying - Platformer made in AGS
Post by: dkh on October 26, 2013, 09:47:11 am
Helm, long time no see! I'm happy that you enjoy the project. It uses a version of Arne's 16 color palette indeed, good catch. When I make that first mock-up in Pro Motion, I generally start with Arne's palette - and then I just never see any reason to change anything about it :D
Title: Re: The Art of Dying - Platformer made in AGS
Post by: surt on October 26, 2013, 11:21:37 am
Does AGS support tilemap rendering or is the level a single prerendered image?
Title: Re: The Art of Dying - Platformer made in AGS
Post by: dkh on October 26, 2013, 11:28:17 am
surt: AGS supports rendering images to the screen, that's pretty much it, that's all you need! ;) You could just draw one large level background or - and this is what I am doing - write your own tilemap code to render a grid of little tiles! I went for tiles because a.) I love tiles, b.) they are more memory-efficient and c.) it allows me to have that build-in level editor in the game in which people can put together their own levels and challenges if they want to, and share them as well.
Title: Re: The Art of Dying - Platformer made in AGS
Post by: Cyangmou on October 26, 2013, 12:38:18 pm
great stuff, I really enjoyed your vid. Please post more  :)

I think we all here talk in general too much about the arty side of pixel art and quite to less about game design which is also really important for game art assets.
Title: Re: The Art of Dying - Platformer made in AGS
Post by: dkh on October 26, 2013, 03:30:03 pm
Thanks Cyangmou! Here's the second video talking about how attacking works in the game:



Take a look and let me know what you think! It's getting a bit more interesting now! The next video will introduce the various enemies in the game!
Title: Re: The Art of Dying - Platformer made in AGS
Post by: Crow on October 26, 2013, 04:20:26 pm
I've added a YouTube BBCode and button. Enjoy.
Title: Re: The Art of Dying - Platformer made in AGS
Post by: dkh on October 27, 2013, 06:06:49 pm
Thanks Crow, you rock! The next video will talk about enemy variety and present a number of enemies that I have implemented, their role and how they affect the gameplay.
Title: Re: The Art of Dying - Platformer made in AGS
Post by: Cyangmou on October 27, 2013, 08:02:52 pm
How have you incorporated th ehit flash? with actual frames or just with programming?

I assume you still can et hit while you are dashing? You are ivincible during the jumping attack?

Is there even a need for the normal attacks if the dash is 3 times as strong as the normal combo (given that there is enough space from the level architecture)?

I am also missing the information on what happens if you ge thit. Get hit 1 time and you die? Maybe you should incprporate this next time too - it's unclear atm.
Title: Re: The Art of Dying - Platformer made in AGS
Post by: dkh on October 27, 2013, 09:50:57 pm
The flash is programming, no reason to waste memory on a simple white tint (which actually is not as simple to do as one might think in AGS as it doesn't support bright color tints - so I have to create a white square with correct dimensions, then grab the transparency mask from the original, untinted sprite and apply that to the white square).

You can not hit while dashing but dashing itself is an attack so there is no need to! But you can of course break out of the dash at any point by jumping, then you can do whatever you want to. Jump again and go right into a spin attack for example!

You are not ever invincible in the game. I was considering it for the spin attack but then that'd just make it EVEN better and more useful.

You make a good point with the normal attacks not being very useful. The spin and dash attacks are what you want to use 99% of the time. I thought about this and I'd rather have it be this way then somehow make these really fun and fluent moves worse in some way. The normal attacks are just in there because it'd be goofy not to be able to use a sword while running. Although there are some very rare cases in which the normal attack is useful (when you can't jump and can't slide because of lava/spikes being too close for example).

Right now, you get hit once and die. I've been thinking about putting in a health system but I honestly think a die-often-with-a-lot-checkpoints thing is more fitting. The game's called The Art of Dying for a reason after all!

More and more infos will be revealed. I plan to make the next video about enemy variety, then one about the editor etc.
Title: Re: The Art of Dying - Platformer made in AGS
Post by: PypeBros on October 28, 2013, 02:28:17 pm
Using a point-and-click adventure studio for a retro-looking platformer ... well, that's unexpected, but the result sure looks good and doesn't seem to have quirks in gameplay, so congrats   ;D

Quote
I demonstrate the way I implemented movement, acceleration/deceleration on different surfaces (solid and slippery)
It's good you took some time on this. Imho, that's a key point to make a game feel professional opposed to kiddies programming experiments. I wonder whether you encountered the same kind of update animation only when virtual position of the character is n pixels away from current position (http://sylvainhb.blogspot.be/2009/05/moon-walk.html) as the one I used in my engine.

Did I correctly picked that you map dash as DOWN+L/R+JUMP ... do you have any reason to avoid DOWN+ATTACK ?
Title: Re: The Art of Dying - Platformer made in AGS
Post by: dkh on October 28, 2013, 03:44:37 pm
Using a point-and-click adventure studio for a retro-looking platformer ... well, that's unexpected, but the result sure looks good and doesn't seem to have quirks in gameplay, so congrats   ;D

Quote
I demonstrate the way I implemented movement, acceleration/deceleration on different surfaces (solid and slippery)
It's good you took some time on this. Imho, that's a key point to make a game feel professional opposed to kiddies programming experiments. I wonder whether you encountered the same kind of update animation only when virtual position of the character is n pixels away from current position (http://sylvainhb.blogspot.be/2009/05/moon-walk.html) as the one I used in my engine.

Did I correctly picked that you map dash as DOWN+L/R+JUMP ... do you have any reason to avoid DOWN+ATTACK ?

Thanks PypeBros!

I didn't quite understand the problem(?) - my French isn't very good and the English explanations didn't really help me understand very much. But I had very little problems implementing the ice surfaces: I have a friction variable that is simply altered, depending on whether or not the player is currently on ice. And friction simply affects the speed of acceleration/deceleration. The animation of the player is played depending on the keys that are pressed and synced so they look good (animation speed vs movement speed) on standard, non-slippery surfaces. On ice they do look like 'moon-walking' while you're slowly picking up speed but that is, of course, the effect we're after, since the surface is so slippery and makes you 'moon-walk' in real life.

About the dash-move: you understood correctly, it's DOWN+L/R+JUMP. As to why I didn't do DOWN+ATTACK? Well, I feel adding in a direction key gives the player more control and speed - which, once again, is what I'm going for with this game, I DON'T want ANY kind of slow and 'rigid' controls, it's all about fast, manic and, hopefully, fun movement. So in the game, you don't have to face the right direction first, then hit DOWN+ATTACK, you can just hit DOWN+JUMP with L or R and immediately start dashing in that direction. Even when you're at full speed, running right, you can still immediately hit DOWN+L+JUMP and change your direction on the spot. This isn't physically accurate (much like double-jumping for example) but, to me, it's fun that way.
Title: Re: The Art of Dying - Platformer made in AGS
Post by: dkh on October 29, 2013, 04:28:24 pm
And here's a third video. This time focusing on how I design enemies. I also present a couple ones in greater detail:



Please take a look and let me know what you think! I'm planning to show off the level editor in the next video, so stay tuned for that!
Title: Re: The Art of Dying - Platformer made in AGS
Post by: dkh on November 01, 2013, 04:30:38 pm
In case someone is still interested, here's my fourth video that shows off the level editor that's included in the game. Please take a look:



As always, let me know what you think and if you could see yourself using this editor. Also, ask any questions you might have, I'm sure there's plenty of stuff I forgot to explain how it works in the video. If you have improvements on user friendliness (that are reasonable, AGS doesn't exactly make user-friendly tool development easy haha), please share them with me!
Title: Re: The Art of Dying - Platformer made in AGS
Post by: A2J2TIWARI on November 02, 2013, 09:52:01 am
Great Video! I enjoyed it and even learned a lot of things! Thanks for sharing your knowledge about 'controls', I might implement something like that in my games.

Also, after watching the video, I feel like making a video for my FART game as well.
Title: Re: The Art of Dying - Platformer made in AGS
Post by: dkh on November 02, 2013, 10:20:04 am
Thanks! I'm happy you liked my videos! ;D

This whole dev diary thing was an experiment, really. It takes a LOT of time to do (and that's time you could be working on the game itself), but it's also really fun and allows you to create a bit of interest - that's the goal at least. It's a trade-off but if you feel like doing the same for your game, I'll be watching!
Title: Re: The Art of Dying - Platformer made in AGS (GAME IS RELEASED!)
Post by: dkh on December 18, 2013, 11:24:47 pm
The Art of Dying has been released!

(http://i.imgur.com/3AIyr9S.png)

Thank you for the interest during development, now go over here (http://www.adventuregamestudio.co.uk/forums/index.php?topic=49687.msg636476005) to download the game, play it and let me know how you liked it!
Title: Re: The Art of Dying - Platformer made in AGS (GAME IS RELEASED!)
Post by: yaomon17 on December 19, 2013, 12:28:22 am
I like the fast pace of the game but the sliding into spikes on landing is a bit frustrating and the minimal aerial control makes the flying enemies a pain to deal with in conjunction with trying to avoid shots/spikes. Also a way to do the spinning slash faster after jumping off the ground rather than having to tap twice would make the controls feel less restricting. Other than that the game seems like a fun way to pour some time into. Good work  :y:
Title: Re: The Art of Dying - Platformer made in AGS (GAME IS RELEASED!)
Post by: Ai on December 19, 2013, 01:22:29 am
Given that it's called "The Art of Dying", why isn't it a roguelike (http://www.reddit.com/r/roguelikes)? ;)

On a more serious note, I would have appreciated some notice that this is Windows-only, so that I could have not bothered to download it.

(it doesn't appear to work fully in WINE. When I go to start a new run, it pops up an error dialog talking about a 'scripting error', giving the following info (paraphrased since I couldn't take a screenshot):
Code: [Select]
LevelSelect.asc line 61
Room1.asc line 201
Room1.asc line 413
Room1.asc line 851

String.Truncate : invalid length.

Nice animation in the menu screen though :)
)
Title: Re: The Art of Dying - Platformer made in AGS (GAME IS RELEASED!)
Post by: dkh on December 20, 2013, 11:11:49 am
Thanks for playing the game and giving feedback! :)

I like the fast pace of the game but the sliding into spikes on landing is a bit frustrating and the minimal aerial control makes the flying enemies a pain to deal with in conjunction with trying to avoid shots/spikes. Also a way to do the spinning slash faster after jumping off the ground rather than having to tap twice would make the controls feel less restricting. Other than that the game seems like a fun way to pour some time into. Good work  :y:

What exactly do you dislike about the spikes? They are your average run-of-the-mill platformer spikes I think. I also don't quite agree with minimal aerial control - or are you talking about the fact that I put the double jump mechanic in as opposed to the, technically, more 'controllable' hold-the-button longer to jump higher mechanic? In general, I should maybe have emphasized the fact that this is supposed to be a very tricky and challenging platformer, think Super Meat Boy and then some. It's supposed to be borderline frustrating, yet fair and ultimately very, very rewarding when you beat a stage and/or the game. The controls suggestion was made frequently and, to a certain degree I can relate. Of course it would be nice to have a simple 'macro' button assigned to just that attack! But on the same token, it would be nice to have a button you can press in Street Fighter that simply throws a Hadouken for you instead of needing to do a quartercircle forward and punch! What I'm trying to say is that sometimes it's better to have key combos in a game that a player first needs to learn a bit until they can pull them off. In this case, the spin attack is notoriously strong (and usually is in all platformers that support it, just think back to Super Star Wars on SNES or even the original Ninja Gaiden on NES) - so I want to counterbalance this strength a bit by making it slightly trickier to pull off! Thanks for playing and please do elaborate on some of your points you made, I'm glad you seemed to at least partially enjoy your time with the game! :)

Given that it's called "The Art of Dying", why isn't it a roguelike (http://www.reddit.com/r/roguelikes)? ;)

On a more serious note, I would have appreciated some notice that this is Windows-only, so that I could have not bothered to download it.

(it doesn't appear to work fully in WINE. When I go to start a new run, it pops up an error dialog talking about a 'scripting error', giving the following info (paraphrased since I couldn't take a screenshot):
Code: [Select]
LevelSelect.asc line 61
Room1.asc line 201
Room1.asc line 413
Room1.asc line 851

String.Truncate : invalid length.

Nice animation in the menu screen though :)
)

Ah, sorry, I guess I should have. The thing is, this is written in Adventure Game Studio, it's not my own engine so I didn't really think about cross-platform issues. But yeah, running AGS games on anything non-Windows is tricky at best! From the error you're getting, it seems that there is an issue locating a level file - no idea if that helps you!

Thanks again for trying the game out! Any further feedback is much appreciated!
Title: Re: The Art of Dying - Platformer made in AGS (GAME IS RELEASED!)
Post by: yaomon17 on December 20, 2013, 07:21:50 pm
The inertia just makes the controls feel a bit loose. I find myself trying to strafe left and right in the air to land between two spike strips and slide into one and die.
Title: Re: The Art of Dying - Platformer made in AGS (GAME IS RELEASED!)
Post by: dkh on December 21, 2013, 01:24:52 pm
Ah now I see what you mean! Well, there's two basic kinds of platformers out there: the ones with acceleration/decelaration and those without! There are fans of the one kind and fans of the other. I tried to keep the slipperiness down to a minimum while still having acceleration and decelaration but it's a personal matter of taste!
Title: Re: The Art of Dying - Platformer made in AGS (GAME IS RELEASED!)
Post by: Mr. Fahrenheit on December 21, 2013, 10:42:28 pm
I like the game! Good job.

You also got onto PCGamer: http://www.pcgamer.com/2013/12/21/the-best-free-games-of-the-week-6/
Title: Re: The Art of Dying - Platformer made in AGS (GAME IS RELEASED!)
Post by: dkh on December 22, 2013, 09:48:55 am
Thanks Mr. Fahrenheit! And nice find, yay! :)

In the meantime, I've updated the game to 1.1 to fix a couple of level editor issues. If you're planning on making your own levels, it's highly suggested to update (http://www.adventuregamestudio.co.uk/forums/index.php?topic=49687.msg636476005). Coincidentally, this update *might* also fix your error, Ai, there actually was a coding error in there causing the crash even when the level files where there!