Saturday, May 21, 2016
Monsters, Programming, and Epiphanies
As a crafting heavy game I've spent hundreds of hours thinking of, taking notes, and testing ideas about how to make crafting more controllable. One thing that I knew I wanted to improve on from the beginning, though I didn't figure out how until this week, was a problem made very clear in The Elder Scrolls V: Skyrim. I love the Elder Scrolls series and of course enjoyed crafting my own gear in Skyrim, however, with limited resources and a little testing it quickly becomes clear that repeatedly crafting daggers is the best way to level up smithing.
Now, we're not trying to make a "realistic" game, this isn't a simulator, but crafting 300 level 1 daggers to become a master smith just seems silly. But how do you do better? Game development is not easy. I tried requiring five different items crafted per level. I tried requiring different categories within a profession to be leveled up individually. I tried many things. But ultimately it comes down to how much metal did you bend. If a 3 metal dagger gives 3 exp, why not make a 6 metal sword give 6 exp. We also have tiers of metal, and other factors, but I'm finding this to be a -now- obvious system, though it took a long time to stumble across.
Speaking of crafting, I rewrote all of the crafting code this week into a much more compact system, in some cases reducing over a thousand lines of code into roughly one hundred. How? I'm now using what are known as machines in the code. Rather than "hard coding" the stats for a Sword, a Longsword, and a Shortsword each individually, several variables are input and the machines outputs what is needed. The greatest part of this method is that a new item can be added into the game with one a few lines of code. I hope that this eventually leads to opening the door to community created items by the dozens.
Monsters are in and working well. Spawning with different, skills, stats, and colors based on their biome. They're not the brightest when it comes to pathfinding, but pathfinding in a procedural world is never easy. If anyone is a genius in that field please let me know ;p
The UI has improved a lot. I hope to get more tooltips in over the next week to show information when requested rather than filling the screen up with levels and stats.
My wife and I are buying a house! So I've been pretty busy. And Terrain Composer 2 has been delayed, so I'm not currently working on level graphics. I hope to have more flashy graphics to show off soon =]