Well, after a move across the country, a job that started and ended, and other various and sundry, I'm back. And best of all, my demonstration game 10 Fantasy Fights is almost done!
Coming in the next few weeks:
The 10 Fantasy Fights website will go up.
I'll make a set of entries here for 10 Fantasy Fights bug reporting, gameplay discussion, and feedback.
10 Fantasy Fights v1 (Beta) will be released.
Although Blizzard has designed a, well, blizzard of great games, he mostly talked about WoW. While I'm much more interested in single-player RPGs, all of his points applied to some degree or other. The Blizzard philosophy, of presenting a really smooth gaming experience, really appeals to me. Even though my game might only need to be smooth and interesting for 20 hours, as opposed to WoW which people seemingly will play forever, it faces the same challenges.
Of course, he's talking about fiction, rather than computer games, but the thought applies to anyone writing a fantasy RPG. (If you're writing a non-fantasy RPG, sad to say, you may have some convincing to do to get anyone to play it). Interestingly, most RPGs seem to be Epic Fantasy in their scope and overall plot, but Sword And Sorcery in the details and side-quests.
Again, I found this series interesting from a game design perspective, moreso than from a game-playing perspective, as I've never actually played Dungeon Crawl. This entry was no different, describing various "play aids" for Dungeon Crawl. Dungeon Crawl includes such features as:
Auto-Explore - Your character will automatically explore the current level, stopping only when it detects some hazard like a monster or trap. Not only that, it will pick-up useful items for you as it goes.
AutoTravel - You can select a point anywhere on the current level, and your character will travel to it, again stopping for you if it sees a dangerous monster, trap or something.
Level AutoTravel - Like the above, except that your character will travel to the given level that you have visited already.
Picture from http://www.gamesetwatch.com/atplay/crawl5-3.png:
What's interesting is that these play-aids are not simple commands, but are actually auto-play commands. That is, your character goes through all of the "stuff" that you do when you play, virtually pressing keys for you, but automatically. Basically, the AI is playing the game for you, automating the "boring" parts of the game in order to smooth the gameplay.
I find this very interesting, as one of my goals with SENG games is similar, to smooth out the boring parts. My optimizations are much more manual though; for instance, I don't have AutoTravel, but I implemented "Return", which takes you back to the place you entered the given level (as long as you aren't currently threatened). This doesn't play through the walking back to the start; rather, it just picks up your party and puts it back at the level start.
The auto-play mechanism of Crawl makes me a bit nervous. I think back to Dungeon Siege, and how that game would practically play itself, what with characters auto-drinking potions, auto-selling junky items, etc. DS tried to remove not-interesting gameplay from the game, but unfortunately there wasn't all that much interesting gameplay left. In addition, implementing AI to auto-play is potentially not trivial; perhaps made easier in Crawl's turn-based, tiled architecture, but tricky nonetheless.
Now, Crawl has some advantages over Dungeon Siege when dealing with auto-play; I'm guessing that there is a level of depth to the game which leaves a goodly amount of gameplay left (though, as I noted, I've never played). In addition, the turn-based nature means that, even if there is a lot of auto-play going on, it takes place almost instantly, so you (the player) don't have to watch it. Whereas in DS, a real-time game, you have to _watch_ the auto-play going on, which is the worst of both worlds.
Anyways, I am always looking for more ways to smooth gameplay, with an eye to bringing something similar into SENG, and the Crawl article was good reading.
I'm going to link myself today. Some years ago, I ported the roguelike Omega to Windows. Today, I packaged up the source code (someone finally asked); link here:
Omega is a roguelike game which started a few years after the genre-defining games NetHack and Moria (later Angband). Omega features exploration, with a countryside map, whereas in most roguelikes the path is pretty well defined (down the next set of stairs). In addition, character development in Omega is partly driven through interaction with the world, not just a matter of gaining experience and levels. (I've heard people refer to this as "plot", though that might be a bit of a misnomer). I don't have any direct evidence, but I suspect the design of Omega was influenced by the Ultima games (maybe Ultima III?), merging that with roguelike sensibilities.
From a game design perspective, on the one hand, Omega is very compelling. The exploration aspect is very well done; there are many interesting locations to visit and discover, all with their own unique identities and rewards. The impression you get of influencing the world is wonderful; for instance, all of the guilds have their own Head (the Duke of Rampart, for instance), but if you progress far enough, _you_ become the Head of the guild. Now, if you look pragmatically, not that much changes in the world when you do ascend to that position. For me, at least, these features give the illusion of a deep and fully-realized world that is often lacking in even large commercial games.
In addition I should note that Omega hasn't undergone active development in quite some time, and was never that popular, so it has suffered in comparison to more popular roguelikes. The inventory system is byzantine, and now-standard features like line of sight, or intelligent running, are absent. Monster memory? What do you think notepad is for? So, if you're looking for a great, polished game to play, Omega might not be for you.
Ultimately, I would categorize Omega as a fascinating failure. The design of exploration, both of the world and the game system, is really interesting. Unfortunately, paired with the permanent-death style of roguelikes, makes for a frustrating playing experience; you hear people complain about insta-deaths in Omega, and for a good reason. There are (almost) always good ways to avoid the insta-deaths, but unfortunately the way to avoid them requires many hours of play, many deaths (even of high-level characters), and deciphering cryptic hints. (Or heavy reference to the spoilers, which, to be honest, is probably a necessity to play). As an example, being put to sleep by a monster is almost always fatal. However, there is an easy way to become permanently immune to sleep; eat a szechuan pepper. Good luck figuring this out without spoilers!
I would contrast this with the exploration-heavy game Ultima IV, which in a lot of ways has a less compelling exploration mechanic; there are many interesting locations, but the aspect of affecting the world is much less in U4 than in Omega. However, the insta-death problem is absent in U4, and even if you die the game very forgivingly brings you back to life with only minor penalties. As such, Ultima IV is a much more satisfying experience for all but the most challenge-driven players.
The article is framed in terms of MMO games, and how to present a seamless world even when there are various zones and areas, but really this applies to other games with the same goals. I've deliberately avoided this kind of design in SENG; areas are obvious and require the player to load between them, because I didn't want to deal with this kind of issue, but I certainly found the article interesting.
Shamus talks about how standard RPG systems are not well suited to running a modern campaign:
I've considered making a SENG game set in a swashbuckling era with muskets, cannons, and the like, and I thought of the same problems he describes; that hit-point systems just don't make sense for gunplay, but anything else wouldn't be as fun. Ultimately I've postponed the idea because, well, I think people are more interested in traditional high-fantasy games, and I don't mind that kind of game either.
Last, here's an article by John Harris about Skills and Classes in the roguelike game Crawl:
Roguelikes do sort of act as an incubation tank for this sort of design. I'm very interested in this sort of thing; I'm particularly proud of the approach I've taken in SENG. In this case, I've never actually tried the game Crawl, so maybe I'll have to go take a look at it and see what I can learn.
I've wrapped up the indoor furnishings for the town in "10 Fantasy Fights" (or, objects in SENG terminology). Here's a screenshot:
Note that those aren't actually the buildings in 10FF, just the graphics. I need more buildings for 10FF, and sadly I think I have to space the objects out a little more so the characters have room to move around. But that's the look, anyways.
Also note that the fireplace actually has a nice particle effect fire in it, but it doesn't show up in the level editor where I took these screenshots.
Now, you see all of that blue space around the buildings? That's next. Some grass, some cobblestones, a stream with flowing water. I'm not sure what objects (furnishings) yet; maybe some trees and fences.
For me, some canonically different "old school" RPGs, spanning different styles, would be:
"The Bard's Tale".
Most Ultima games; for me "Ultima IV" was the height.
"Pool of Radiance", the first of the Gold Box games.
Some features that all these games shared:
None of them tried to present a "real world" immersive view of the world, instead having various map modes, combat modes, dungeon modes, etc, that you would move in and out of in the various phases of the game.
All required (typically pencil and paper) bookeeping, whether it was drawing a map on graph paper (hello Bard's Tale!), keeping extensive notes (Ultima IV, that's you!) or whatever.
Interestingly, all were multi-platform, from the era before Microsoft dominated the PC market.
Note some features that vary widely (sometimes quoted as features of old school games):
Difficulty. Bard's Tale was punishing at the beginning, then not so hard. Ultima IV was pretty easy if you stuck with it.
Storytelling. Bard's Tale is straight hack-n-slash. Ultima IV mostly lets you control the story. Pool of Radiance guides you through a pretty fixed storyline.
For me, the "new school" started with the Windows 95 games, like:
This first generation "new school" all shared things like:
Real-time (maybe with pause).
"Realistic" view, with no separate combat modes etc. (Though Baldur's Gate does have a map mode).
Note that "new school" games are now sometimes single-character, instead of party based, a change from most "old school" games.
Also note that 1st person/3rd person view exists across both schools; I don't see that as a differentiator. Although, interestingly, all the "first generation new school" games I listed were 3rd person. Later games certainly started to move to a 1st person view; I wonder if this is a possible different "line in the sand" between "old school"/"new school"? I guess someone younger than me will have to tackle that line.
The only series that I can think of that thrived across both schools is the Elder Scrolls of Bethesda; Daggerfall was clearly old school, Morrowind new school. The Ultima series tried one new school game (the ill-fated Ultima 9), and then withered. Same for Might and Magic and Wizardry.
With my SENG project I'm not really trying to relive "old school" gameplay. I'm more interested in modernizing the party-based, 3rd person view, single player, hard-code RPG experience. Real 3D graphics, proper support for modern OSes, and so forth. But, there is definite inspiration from the old school games; after all, that's what I grew up playing.
More Links. Coyote's post above was spurred by another set of posts about annoyances of old-school games, and new school games:
He makes the argument for the class-based RPG design, where your character's abilities depend primarily upon the class that you have selected at character creation time. As opposed to a skill-based design, where you pick and choose a la carte from a list of skills, typically as your character progresses. Roguelike games typically fall in the class design camp, as does (mostly) 4th edition Dungeons and Dragons. The Elder Scrolls games (Oblivion, Morrowind) are pretty heavily skill-based. Most games fall somewhere in the middle, perhaps leaning towards the class side, although they don't always call skills "skills"; feats, perks, etc, etc.
For SENG I've chosen a hybrid approach, with just 3 classes, but a bunch of skills. Coyote's advice is that a class design is better for game balance, which is certainly true; it is quite possible to make a completely worthless SENG character by picking the wrong skills for your class, or (more insidiously) raising a bunch of skills to middling levels, instead of focusing on a couple of core skills. The other problem of balance with skills, that of making an uber-character by maxing the "best" skills and ignoring the others, is mitigated the addition of the three classes. For example, a fighter can gain some spellcasting ability, but only to a certain degree; he'll never be able to match a spellcaster who specializes in a certain type of magic.
So, why go with a skill-based design at all? My reason is that it adds a really interesting character-building dynamic to the game that is absent in a pure class system. In a class system, you are limited to the set of archetypes that the game designer has planned out; maybe that's OK if there are a lot of classes, but that can be a big burden on the designer. Further, in a dynamic skill system, your character can change and grow in different directions as he advances, whereas in a pure class system, your progression is determined at character birth. I'm not saying that this sort of dynamic character progression system is necessary for a good RPG, but, as a player, I find it an interesting feature.
OK, more links.
Here's another article from Andrew Vanden Bossche at GameSetWatch on classes, this time applying RPG class lessons to FPS's like Team Fortress 2:
Well, as I alluded to previously, I started a new job two weeks ago. Also, I haven't posted at all in the last two weeks. A complete coincidence I'm sure!
So, I'll be scaling back on 10FF a bit. My goal is a modest 5 hours a week. I think that is realistic, and while I haven't made a formal schedule, I think I should be able to get 10FF out in months (rather than years). I still love working on my RPG games, so I do want to continue it as a part of what I do, even in a scaled back way.
On the blog front, don't look for any new "RPG Anvil" features; while fun to write about RPG design, it takes a long time to write those. Instead, I'll be sticking to project updates and commented links. To set a realistic goal, let's say I'll blog once a week, either a project update or links post. I'll start out trying to alternate weeks; we'll see how that goes. As long as I can stick to the "once a week" goal I'll be happy.
My philosophy with game design is to try to find the "right" difficulty level, and use that, with no difficulty slider or anything. This post makes me seriously reconsider; it might be better to have a "easy" default level, with harder levels for hardcore players.
Coyote disputes this too, with "Player-selectable difficulty levels in games, in general, suck":
"10 Fantasy Fights" needs a small town for recruiting party members, buying items, etc. So I've started in on getting a tileset ready, and I've got the building tiles done. In the level editor, here is a basic layout:
And, here is the layout with the tileset applied:
The biggest annoyance is the giant doors (20 feet wide!), but unfortunately they have to be that big for the pathfinding algorithm to work reasonably with a multi-character party. Things are zoomed out a bit more in the actual game, so they shouldn't look quite so giant; the upper building is really pretty small for something in-game anyways.
Next to work on some furnishings to go in the buildings; tables, shelves, etc.
Well, I finished the planning phase for 10 Fantasy Fights. I ended up with a startling 20-page design document; a lot of that is lists of spells and items and the like, but still, that was a lot of stuff to write down!
So, now the engine is done, and the planning is done. I guess that means I get to start making content! First up, the graphics to make up the 11 levels. Since SENG is a tile-based engine, the number of tiles should be relatively sane, but I do want it to look better than "To The World Tree", so it will be more work. In particular, I want to follow the rule of 4: at least 4 different tiles for each "thing", to allow for enough variety. So, if there is a tile for a grassy patch of ground, there should be a least 4 different textures, so that a big field of grass doesn't look overly repetitive.
Good news for you guys though; asset creation makes for more interesting screenshots and posts than planning does!
I was out of town most of last week interviewing for a job, so no blogging. Looks like I got it, so SENG will suffer for awhile. I'm still hopeful I can make some good progress on 10FF before starting, so if all goes well that will see the light of the day fairly soon.
On to the links that have built up:
John Harris of GameSetWatch has a good article about items in RPGs. The article is specific to roguelikes, but has good information to keep in mind for any RPG designer:
And another about how RPG designers can lose their audience with stupid, logic-defying sidequests. Things like: a wooden door that can only be opened with a certain key, and not with the giant axe that the player character is wielding.
Starting to work on "10 Fantasy Fights". Here's my todo list:
11) Milestone 5.1 - 10 Fantasy Fights. a. Look at old feedback: i. Moved to C:\gdunbar\src\seng\docs\feedback b. Planning i. 1st person: 1. Spells 2. Powers 3. Factions 4. Summonees ii. NPCs: 1. Characters 2. Spells 3. Powers 4. Factions 5. Summonees iii. Items iv. Monsters v. Levels vi. Level assets vii. Background sounds c. Character models d. Item models e. Level tiles f. Level objects g. Magic.seng h. Factions.seng i. Items.seng j. Monsters.seng k. World.seng l. World map m. Levels i. Journal.seng ii. Quests.seng n. Coding i. AI improvements 1. Cast AI should not stop casting spells because it tries but enemy is out of range. o. Rules i. First section text ii. Run generator again iii. Screenshots p. Polish: i. Credits - See credits.txt in seng\docs. ii. Versions iii. Help text iv. Startup images v. Startup text
I work by making a big list of stuff todo, and then drilling down on each item as I go. Time to start on the first item!
I've finished my internal Milestone 5 ("Engine Updates"). Yay! The SENG engine is now in good shape for a full-featured game. Oh, there are always more features I could add, but there's enough there for a full-featured, full-length, engrossing, deep RPG.
So, with that, I announce the end of "Untitled SENG Game".
Milestone 5.1 is "10 Fantasy Fights", a prototype to test out the depth and breadth of the SENG engine before I dive fully into a complete game. You can see some of my thoughts on 10FF in this previous post:
Among other things, I've been mucking around with the spell effect system. I made the code much more flexible and generic, making it easier to make effects with varying appearances. As part of that work, I also spent a little time coming up with a core set of decent looking effects. Here's a "High Magic" spell in progress:
I also added the ability for traps and weapons to fire effects. Here's a poison dagger attack in progress:
I'm interviewing for a full time (non-game) programmer job next week. Those of you who are fans of SENG games should root for me to fail miserably; those who prefer my bank account should root for success.