Godot 2D action adventure platformer demo

Warning Game : Game architecture is kinda depreciated. I recommend to check my starter pack for a much up to date starter https://levrault.itch.io/levraults-2d-platformer-starter

Source code available here https://github.com/Levrault/godot-2d-action-adventure-platformer-demo

Godot 2D action adventure platformer demo will be a "complete" tiny demo that should contains a lot of useful stuffs for people that want to learn Godot Engine and creating their own platformer. 

I hope it should answer the common question : Damn, how can I code that ? by only reading through code instead.


Features

Engine

  • A basic retro physic engine
  • Momentum hitting management (slow time with an ease-in-out effect)
  • Tilemap system
  • Music and sound management

Player


A pretty basic but complete character moveset

  •   Jump
  •  Double jump
  • Getting hit
  • Dying
  • Grounded combo attack
  • Air combo attack

GUI

  •   Cooldown bar between combo
  •    Healtbar
  •   Pause screen

Enemies

Slime: A vicious little creature that will follow you if you get to close to him  

  •   Will try to bite you if your too close  
  •  Multiples behaviours (idle, move, attack, getting hit, dying)

  
Eagle: A flying enemy that mind his own business, if you don't get in his path (simple movement path)

Interfaces


  • Main menu
  • Loading screen 
  • Credits Screen
  • Game Over screen

Keys

Move - wasd, arrow keys

Jump  - Space bar

Attack  - F, left mouse click

Pause - Escape

*Game is also playable with a game controller*

Credits

This demo was made by using those amazing assets (thanks to their author, that share their works like that). To use those assets, I recommend to directly download it from their official page and follow the license terms. 

Sprites

Animated Pixel Adventurer

Free Pixelart Platformer Tileset 

Sunny Land 2D Pixel Art Pack

Slime

Pixel health bar asset pack 

Fonts

pixelmix font

Arcade Classic Font

Sounds and musics

The Essential Retro Video Game Sound Effects Collection [512 sounds] By Juhani Junkala

Star Commander1 [music]

Obviously if an asset is not credited, contact me, I always try to credits the asset I use, but something I can just forget to do it.

StatusPrototype
PlatformsHTML5, Windows, macOS, Linux
Rating
Rated 4.4 out of 5 stars
(10 total ratings)
AuthorLevrault
GenrePlatformer, Action, Adventure
Made withGodot
Tags2D, demo, Godot, Pixel Art, Singleplayer
Code licenseMIT License
Average sessionA few minutes
LanguagesEnglish
InputsKeyboard

Download

Download
godot-2d-action-adventure-platformer-demo-windows.zip 23 MB
Version 3 Sep 18, 2020
Download
godot-2d-action-adventure-platformer-demo-linux.zip 24 MB
Version 1 Sep 18, 2020
Download
levrault-sidescroller-demo-mac.zip 24 MB
Version 1 Sep 18, 2020
Download
godot-2d-action-adventure-platformer-demo-windows32.zip 23 MB
Version 1 Sep 18, 2020
Download
godot-2d-action-adventure-platformer-demo-1.0.zip 51 MB

Install instructions

Download zip files

Unzip

Play

Development log

Comments

Log in with itch.io to leave a comment.

cool demo. sprite art is great!

Thanks for sharing!

buenas habra alguna forma de distanciar la estamina del jugador?

Hi, I'm sorry I only speaks french and english but if google translate is right, you seems to ask about the cooldown? If so, there is Timer call cooldown, you can find it on the player scene. Hope it's help

What I wanted to say was that if there is any way that the cooldown does not move with the player you stay in a position

Yes it can be achieved by put it in the same scene of the UI of the health bar and change how the signal are connected.

thank you

Hi! Very nice small game. Why it works so slow in browser? Is it GODOT issue?

Hi, I didn't really develop the demo with browser in mind, so maybe I did something wrong even if the game is pretty light and run well on desktop. But it run fine in the last chromium and Firefox version on my side so it can be related to your environment maybe. 

Ah! Thank you for clarification. I'll try to figure out and try in another browser

(+1)

thank you so much! I am very thankful to you for your work. I am new to Godot and I did not know much, but thanks to your project I will know how certain mechanics are made, thank you very much again!

My pleasure, I improve my Godot skills a lot since that demo but I think there still some goods examples in it. Hope you will enjoy your Godot journey!

This is a really cool starting template I expect it to be very helpful thank you!

Notice there hasn't been any activity on the github for a while you still working on it at all or have you entirely moved over to other projects?

If you're still working on it and open to requests it would be awesome to see:

- Charge attack by holding the attack button.

&

- Ledge grab.




Hi, thanks for the replie :) but yes, I'm currently working on a new project and I don't have too much time to re-work on this project.

But if you want to add a charge attack, it should be pretty easy (if everything I done work like it suppose to). Create a new state, make it inehrit from Attack. With a timer and a new class variable on player.gd, you should be able create a charged attack. Edit attack-light, play with input event is_action_pressed and is_action_released to decide when you need to charge for the medium attack or the charge one. Like when action is pressed is activated, start the timer, if the player release before the end of the timer, transit to light attack, if not, transit to you new charge attack.

For the ledge grad, I created one a another project but wasn't happy about it, But if I remember right, I created an scene with all the ledge tile and added a area 2D on it. When the player collide with, I checked is current state (like in air or falling) and make it switch the the ledge crab state. Here a pretty easefull script (I took it for tetraforce, but he doesn't use it anymore so here a link from one of my project https://github.com/Levrault/godot-maximilien-adventure/blob/d44f80256bb92bde325ff4d91e67c8cbc0d1f092/factories/Factory.gd) that could help you add you new "ledge" scene without placing them by add but by keeping it in your tilemap.

I hope it help you.

The main character is flying forever when you jump!

Also, very beautiful and amazing game! Congrats!

it's seems that physic broke on certain linux version. Can you tell what is your hardware and if it happen everytime you'r jumping ? I didn't have time to check the issue but I will try to fix it if I can reproduce it :P

(1 edit)

I'm using Windows 10 (1803).

I can't tell if it happens everytime because once you jump the character flies out and you can't jump again... It seems like a simple boolean issue...

(+1)

Thanks, I was able to reproduce. I will fix it as soon has possible.

(+1)

I re-export the project on windows and the issue seems to be fix... maybe an export problem. I will do the same for the linux and mac version but I can't test them for the moment. Tell me if it's better now. Thanks.

It's fixed now... Very beautiful and amazing game! Congratulations!!!

I found another bug... It seems that an unnamed scene is trying to be loaded when you click on Retry after dying in the second stage

(+1)

Thanks you again for your feedbacks. I will made a fix in the next few days.

(1 edit)

Can we reach all Project Sources (codes)?

Yop juste right there https://github.com/Levrault/godot-2d-action-adventure-platformer-demo

Thanks!

I added the source code on the page, I think it will be more convenien

the jump and gravity on the linux version is broken.

Can you tell me which version of Linux did you use ? I test it on Linux Mint and pop is and everything looks fine. With more details I will be able to find a fix.

linux mint 19.1 Cinnamon.

Everything seems to work as intended on linux mint 18.2. I will try to create a virtual machine to test on 19.1. Can you tell me if you use the nvidia drivers, intel or amd ?

I think I fix the issue, it seems to been an export issue. I not able to test it on linux right now, but I think the jump physics will now work. Don't hesite to give me your feedback.