GC in a cave!
Goblinson Crusoe hex-based rpg Urho3d
Goblinson Crusoe in a cave!
The Urho3D Lua script system is basically finished, so I have been finding the time to dust off GC and start converting all the various components over.
In the beginning, way back when, GC started as just a simple little procedural island demo. I added a goblin on a raft, and the rest was history. Along the way, I built a Lua-based framework for object composition (which I detailed somewhat in one or two journal posts). With the completion of the Lua script subsystem of Urho3D, however, that system is being replaced in favor of Urho's own in-built component framework. In Urho3D, Components (such as StaticModel, AnimatedModel, AnimationController, etc...) are added to scene Nodes, in much the same way that components were added to object containers in my old system. Events are passed among objects using a similar message-passing scheme. So, really, not a whole lot needs to change about the vast majority of the components, outside of simple syntax and semantics. The conversion should be fairly straightforward, and in the process I can probably fix some things.
The Lua scripting system adds the ability to add a LuaScriptInstance component to a node, which encapsulates a Lua 'class' object that contains various function hooks that are called by the component at appropriate times: on startup, when events are received to which the script object is subscribed, and so forth. This makes it possible to seamlessly mix C++-based components with scripted components that provide logic outside what comes with Urho. Heck, given that script subsystems are provided for both Lua and AngelScript, it is entirely possible to write some script components in AngelScript and some in Lua, and mix them in with some C++ ones. It's a pretty flexible system. (Though why you would want to do this, I couldn't say.) I could easily see the creation of a sort of "component library" (such as what I understand Unity can provide).
At any rate, while there have been a few bugs fixed along the way (and AgentC and the others have been extremely helpful and diligent about fixing them in a timely manner) the Lua system is finished enough that I have started work again.
During my brief hiatus from GC, aside from such minor and non-life-altering events as buying a new house and having another kid, I also managed to play one or two games. One game that really seized upon my brain for a couple days was Candy box!. It's a web-toy, text-based thingy at the heart of which stands a simple counter of candies in your possession, beginning at 1 candy/second. As candies accumulate, you can use them to purchase various items from a candy merchant. Other currencies such as lollipops eventually make an appearance. Much of the game involves upgrading your currency production rates in order to buy the vastly more expensive upgrades in the late game. In between currency management and shopping are quests. These are linear little left-to-right marches through various themed levels. User interaction is fairly minimal for the most part during these quests. You can use potions and scrolls, if they are in your possession, and in later levels you can do some simple up/down movement to dodge enemies, but for the most part the quests are equipment-limited. You need a better sword and better armor, in order to kill more quickly and absorb more damage, to pass some of the middle levels. So in that part of the game, it is crucial to maximize your candy and lollipop production in order to be able to afford the necessary upgrades.
Candy box! was kind of a fun diversion, and an interesting little toy to play with. Another game/toy I played for a brief time was Cookie Clicker, which was based on much the same premise of resource accumulation over time, though without the exploration and questing. This one is a pure resource production game, where the whole point is to maximize the rate at which you obtain cookies. There are achievements to unlock, and all sorts of upgrades to purchase; there is a running narrative involving grannies merging into an Elder Gods-like hivemind of rage and cookie dough. There is a randomized news feed of headlines that are quite humorous, if very repetitive after awhile. But the heart of the game is cookie production, and the use/exploitation of grannies, farms, space portals and even time machines all in the name of maximizing cookie profits.
While the real-time accumulation of resources isn't a good fit for GC (being turn-based and all) it's still something that I would like to toy with at another time. I liked the idea of branches and possibilities unfolding in front of me as time goes by. I (vaguely) remember playing a couple of Facebook-based games, way back in the early days of Facebook before I locked and sealed myself away from FB games forever, that operated on the same principle; however, in those cynical cash-grabbing monsters, you could (and often were forced to) pay real money to purchase additional "currency" in the form of time, or energy points, or whatever was needed in order to continue playing the game. Such points would accumulate, gradually, and Real Money could accelerate your progress. I detested that aspect of things. I've always hated pay to win, so the idea never really impressed me. But these more recent little toys, non-exploitative that they are, won me over. I could have them running in a background tab as I went about my day, and then use the accumulated currency to purchase further upgrades whenever I had a free moment. It was a fun diversion.