this post was submitted on 30 Mar 2024
17 points (100.0% liked)

Game Development

3539 readers
2 users here now

Welcome to the game development community! This is a place to talk about and post anything related to the field of game development.

Community Wiki

founded 2 years ago
MODERATORS
 

Share some progress, text or screenshots of some development on your game!

you are viewing a single comment's thread
view the rest of the comments
[–] Ategon@programming.dev 8 points 9 months ago

Ive been working on some game tools to let me make various games quicker without needing to do the same things in every game i make

Above you can see two of them ^ Ive got an achievement system implemented as well as a toolbar that lets you trigger things easily for testing purposes (e.g. giving the player a weapon, spawning an enemy, etc.)

Theres a data persisting system that will persist data in different scopes (e.g. room, level, run, game, permanent) that everything else uses. For example the achievement system looks at a certain category and a trigger (which is a key that the data in the persister is set under) so that whenever data is added to that trigger it sees if its higher than the amount needing to unlock the achievement (and if so unlocks it). The persister is decoupled from everything else by sending signals and then everything that wants to look at what data is set can (this would be the achievements, the unlock system, the dialogue system to see which dialogue is unlocked, etc.)

Main tools I have made:

  • palette swapping (allows for swapping the palette of the game so that things like each zone can have different colors)
  • unlocks (what weapons, enemies, etc. are unlocked)
  • toolbar (debug helping)
  • persister (persists data through a scope)
  • logger (logs information (separate so other components can show the logs e.g. the toolbar or a terminal)
  • leaderboard (keeps track of scores of players)
  • data (reads txt files from a data folder for usage in the rest of the game for separation of data and behaviours. e.g. you can define enemies each in their own txt file and have a generic enemy object that has its properties set based on the enemy it is. Makes it so you can easily add new stuff