Its been awhile since I found some inspiration and more importantly time/energy to do any creative side project. But recently found some inspiration to dive deeper into more traditional roguelikes and proc gen stuff. Starting this thread so I don’t give up on it :)
1. Some basic proc gen dungeon creation with different shaped rectangular rooms. Added a bit of stuff to the algo to help it not be fully sprawled out and lean towards a direction.
2. Connected rooms - This one took a bit more effort but pretty happy with it as a starting point. Settled on just one connection between 2 rooms with the restriction that all rooms are connected in some way. So no disconnected rooms!
3. Decided I would eventually need to find some kind of critical path eventually so added a layer to the algo after generation. This leans towards the furthest away room and then shortest paths backwards to the start room.
4. Finally some basic visibility and fog of war type stuff to add mystery and exploration. Rooms not visited are hidden and once the player passes them are dimmed out hiding any objects in them.
5. Some attempts at better hit feel but still keeping to the minimal aesthetic. Random wander ai in enemies feels too unpredictable. Gotta improve that next!
6. Had to brush up those cs algos but decided to go with a djikstra based flow map that is centered around the player. This way enemies don’t need to A* pathfind individually. Also need to figure out why Twitter is ruining my video compression sigh.
7. Got some enemy pathing to work now with the flow map. Couple tricks I added to make the enemies feel more swarmy: - if a cell was occupied by an enemy, choose a less optimal path cell instead of waiting - if 2 cells were equal, choose the closest line distance one to player
8. Dynamic ui spawning based on stats. Been using godot and was a bit of a learning curve of their ui system. Also snuck in a little death sprite :)
9. Couldn’t resist adding an item system to this. Consumables and permanent upgrades as a start.
10. Made some progress on an inventory and equipment system. Surprisingly enjoyed doing the ui in godot with their container system!
11. Wanted to make interesting passives and status effects. But this required a heavy refactor of a lot of the code. Finally got to a point where I have a simple scripting system to specify events and a timeline to execute that should hopefully help make this easier in the future
12. Struggled a bit with how far I want to take this project. Decided am going to do a set of in-depth articles on the implementation details for future devs as a backup if I don’t ship this. Anyways added a simple main menu to end my weekend dev. Back to kid wrangling haha
13. Basic encounter/item generator - This spaces out enemies in terms of difficulty and reward towards the end rooms for each path. The final room gets the best items but guarded by the hardest encounter. Ended up with a point system that each enemy/item tries to fill up.
14. Added multiple dungeons to a run. Also changed up the enemy/item gen algo to spread across a full run rather than just one dungeon. First time I actually had fun doing a run.
15. Added a simple leveling setup to the game. Every enemy creature gives you xp on kill based on its difficulty. Leveling up gives you a stat boost (vitality++, str++) and a full health refresh. Pretty basic but a good base to start adding more interesting things in the future.
16. Added a panel to select some basic class types to experience the dungeon differently. Probably lean in playstyles a bit more on each with maybe a passive in the future. Or another approach is how slay the spire works where every card (item/spell) changes per class.
17. In an attempt to stop players from just running past every encounter, introduced doors. Was a bit of a cop out to be honest on handling this problem but it had become a pretty common battle tested solution. Will need to revisit later since it does hinder speed runs.
18. Added obstacle walls to make the rooms feel less sparse and also reward players a bit more for how they position themselves. This with enemy line of sight can add a bit more depth to how they approach encounters.
19. Back after a break finishing ragnarok. Added a zoom while in combat, tweened movement, hit pause and camera shake to make fights feel juicier.
20. Experimenting with a different art style. Solves the messiness of health bars and damage numbers. Really enjoying Asesprite as my pixel art tool of choice. Wish I was a better artist though!
21. Improved the pathfinding a bit so the enemies always move around constantly trying to get into attackable ranges even when blocked. Sometimes takes the longer path but I like it since it gives players a benefit when this happens.
22. Been awhile since I got back to this project. Life got really busy with work/kids and recovering from a trip to NZ. But happy that I was able to get back to it. Ported it to Godot 4, rewrote a bunch of subsystems, some updates to art, have an ability system and classes now!
23. Improved the enemy AI framework a bit more. Test case: Skeletons now revive once on death.
24. My daughter has recently started getting into pixel art and really wanted to see something she made in the game. Helped her make this ghost enemy. Always makes me smile seeing it show up in runs now!
25. After a long hiatus in 2023 finally made some progress this winter break. Removed classes, more roguelike content/scaling/variance. Hope I get more time this year...youtu.be/__nIFAw8NME
26. Yet another long break, been busy working on something new at Riot/trying to be a good dad. Have made progress though, pivoted a bit more in the Roguelite direction. If you like Roguelikes/lites and would love to give it a spin, hit me up in the DMs...youtu.be/ICqY44WpKw4?si…
enjoying following this thread. curious what your dependencies are so far. you mentioned godot, so using GDNative for C++, or C# or GDScript? have you found any nifty packages to support you or been handmaking everything with engine primitives?
Only Godot for now. Might transfer some of the slower parts aka pathfinding/dungeon algo to gdnative/c++ in the future. Only use godot for the sprites and ui right now. Everything else is handmade since I wanted full control/easy to port anywhere else :)
United States Tendenze
- 1. Knesset 49.7K posts
- 2. Good Monday 27.4K posts
- 3. #MondayMotivation 9,286 posts
- 4. #GalxeID 7,991 posts
- 5. Columbus 43.6K posts
- 6. #njkopw 29.6K posts
- 7. StandX 2,161 posts
- 8. Cryptocurrencies 4,173 posts
- 9. All 20 62K posts
- 10. Branch 41.4K posts
- 11. #IndigenousPeoplesDay 1,134 posts
- 12. #hostages 3,979 posts
- 13. Rod Wave 2,064 posts
- 14. Red Cross 66.6K posts
- 15. Chiefs 116K posts
- 16. Use GiveRep N/A
- 17. Lions 92.6K posts
- 18. God Bless President Trump 16.7K posts
- 19. Eitan Mor 24.8K posts
- 20. Mahomes 36.4K posts
Something went wrong.
Something went wrong.