May 23rd, 2016: Runestar devlog 23/5/16: combat and equipment revamp
Posted by Gravecat at 7:29 pm under Game Dev, Runestar. Comment?

Game version: 0.21.3a (pre-alpha)
Lines of C++ code: 9,328 (+36)
Lines of JSON data: 3413 (+34)

Another relatively short update, but a fairly significant one today!

While I’m largely very happy with the direction that the project is heading, especially with plans put in place for player-controlled vehicles and mechs, there was one thing that was consistently bothering me: the equipment system. The combat engine is based largely on (character) skill levels, but also influenced significantly by equipment, and the system I had in place up until this point was… in a nutshell, too granular. I had no less than 100 separate tiers of weapons, and not only did the combat system rely more heavily on gear over skill (especially for ranged weapons, which can’t be parried), but it was also far too much of a headache to deal with such an absurd range of potential gear.

Something had to change, and that came in the form of a combat revamp of sorts — the new system is a lot more linear than exponential growth, equipment tiers are narrowed down from 100 to 20, and character skill makes a huge difference in combat, to the extent that with maxed-out combat skills, you could be dealing up to 11 times more damage with the same weapon than a complete novice. After a fair amount of tinkering and testing, I’m happy to report that I’m extremely pleased with this new system, and it fits my vision for the game far better than the original ever did.

In addition, I’ve finally implemented the feature that grants bonus critical strike chance when using a one-handed weapon with an empty off-hand, meaning that now all styles of combat (one-handed, dual-wielding, two-handed) are equally viable — as it always should have been; I prefer the use of weapons to come down to player style and preference, not a clear-cut case of X is objectively better than Y. I’ll also be implementing ammunition and weapon jams to ranged weapons in the near future, along with backfires from overcharged weapons such as plasma rifles, which should help narrow the gap between melee and ranged weaponry in terms of overall usefulness.

Here’s a couple of screenshots of the new combat engine in action. More to come soon; there’s some more boilerplate to work on, but I’d like to get the vehicle code implemented sometime very soon!


May 19th, 2016: Runestar devlog 18/5/16: bugfixes and performance updates
Posted by Gravecat at 2:34 am under Game Dev, Runestar. Comment?

Game version: 0.20.16l (pre-alpha)
Lines of C++ code: 9,292 (+179)
Lines of JSON data: 3,379 (+1,375)

A relatively short update this time, mostly since I’ve not posted anything much about the project for almost two weeks, and I don’t want people to think that’s already dead. In a nutshell, life’s been pretty busy lately and I haven’t had a huge amount of time to work on the project, but what I have been doing is largely behind-the-scenes work.

So what’s changed since my last update? Plenty… that isn’t very interesting to talk about. There’s been a whole bunch of bug-fixin’ (including a few minor memory leaks and a buffer overflow that had been in the code for months or longer), more stability for the Linux build, improvements to the built-in error-handling subsystem, a whole bunch of improvements to the JSON data files bringing the city up to speed with the new time and weather system, and a small tweak that ended up improving the rendering speed by approximately 16%.

It’s not quite ready for a public demo yet, as there’s a lot of core systems that I really need to work on and fix up before I’m happy letting people poke at it, but the project is coming along very nicely and now that I have the city update out of the way — a frankly tedious endeavour which had to be done, but took far longer than I’d anticipated — I can go back to focusing on adding more fun mechanics and interesting things. Stay tuned for more updates!


May 7th, 2016: Runestar devlog 7/5/16: current state of affairs
Posted by Gravecat at 7:36 pm under Game Dev, Runestar. Comment?

Game version: 0.20.10d (pre-alpha)
Lines of C++ code: 9,113
Lines of JSON data: 2,004

Rather than try to summarize every change that’s happened so far, I’m going to go over the current list of features in the game, before I cover the last few days’ development.

Runestar is what I’d describe as a single-player MUD, though some elements of the gameplay will derive from the more familiar roguelike genre. Fortunately for me, a lot of the base and frankly boring parts of development are out of the way — a rather chunky, custom system for handling graphics on top of SDL with pseudo-ASCII graphical tiles (my system allows me to treat them more like text than individual sprites), basic framework for rooms, movement, items, inventories (including NPCs inventories and item weight), roaming NPCs and monsters (known in MUDs as mobiles, or mobs for short), a very basic equipment system that currently only supports using weapons, a core combat framework which works well enough but will be fleshed out a great deal later, and an XP/skill system which allows the player (and NPCs!) to improve in skill by, well, using skills. The user interface itself allows the player to type commands, along with keys to scroll through the history window, recall the last command entered, and more.

A good start, overall. But the last few days of development have improved things greatly, adding a lot more features: the drop-down HUD (can be toggled with the tab key) containing an automapper, character stats (currently: mind and armour are not implemented), a little box of possible status effects (more on this below) and a weather and time indicator. That’s right, I’ve brought the venerable old weather and time code over from my previous project and polished it up, allowing both the weather and time of day to affect the temperature of the area and the odds of the player character getting drenched or drying off.

I’ve also added hunger/thirst (as well as edible food objects and water containers that can be quaffed), hypothermia when the player is far too cold for too long, fixed the code a little so that it compiles happily on Linux, fixed the death system which was previously not working properly at all, started work on improving the NPCs to be less generic and more like individual named characters, and finally the biggest improvement of all — sound! The title screen has a funky chiptune, combat now has a variety of sounds depending on the weapons and the NPCs/enemies involved, doors creak open and closed, thunder and rain are now audible, and… well, you get the idea.

Progress is good, and I’m very excited about how this project is going to turn out! 🙂


Page 4 of 512345