Log In  


Cart #topdownengine-3 | 2024-09-01 | Embed ▽ | No License
16

Top Down Engine 0.5

This is version 0.5 of my TopDownEngine, so please still consider it prerelease!

Videos explaining the engine

Quickstart guide

What does this do?

This project aims to:

  • support single and multiple players at the same time
  • provide a window system to render these players
  • include saving and loading
  • include a map animation function
  • provide a system to work with multiple maps
    using a "doors"-table
  • include functions for basic code-side inventory
    management with item checking, giving and taking
  • provide an easy to use text system
  • include the framework for interactables
  • include basic enemy system with animations and states
  • include basic ranged weapon system
  • include basic pickups
  • include basic interactables
  • include basic particle system with premade efx(xplode, blood, smoke)
  • include a tileset (https://opengameart.org/content/classic-rpg-tileset) to get you started.
    Thank you jestan! The tileset was recolored and some tiles were dropped. Some
    other tiles were NOT part of the original tileset and were added later.
    Read the full license terms here: https://creativecommons.org/licenses/by/4.0/
  • include map scanning to spawn anything you'd like
  • map pooling to affect every player and enemy in the same way and boost perfomance
  • different camera modes(free and smart chunkbased)
  • & much more!

It includes a documentation.txt in the project files, do let know what you think.
I plan on making videos to explain the project a little better and get you started, but
please have fun with this and report any bugs you might find!

Updates

27.08. minor bugfix
01.09. v0.6
-fixed the map interactables inclusion
-added the conditalk interactable for easy quests
-added the "amount" and "change_to_tile" option for chests
-unified the interactables so they all take their content as a table argument
-added optional lootdropping for slain enemies

16


This is absolutely awesome. I'd love to see some videos on how to create a simple RPG with it!


A big heartfelt thank you for sharing this ❤️‍🔥 May it kickstart plenty of adventures, including my own! 🏰


Thank you for uploading this. It's exactly what I need at the moment! And you've done soooo much groundwork! Are you happy with us using this for projects? I would be using my own tilesets.


Thank you so much, that is very encouraging to read.
Please share whatever you come up with here, and also share any shortcomings etc. so I can keep improving this project.
@glitchpopo Yes, I invite everybody to try this project! I'll make a video about how to use your own tilesets soon, but you can probably figure it out by just trying, too :)


1

Awesome, thank you @taxicomics !Your code is well laid out and quite readable, also some great function names and funny comments - fun. Massive effort. How do I find the documentation.txt please?


Thank you, I'm happy that it is readable! There is still some cleaning up to do,but I'm happy that one can find their way through that jungle of functions.
You can find documentation.txt in the base directory of the cart itself


1

Awesome! quick suggestion - in a top-down game it can help the player to add a little bump to help them navigate around objects. So, for example, if I'm going down and there is a gap and I don't quite fit my sprite in the gap fully, you can shift the player a few pixels to let them slip through the gap while they are holding down.

You can see this behaviour in top-down Zelda games, they never let the player bump to a stop against a gap if they missed it by a few pixels.


Thanks for the idea! I'll put it on my maybe-list. I see how it would improve the game feel :)

I also added the first video to the original post, a quick start guide :)


Oh, wow. This is super cool.
My only criticism is that enemies should be knocked back when hit. Stops them from ganging up on you.
Also, I know that the tileset is converted but I'm getting serious Master System vibes.


I agree with you.



[Please log in to post a comment]