Devlog 1: Out of the Frying Pan into the Fire
After a rocky few weeks of pre-production and a short (but much needed) break, the Dungeonologist team finally got started on the ✨production phase✨ of our game. We took on a new programmer, which boosted morale significantly (thanks Joel!), and began creating our production plan. This consisted of our Kanban board (we use Hacknplan, highly recommend), a comprehensive risk analysis, and a project roadmap spanning 12 weeks and 4 sprints.
A lot of our time during the first two weeks were spent tying up loose ends from our pre-production sprints, as well as refactoring some of our core scripts (namely the inventory) to allow us to easily extend them with features such as item stacks and tooltips. We also aimed to get most of the core features functional to at least a basic level so we could run our first play test in week 4. These core features were: the inventory, expeditions, alchemy lab, research tasks and enclosures. It turned out this was a pretty big task! A lot of the code from our first prototype was patched together with duct tape, making it hard for us to achieve the gameplay outlined in our design document. We were lucky to have an extra programmer onboard, but with our limited experience using Godot, it was still a challenging time for everyone. Oh yeah, I should probably mention: we decided it would be good idea to use Godot for this project, despite having absolutely no prior experience (there’s a first time for everything, right?) So… that may have caused a not-insignificant amount of issues. Despite the extra stress though, it has been a good learning experience for us all, and we’ve even come across some Godot features that we really like! One of these are custom resources.
A Bit About Custom Resources
In Godot’s documentation, resources are referred to as “data containers”, which is an apt description. When you import anything (images, sounds, fonts, models etc) they become resources. They can hold multiple values, references to other resources, and even functions. Once a resource is loaded, the engine caches it as long as you keep a reference to it, which can help with performance if you’re requesting the same resource a bunch. Of course, stuff like this isn’t exactly unique to Godot, but it’s really handy little features like this that help Godot compete with bigger game engines like Unity and Unreal. And the best part is that you can create your own custom resource classes, which is exactly what we did (in case that wasn’t obvious). Here’s how we did it:
We made a custom MonsterSpecies resource for each monster that holds data such as its name, diet, habitats, drop table (another custom resource), drop rates, care metre depletion rates, movement speed and more.
Unlike dictionaries and arrays, resources offer a much more organised way to keep track of data by having all of their properties and types predefined, and when you create or edit a resource, you can do it all in the inspector dock. They can also be saved and loaded to/from files, making it easier to implement a game saving feature in the future. Up until this point, we’d been using JSON files to store all our data, but we’ll be switching over to resources in the places it makes most sense from now on. If you’d like to learn more about using custom resources in Godot, check out this guide: Custom Resources are OP in Godot 4.
Next Steps
At the time of writing this, we’re preparing for our first play test (scary!) and ironing out some bugs before the big day. We’ve created a testing plan, along with a questionnaire for the testers. We considered using a Google form and asking the players to fill it out after their session, but we decided we’d like to try a more free-form approach. We’ve written down some questions we’d like answered during and/or after the playthrough, but we’ll also be watching them play and hopefully have time for an informal interview with each tester after their session. They’ll be free to comment on their experience as they see fit, and can use the questionnaire as a jumping off point if they need it. We’ll also be recording everything so we can take notes later. Wish us luck!
Get Dungeonologist
Dungeonologist
Discover Your Inner Dungeonologist in This Cozy, Creature-Filled Adventure!
Status | Prototype |
Authors | breakfasteater, Octopple |
Genre | Simulation |
Tags | 2D, creature-collector, Fantasy, Pixel Art, Virtual Pet |
Languages | English |
More posts
- Devlog 4: Post Mortem9 days ago
- Devlog 3: Usability vs. Vision - Lessons from Our Latest Playtest17 days ago
- Devlog 2: First Playtest - Lessons Learned51 days ago
Leave a comment
Log in with itch.io to leave a comment.