It seems that as the nights draw in for the winter months, I find myself with that terrible desire to start writing a game again. After the disaster that was Project Herschel, I've been very wary about starting again. But in a dark Scottish winter, cold and wet, there's little incentive to go outside and I do need a project.
I'm not sure where the idea for The Alchemist came from - as always, it started with wanting to do something with the topic of "research & development". I sat with a pad of paper and tried to think of ideas, looking for something where research would be a core mechanic, and I found myself thinking back to a game called Big Pharma, a puzzle-type game in which you have to combine various ingredients, process them in machines, and produce drugs to sell. In Big Pharma, a plant ingredient would have a known effect - like an antibiotic, or something to ease digestion - but the strength of that effect, and its possible side-effects, wouldn't be known without some research and processing.
I certainly didn't want to replicate Big Pharma, either its modern-day setting or its machine-combining puzzle mechanics, but I did like the idea of gathering ingredients with unknown medical effects, researching and processing them, and selling cures and potions from your work.
Potions... this took me to a faux-medieval setting, to an RPG-style game (I've been watching a playthrough of Stardew Valley on YouTube), and to my new game idea, The Alchemist. From the game description:
You are a herbalist, grinding plants for simple lotions and potions, but with ambitions to become a powerful alchemist. Grow your business by selling healing, mana and other potions to the wandering NPCs, fulfill quests for Knights or even the King and Queen, and go on expeditions to find new ingredients with seemingly magical properties.
Refine and research these herbs and minerals - you won't know what they can do without some trial and error! - to create ever more potent potions. Perhaps one day you will learn the secret of transmuting Lead into Gold, and becoming the true Master Alchemist? But what cost will your research and experiments burden your once-peaceful village with? Will your search for alchemy lead you down a path of cruelty and desperate acts, or can you use your skills for the greater good of the Kingdom?
Quite how much of that I will deliver, only time will tell.
I'm feeling better about this game than I did with Herschel - I've got a much clearer idea in my head of what the game will be. There are some things I still need to work out, and an early description of the game was "medieval animal testing simulator 2022", which I absolutely want to avoid! I make no promises of the game being fun, or good to look at, but if it ends up being a medieval-themed Stardew Valley knock-off, then that's still going to be quite an achievement for me.
Game Engine
I've decided to commit to KorGE. There's so much of the development lifecycle of KorGE that I like, though I do have concerns about the lack of documentation, the small community behind KorGE, and no clear roadmap. The alternative was of course LibGDX, but I couldn't face fighting the scene2d UI layout approach again.
KorGE provides a lot of utilities which allowed me to get started very quickly. I took a sample project, including its graphics, and had a player character moving around and interacting fairly quickly. Next I bought some artwork from itch.io so I had something a little more engaging to look at. I still desperately need a new character sprite set; a pity I can't draw for toffee.
Since then I've been working on some of the basic mechanics like planting and harvesting crops, navigating between maps, an inventory and toolbar. I've also got a second repository of experiments to test some features and ideas.
I do have some challenges in KorGE which I haven't found solutions to. I'll write about them in detail in later blog posts, but for now some concerns are:
- No z-ordering - the "painters algorithm" used by Korge makes it hard to draw "on top" of the entire scene, regardless of a view's position in the code. This means that Tooltips aren't "on top".
- Drag-and-drop is hard to understand; it's easy to make something draggable, but there's no guidance on how to use it properly. And with the painters algorithm above, I've found that picking a sprite up and dragging it can place it behind other items in the scene as they are drawn later. Not ideal.
- Text handling is limited and the documentation is obsolete. I've had to write my own text renderers to handle multiple text colours, for instance. I'm not happy with my solution so it's not integrated into The Alchemist yet.
I've made more progress with The Alchemist than I ever did with Project Herschel. I'm sure I've bitten off more than I can chew, but for now, I'm having fun.