Project: Dungeon Explorer (codename)
Goal: Develop and release first game
Initial Commit: 7 Aug 2019
Dev Hours Since Last Devblog: 5.66
Total Dev Hours Spent: 9.78
Allocated Dev Hours: 160
At a Glance
Over the past week, I tried a more disciplined approach to my game dev, but I had mixed results. I spent almost 20 hours on my business, but only 5.66 of that was focused on game dev. On the plus side I woke up early every day last week and coded for an hour before I went to my day job, on the minus side I did not get much more than that accomplished. I can use this to help me this week.
Genre: Incremental Games
As I mentioned last week, my wife and I changed quests and started a new adventure to develop and release an idle/incremental game codenamed Dungeon Explorer. Incremental games come in many shapes and sizes and personally I’ve played at least 30 (well maybe 50…) different varieties. Some of my favorites included some interesting feature like a twist to a mechanic, an interesting story, or punny humor. I’m drawn to trying to find the optimal strategies. I say “trying to find” because even though it’s my favorite part it doesn’t always mean I’m good at it. 🙂
I roughed out a backstory for the game, it still needs lots of work, however, I like it. Eventually I will go back and replace the temporary names for Kingdom McGuffin and Legendary Goober. It has a definite end and still allows for future expansions.
WORK IN PROGRESS
The Kelrand Kingdom of McGuffin is on the brink of civil war. Internal tensions rise as self-proclaimed “civil-activist” Grimtok drafts ordinary citizens into militias to invade neighboring nations and steal their land and slaughter their people. High Sorceress Minuet, McGuffin’s Chief Protector, rallies support and interferes with Grimtok’s aggressive behavior. The two sides exist in a stalemate, neither gaining enough support to force the other to stand down. Something must change!
Minuet recently unearthed a map hinting at the location of The Legendary Goober, lost for thousands of years. The Legendary Goober would provide just the advantage she needs to stop Grimtok, unfortunately it was broken into twelve pieces and scattered throughout the world and the map only hints at the location of one of these pieces. She called you in, her best explorer, and charged you with seeking all the pieces and return them to her.
Can you reassemble The Legendary Goober and prevent a deadly civil war?
WORK IN PROGRESS
You, as the player, initially control a single adventurer who meets up with the Plains guide, Bryant Templeton, to search for the first piece of the Legendary Goober. Bryant’s character provides a variety of goals for the Plains quests. We have not started on the goals, however, they will be of the type “complete 50 combat encounters,” “disable 150 trap encounters,” or “generate 2,000,000 xp”. Each quest has twelve encounters of three different types: combat, traps, and puzzles. The different types allow for diversifying our improvements – skills, goals, research, etc. There are no current plans on creating real puzzles. You won’t find the Goober piece right away, instead you will have to keep completing Plains quests to build up a chance to find it. Each time you complete a quest you get the following rewards: a chance to find the Goober piece for this location, experience points, resources, and a map fragment leading to the next region.
The twelve Goober pieces are hidden in twelve different regions: Plains, Rivers, Swamps, Lakes, Forests, Hills, Caves, Mountains, Mines, Cliffs, Burial Mounds, and Dungeons. Each region has a different guide with a mixture of goals specific to that region.
For every quest you complete your adventuring party (eventually you can have more than one adventurer) gets experience points. You can convert these experience points into skill points, then use them to buy skills for your adventurers. We have not started working on the skills, however, they will be of the type “gain 15 experience a second,” “encounter 2 costs 10% less to complete,” or “trap encounters earn 20% more xp.” The skills stay with the adventurer and if the adventurer moves to a new region those skills now apply to the new region.
Each region also provides a specific type of resource: deer, medicinal herbs, mushrooms, fish, wood, copper, gems, silver, coal, iron, jewelry, and treasure chests. These resources allow you to purchase research improvements that affect the entire region. We have not started working on our research tree, however, they will be of the same type as the adventurer skills. This allows you to improve the region as a whole without having to move adventurers in to achieve specific improvements.
Finally, you get a map fragment, specifically 1/6 of a map, once you collect all 6 pieces you gain access to quests in the next higher region. Completing quests is the prestige mechanic of the game enabling all the rest of the gameplay optimizations. This is not a traditional prestige as the whole game doesn’t reset, instead only quest resets and a new one is generated or two new ones when you acquire the 6th map fragment.
This past week, I code the listed items. I described the interesting ones below.
- created abstract class Quest;
- created class PlainsQuest;
- created class ForestQuest;
- created class Encounter;
- created enum EncounterType;
- created static class NameGenerator;
- refactored base income and cost into Quest class, used tuples for the first time.
I created the Quest class as abstract to contain all the basic info about the quests and then derive a specific class for each of the twelve regions. If you’re wondering why I created Forest out of order it’s because it used to be the first region not the fifth.
I created a static class NameGenerator that will, uh, generate names (allow myself to introduce myself). I plan to code a variety parameters so that the quests and adventurers have interesting but random names.
Until this past week I had yet to find a reason to use a tuple and really I didn’t need to use it here, but I could so I did. 🙂
Keep on Questing
I made progress every day last week, and for five days I made coding progress. During this week I plan to finish the Quest area so that in my next update I can show off the starting, running, and completing of a quest. So my weekly quest is to complete my Quest. I feel like Austin has invaded my brain. 🙂
Make progress every day!