I think I’m going to keep a devlog of a simple tile-based RPG that I’m working on. Although it’s not a huge undertaking, progress is and will be slow, since it’s just a spare-time project worked on a few hours a week in order to learn a little bit of modern C++. The original prototype was actually written in QB64 Phoenix Edition, a somewhat-modernized variant of the QuickBasic language. Here is a video of that early prototype in action:
I have rewritten it in C, and have been adding additional features in hopes of eventually turning it into a complete game. The tiles are based on a set from Lanea Zimmerman, username “Sharm” on OpenClipArt.Org. The melee scenes—which now have a nicer background than seen on the video—are based on AI slop with some editing. I’m not proud of that, but that’s the current situation.
The game is currently being written on an old Lenovo Thinkpad purchased for $150 and running FreeBSD. I have gotten tired of plain text editors and command lines, and, remembering the nice programming environments from the days of QuickC and Turbo C++, I have opted to work in the CLion IDE and enjoy letting a program handle most of the housekeeping tasks, provide easy refactoring and debugging, and generally keeping things easy. It’s nice having nothing to prove through programming asceticism. Graphics are edited on a MacBook Pro. The maps, for now, are put together with a simple map editor written in QB64 Phoenix, and the sound effects are recorded from sounds generated in QB64 Phoenix. The sound effects are simple and could be generated directly in C++, but QB64’s sound statement is almost like working with an old Yamaha sound chip, allowing me to set tone, duration, effects, and noise, which is easier than generating the waveform directly.
The current state of the program is that the player can wander around the world and fight a couple of enemies (the serpent and gigarat seen in the video, with more designed and about to be added), level up, and switch maps (i.e., enter and exit a town). I’m currently working on setting up NPCs and dialog, after which I expect to upload the work-in-progress to Github. Items and quests are in the works together with NPCs and dialog, but I don’t know how complete they will be before the initial Github commit. Spells need to be implemented, but I’m not sure when that will happen. (I’m about to set up a Mage enemy, but it will be stuck on plain attacks for a while!) Saving and loading games will be added once all those things are working. The overworld map is also sort of sparse, and there’s only one unfinished town working so far, so there is still a long way to go before a reasonably complete RPG is ready to play.
I’ll put up screenshots and discuss the development process as things proceed. For now, here’s the general background story behind the game:
When the heavens and the underworld made a joint attack on the people of the earth, the six cities united under the leadership of Carathusia for defense. Narthenus, one of the greatest warriors of the Forest People, disapproved of his people’s decision to submit to Carathusia, and betrayed both his army and the joint army’s battle plans to the underworld. The traitor’s actions nearly brought an end to the world, but under the Carthusian general’s leadership, the six cities managed to save the mortal races.
The unified kingdom lasted for centuries, until four thousand years after the great war, when a cult calling themselves the Narthenians attempted to overthrow the kingdom and break up the rule of the people once again. Civil war lasted for many years until the cult was finally driven out, but not destroyed. The leader of the cult, Tarpeya, fled to the deserts in the north with her few remaining followers. Rumors from the desert city Erimea suggest that the cult has established camp in the western part of the desert.
Although Carathusia’s resources were nearly exhausted after the civil war, the king was troubled by the reported movements of the remaining Narthenians. Concerned that Tarpeya was up to something more than just hiding out, he summoned a young warrior who had distinguished himself in service during the civil war. The young hero was sent to investigate and advised to travel first to Adon, where the dungeon held a former adviser to Tarpeya who may know more about her activities.
The rest of the story will come out during the game. Please be aware that some of these posts will likely contain spoilers. I’ll try to note that at the top of posts, but I can’t promise I’ll be perfect…