How did they make these platformer mechanics in AGS?

Started by Indra Anagram, Mon 08/08/2022 19:45:31

Previous topic - Next topic

Indra Anagram

Hello, AGS Community!

Has anyone seen this on YouTube?  8-0



I wonder if something real was ever published.

My question is: Any ideas how this was made? Ledge detection is particularly interesting.
Did the old man and woman abuse Gingerbread Man?

CaptainD

I suspect that experiment is what turned into this little gem:

https://www.adventuregamestudio.co.uk/site/games/game/1428-concurrence-mags-/

In terms of how it was done I'm afraid I have no idea. AGS is capable of some really cool stuff in the hands of skilled and creative people.
 

Indra Anagram

Quote from: CaptainD on Mon 08/08/2022 20:42:46
I suspect that experiment is what turned into this little gem

OMG CaptainD, have you by any chance got the game? The download link seems dead  :~(
Did the old man and woman abuse Gingerbread Man?

Crimson Wizard

Here's a "Art of Dying" platformer made in AGS, it is distributed with a source project:
https://gamejolt.com/games/the-art-of-dying/21047
its mechanics are not exactly same as in the above game, but may be useful for someone wanting to make a platformer in AGS.

If you are looking for game projects in general, there's a thread where we gathered a list of open sourced AGS games:
https://www.adventuregamestudio.co.uk/forums/index.php?topic=50980.0

Khris


heltenjon

If your virus protection forbids you to download from MediaFire, there's an alternative download here: https://archive.org/details/concurrence-v1.1

Indra Anagram

Quote from: Crimson Wizard on Mon 08/08/2022 22:00:01
Here's a "Art of Dying" platformer made in AGS, it is distributed with a source project:

Crimson Wizard. I've already been recommended to play The Art of Dying. Unfortunately, when trying to run it I get errors like this:



and



:( I definitely would like to see that game.

Quote from: Crimson Wizard on Mon 08/08/2022 22:00:01
If you are looking for game projects in general, there's a thread where we gathered a list of open sourced AGS games

Grea   :-D, thanks for the link! It would be interesting to view those open source projects from the compilation.
Did the old man and woman abuse Gingerbread Man?

Indra Anagram

Quote from: Khris on Mon 08/08/2022 22:03:41
The download worked for me, here's the direct link: http://www.mediafire.com/?hfoli9x1w0jcizx

Khris, nope, it loads forever and then - a blank page. No download for me...
Did the old man and woman abuse Gingerbread Man?

Indra Anagram

Quote from: heltenjon on Mon 08/08/2022 22:09:12
If your virus protection forbids you to download from MediaFire, there's an alternative download here: https://archive.org/details/concurrence-v1.1

heltenjon, archive.org does not open either. I heard it is blocked in my country.
Did the old man and woman abuse Gingerbread Man?

Crimson Wizard

#9
Quote from: Indra Anagram on Mon 08/08/2022 23:13:22
Crimson Wizard. I've already been recommended to play The Art of Dying. Unfortunately, when trying to run it I get errors like this:

I suspect this may be because of the unicode (cyrillic) letters in the path. Either copy the game to a path with only latin letters. Otherwise, try using the latest engine, but copying acwin.exe from the editor program folder into the game dir, and running. The 3.6.0 engine is supposed support unicode paths correctly.

About compilation: you need Joystick plugin; the editor probably warned you about one is missing when you open the project.
https://www.adventuregamestudio.co.uk/forums/index.php?topic=41658.0

mode7

Quote from: Indra Anagram on Mon 08/08/2022 19:45:31
Hello, AGS Community!

Has anyone seen this on YouTube?  8-0



I wonder if something real was ever published.

My question is: Any ideas how this was made? Ledge detection is particularly interesting.


Hey Indra, thanks for your question. I made this as a prototype. As CaptainD pointed out already these experiments turned into Concurrence my "biggest hit"  :grin:. If I can manage to find the source I will let you know but note that was made for an old AGS version by someone who wasn't a professional coder yet (I'd like to think of myself of being one now).
I remember what helped me extremely was this article: https://www.gamedev.net/tutorials/programming/general-and-gameplay-programming/the-guide-to-implementing-2d-platformers-r2936/. The second most important piece for doing a platformer is using a state machine. Just google "platformer state machine" it's not so complicated. Basically it's a big switch-case/else-if statement where you manage the different states the player can be in. What really made AGS a good choice is it's blocking code mechanic (something I really miss in other engines). Cinematic Platformers basically work like: Wait for input - Play animation - Wait for input again. AGS' blocking animations combined with the tween plugin worked like a charm. As for the ledges. I remember it basically worked like this: Concurrence is grid based (I think 16px). Each gird cell can have an attribute (e.g. ground, ledge etc...). When the Player is in standing state and hits jump key, check at a fixed coordinate above and a little in front. If this coordinate is part of a ledge, play the "jump to ledge" animation and move the player to the appropriate coordinates. Afterwards player will enter the "hanging on ledge" state where other options are available for input. If you have any more questions feel free to ask :)

Indra Anagram

Quote from: Crimson Wizard on Mon 08/08/2022 23:38:14
I suspect this may be because of the unicode (cyrillic) letters in the path. Either copy the game to a path with only latin letters.

Hey Crimson Wizard, I changed the path to Latin letters and the game runs fine! Thanks a lot!

Quote from: Crimson Wizard on Mon 08/08/2022 23:38:14
About compilation: you need Joystick plugin; the editor probably warned you about one is missing when you open the project.
https://www.adventuregamestudio.co.uk/forums/index.php?topic=41658.0

Dirk/abstauber has already sent me a link to this plugin. However when I press 'Download', the link takes me to Google Drive page that says I've got no rights to access the files and must ask for owner's permission   :~(
Did the old man and woman abuse Gingerbread Man?

Indra Anagram

Quote from: mode7 on Mon 08/08/2022 23:39:53
I made this as a prototype. As CaptainD pointed out already these experiments turned into Concurrence my "biggest hit"  :grin:.

Hello mode7! I'm glad the author of the project replied. Any news about "Concurrence" full game? Did you continue its development?

Quote from: mode7 on Mon 08/08/2022 23:39:53
If I can manage to find the source I will let you know but note that was made for an old AGS version by someone who wasn't a professional coder yet (I'd like to think of myself of being one now).

PLEASE do try to find the source! I know the platformer mechanics are something of big interest to a lot of people who learn AGS. Little me among those, no doubt  (roll) CaptainD called your game a gem which it certainly is: you proved AGS is a flexible engine that has a potential of being expanded for development of non-adventure genres. As for you coding the demo in the old version of Editor, I don't think it would be impossible to adapt the script to the newer versions. Could be wrong, of course  :-\

Quote from: mode7 on Mon 08/08/2022 23:39:53
I remember what helped me extremely was this article: https://www.gamedev.net/tutorials/programming/general-and-gameplay-programming/the-guide-to-implementing-2d-platformers-r2936/. The second most important piece for doing a platformer is using a state machine. Just google "platformer state machine" it's not so complicated. Basically it's a big switch-case/else-if statement where you manage the different states the player can be in. What really made AGS a good choice is it's blocking code mechanic (something I really miss in other engines). Cinematic Platformers basically work like: Wait for input - Play animation - Wait for input again. AGS' blocking animations combined with the tween plugin worked like a charm. As for the ledges. I remember it basically worked like this: Concurrence is grid based (I think 16px). Each gird cell can have an attribute (e.g. ground, ledge etc...). When the Player is in standing state and hits jump key, check at a fixed coordinate above and a little in front. If this coordinate is part of a ledge, play the "jump to ledge" animation and move the player to the appropriate coordinates. Afterwards player will enter the "hanging on ledge" state where other options are available for input. If you have any more questions feel free to ask :)

Currently your advice looks like Chinese to me (beautiful but very difficult to comprehend  :)), but I will read the article and do my best to follow the steps like a sort of a roadmap. Big Thanks for your detailed recollections on the workflow.
Did the old man and woman abuse Gingerbread Man?

SMF spam blocked by CleanTalk