Despite the lack of posts, I have not been idle…
After a lot of testing, I’m satisfied with my battlemap generator. I’ve populated the data table with some entries that are undefined (graphics sets in later parts of the game) but all the core graphic work is done. I still have other portions of the encounter engine to test, but I can do that in live running rather than in a test program.
The next step? Running the full game and getting into a fight. Then putting a breakpoint in the debugger to try and figure out where it crashed and why. Repeat repeat repeat… 🙂
Playing World of Warcraft, while a bit of a time-consumer, is also useful for thinking about game mechanics. A bit of a side bar on that…
Since I haven’t played since the Pandaria expansion, I’m enjoying a lot of the new ideas they’ve introduced, like garrison campaigns. The stat/level squishing that occurred shortly after Pandaria and more recently before Battle for Azeroth also helped to make the game stats less crazy; before your hit points were up in the 500k range! They actually ran into integer overflow problems with raid bosses; because the base code was still using 32-bit integers and the raid bosses hit points were set high enough to exceed the max positive. I’m noticing though in Azeroth that item levels and stat bonuses are getting out of control again…
I was worried about the level scaling at first, but it works pretty well. You can now do either Northrend or the Outlands from 60-80, and Pandaria or Cataclysm areas from 80-90. I’m certain they’ll be doing something similar for Draenor and Legion soon so you can play either area from 90-110, there’s more than enough content to do it and stick to one. Funny how Draenor suffers the same issues that Burning Crusade did; it’s a bit of a “side trek” to visit and players get bored and resentful having to play through the content with their alts. Legion content is VERY desirable to play through, as it’s the only way to unlock the new races to play.
However, I do NOT like the dungeons, and I haven’t for awhile. The original classic game tried to introduce some interesting story points and offered very non-linear designs. Modern dungeons (pretty much since the first expansion) are extremely linear and dull. Contrast the original Blackrock Depths instance, with a colorful and huge dwarven city, to the dull linear design of Grim Batol and you can see the difference. My favorite thing is to out-level the dungeons so I can go in and just solo them if I need to. Otherwise, I have to just run the dungeons with a bunch of strangers using the finder who are ONLY interested in clearing it as quick as possible and getting gear.
Anyway, back to my CRPG…
I originally had my experience levels going up exponentially; I decided to relax that a bit and try and make it less step at the higher levels. Time and play-testing will also help adjust these values.
The most important often-overlooked aspect of CRPG design is pacing. You want to make sure your world is not just large but also rich in content. You want to avoid the following:
- Having a big map that has only one town and a bunch of monsters, nothing interesting to explore in various corners
- Your characters have the most powerful weapons in the game before the halfway mark
- You’ve reached maximum level long before the endgame
- Towns that are simply repeats of other towns offering basic services
- Completing quests changes nothing other than your party; the game world seems unaffected, peasants still complain about the evil thing you defeated, etc.
I’ve no doubt that my present material for the game will go through some serious revisions as I go along. I’ve already noticed places where I’ve repeated myself a bit, and I want to make sure I make everything fresh and interesting.
“Having a big map that has only one town and a bunch of monsters, nothing interesting to explore in various corners”
Creating content for a CRPG can be a challenging task at times, but it is rewarding.
“Your characters have the most powerful weapons in the game before the halfway mark”
That problem can easily be solved by putting in a few rust monsters, green slimes or evil hobbits that destroy or steal your items 🙂
“You’ve reached maximum level long before the endgame”
You can have no level limits or failing that, introduce concepts such as aging that set a limited lifespan for party members. Also having vampires and liches drain levels can also make the game more interesting 🙂
“Towns that are simply repeats of other towns offering basic services”
The thing about making 8-bit games is that you’re going to have to find a way to be able to put ideas that can be programmed. But by having cities have different maps and introducing dialogue trees it will give the illusion of a world that has quite a bit of variety.
“Completing quests changes nothing other than your party; the game world seems unaffected, peasants still complain about the evil thing you defeated, etc.”
That’s a very challenging part. Some RPGs avoided this issue by having the game end immediately after the final villain is beaten.
“Creating content for a CRPG can be a challenging task at times, but it is rewarding.”
Indeed, the main thing is that you want to reward exploration. If you have a large empty waste of space with nothing worth finding over and over, the player eventually won’t even bother looking.
“That problem can easily be solved by putting in a few rust monsters, green slimes or evil hobbits that destroy or steal your items 🙂”
Not possible in my current engine design. 🙂 The point is that you want to make it so it’s not possible to GET the best items until later in the game. That’s the pacing design part.
“You can have no level limits or failing that, introduce concepts such as aging that set a limited lifespan for party members. Also having vampires and liches drain levels can also make the game more interesting 🙂”
No level limits is possible but generally leaving your mechanics open is a bad idea. (A player may eventually break your game by exceeding integer maximums for example.) Level drain is something I’ve always despised as a mechanic; players spend hours playing your game and you take away all their advancement?
“The thing about making 8-bit games is that you’re going to have to find a way to be able to put ideas that can be programmed. But by having cities have different maps and introducing dialogue trees it will give the illusion of a world that has quite a bit of variety.”
Absolutely true! The worst offender in this area I’ve seen is Ultima I, where the towns are literally only unique in their name; otherwise several use the same map and everything.
“That’s a very challenging part. Some RPGs avoided this issue by having the game end immediately after the final villain is beaten.”
Yes, “Contextual awareness” in your NPC’s and your game engine is always a challenge to say the least! I’ve built for that in mine but it still requires a little hands-on design to make certain of it.
“No level limits is possible but generally leaving your mechanics open is a bad idea. (A player may eventually break your game by exceeding integer maximums for example.) ”
For my own game, I think I set a level limit of 85 to avoid similar problems. But by the time you reach level 50 or so, you need so much experience that you have to spend countless hours of grinding to advance to the higher levels. Finding the right game balance can be done with playtesting and finetuning experience points and level advancement.
“Level drain is something I’ve always despised as a mechanic; players spend hours playing your game and you take away all their advancement?”
Well, I don’t like it when I lose a level that way, but as a game designer, I get quite a kick knowing that people will feel despair when they get drained after they encounter vampires, ghouls and liches 🙂
“Not possible in my current engine design. 🙂 The point is that you want to make it so it’s not possible to GET the best items until later in the game. That’s the pacing design part.”
But losing a rare item like an Excalibur Sword because of a gelatinous cube is far more heartbreaking than having a level drained because at least with the latter, you can always regain your level with grinding. You can only find the Excalibur after beating a specific boss monster or by freak chance after defeating very high level monsters in a random encounter.
I think as 8 bit RPG designers, we put in those things that we want to be emphasized–we’re dealing with very real and practical limits. Retronauts recently had interviews with the creators of Wizardry and Bard’s Tale on their podcast, and it was quite interesting to hear these discussions regarding game design on limited systems from the 1980s. You can either emphasize story/world concepts or gameplay mechanics. It’s very hard to achieve both and you have to decide what you want to have.
I think part of it is as a designer, you want to make sure your rules set holds up. So if a level cap makes sense to make it easy for you to predict certain statistical changes, you should definitely have one. You just need to make certain the leveling doesn’t end up too tedious. For example, Ultima’s IV to VI have levels 1-8, each of which requires double the experience of the prior level. This creates a system in which you level pretty fast to around level 5, then slow WAY down, to the point that most players who win the game never actually reach the max level.
The problem with level draining is this: unless your leveling system is VERY simple (like, every level adds a fixed expected amount to given attributes), reversing it in mid-combat is difficult. It requires dynamic variables for everything, a lot of on the fly calculations. And you have to ask yourself if it’s worth it to do all that work for a feature that is just going to anger and frustrate the player.
The same issue exists for equipment; items damaged, destroyed, or stolen is a huge pain in the neck to implement. And again, something difficult to do dynamically in combat.
I think of myself as a game designer, not just 8-bit in this area. 🙂 I want the game to be enjoyable not just for the era it’s roughly aimed for (late 80’s/early 90’s I think) but also for a modern gamer.
Maybe I’m overly-ambitious on that point… But one of the aspects of the CRPG Addict’s review system (the GIMLET) is that he measures games not from the perspective of how good they were THEN, but also how good they are now. As a result, many games from the early era have what appears to be very low scores (Ultima V is at the top with 69 out of 100) but are in fact indicative of how “playable” a game is to a modern audience. He’s had a few older designers get offended by the “low” rankings their games got as a result.
“And you have to ask yourself if it’s worth it to do all that work for a feature that is just going to anger and frustrate the player.”
I’m a bit of a purist at heart. Level draining was part of the D&D rulebook and therefore I feel an obligation to implement it. And putting in level draining and item destruction wasn’t all that difficult for my own game–the really hard part was the NPC/Summoned Monster/Controlled monster game mechanic. I questioned myself about the necessity of such, but I like the idea that every player character in the party can have a personal ally. Wizards can cast a “Find Familiar” spell and then get a black cat or pseudodragon as an ally (just like the AD&D 1st edition Player’s Handbook allows). The Lord class can subdue a dragon and control it. Courtesans can seduce a humanoid to make it do her bidding. Druids can persuade animals during encounters to join them. And you can ask an NPC in a city to join a player as well. Off course, it is also heartbreaking when an ally dies. The game giveth, and the game taketh away.
Not an admonishment against those RPG game designers who don’t put in things like that. Again, it all comes down to what you really want to do: rules VS story (or whatever else you want to put in). Where my game is a simulation of the D&D rulebook, it probably is somewhat minimalistic when it comes to dialogue and story elements (though Realms V really is a leap forward compared to it’s predecessors when it comes to that). I’ve abstracted the story aspect while trying to put in as many RPG rulebook features as possible. It’s not quite as good as middle period Ultima in that regard, but I’d say it has more dialogue features than the Gold Box games.
“I want the game to be enjoyable not just for the era it’s roughly aimed for (late 80’s/early 90’s I think) but also for a modern gamer.”
One of the things that I put in my own game was support for the direction keys and the ESC key on a PC keyboard when the game is played on an emulator. I will also have an emulator-friendly version of the game that has no swapping of disk images–it can be played with the files saved directly to a Windows directory. I’m also putting in a Quick Start menu option at the start so that those who are casual players (or game reviewers) can easily jump into the swing of things without spending quite a bit of time creating an entire party from scratch.
I had thought of putting in an automap feature, but I’m using up so much of the VIC-20’s resources that I decided to abandon that idea.
I recall a Twitch livestreaming gamer was showcasing Realms Of Quest IV–and seeing his frustration as he found a lot of loot by surviving dangerous encounters in the dungeon only to be ambushed bymonsters while being a few steps away from reaching the stairs that go up to the castle to escape. He said something along the lines of “This game is just as hard to play as the early Wizardry games!” I took that as a compliment 🙂
As for the GIMLET, I do find the scores quite harsh at times. But do agree with most of the CRPGAddict’s assessments when he calls certain games unplayable.
Yeah, summoned creatures was a pain in my engine as well… I finally came across a mechanic that worked; they are “new” monsters added to the field that are charmed so they are player allies. That means given time (or if the right spell hits them), the charm will wear off and they’ll turn on the players.
As far as game mechanics, that’s where our design aspirations differ. 🙂 I’ve played D&D derivative games on old and new platforms both, and I’m keen to design my own. I’ve never liked the “old school” mechanics with “save or die”, “lose a level”, or similar. Most of those were introduced by Gygax at his table because his early players were horrific game munchkins who exploited every possible loophole they could find.
I don’t see it as a “rules verses story” thing per se. I think the older platforms can handle both (so long as there is memory, that is), the difference is the tool sets we have to work with. It’s a lot easier with modern PC’s to do your compiling for you, store spreadsheets, even tools to generate your file content. If I wasn’t able to click a button to instantly regenerate ALL my game text, NPC’s and content logic, it would be tough to design anything organically.
I won’t dispute though that if I didn’t have my 1MB expansion card, the game would run terrible if I had to store everything on disk and load it on demand. Then you’d have to resort to things like “story in a book, read this line” mechanics to make the game playable.
Don’t let any of my comments lead you to think I have a negative opinion of Realms of Quest… Far from it! Heck, you’ve turned out FOUR of them, I’ve yet to get one done. 🙂
Hey, I think your site might be having browser compatibility issues. When I look at your blog in Ie, it looks fine but when opening in Internet Explorer, it has some overlapping. I just wanted to give you a quick heads up! Other then that, fantastic blog!
Internet Explorer, what version are you using? I checked it in Edge just now and it seems all right.