New Ultima-Inspired Project: Voxel Quest
Voxel Quest was successfully Kickstarter in November of 2014. Billed as a “Role Playing Simulation With Emergent AI”, it is being built primarily as an open-ended world simulation game. According to the game’s About page, the project also entails the development of an open source (though currently licensed) engine that attempts to tackle many problems — one in particular — that previous games have been unable to overcome:
The primary problem that I am addressing is the so-called “Holy Grail” of game design – creating a living, interactive world that functions as you would expect, without events pre-scripted by a human. This means that every action you take has a real, sensible, and permanent consequence. NPCs in the world respond to your actions appropriately, but more importantly, they have their own goals and run their own lives regardless of your existence (rather than, say, sitting around waiting to give you a quest). This might sound like a pipe-dream, but I am attempting to address it on a fairly crude level initially, and rather than blindly entering this field, I actually have a long history of working with AI and I know what is and is not possible.
Bold statements aside, the good Mr. Woolery seems to understand that he needs to be incremental in his attempts to reach his goal. As such, Voxel Quest will be a “minimally viable game out that is at least somewhat fun to play”; more will presumably come later on. Voxel Quest, when complete, will feature a dynamic and fully persistent procedurally-generated world, a fully functional ecosystem, governments and economies, and NPCs with motivations and unique behaviours.
A preliminary — and apparently somewhat out-of-date — design document for Voxel Quest can be found here. The official forums don’t seem to be all that heavily trafficked, but the developer does seem to post updates there — and to the main project site — fairly consistently.
And, of course, there’s now a project entry set up for Voxel Quest. Many thanks to everyone who contacted me over the past month or so to point the game out and lobby for its mention here.
Wow, this is one to keep an eye on. Anyone else think this game is startlingly similar to Sanctimonia?
That’s what I was thinking when I was reading WtF’s article, though the design document makes it sound quite different, more like D&D with a bit of card logic thrown in. Sanctimonia’s player and animal stats are based exclusively on tangible physiological attributes such as the integrity of individual bones, muscles, blood vessels and basic system states (circulatory, respiratory, nervous, digestive, hormone levels, etc.).
The initial statement on the Kickstarter page also sounds much like the premise of Sanctimonia (“Voxel Quest […] is an open-ended world simulator”), although the varying modes of play are quite different than Sanctimonia’s two modes of “you’re online” and “you’re offline running your customized AI schedule”. Another difference is that there are apparently dedicated NPCs, whereas in Sanctimonia the only “NPCs” are offline players running their customized AI.
Many of the “design principles” as stated further down on the Kickstarter page are in the spirit on Sanctimonia, although as they say the devil is in the details. It also appears that players may create buildings from pre-fab interlocking pieces which then may be damaged or otherwise altered, which is very much like Sanctimonia minus the voxel engine.
In any case, if the dev can pull it off it looks like it has the potential to be awesome. Gavan appears to be barking up the right tree, which is a relief from the “same old shit” MMOs that keep popping up and rightly thereafter dying. Best of luck. Don thy heaviest armor, wield thy quickest blade, and only give up when the world fades out in a haze of red and black as thy broken body no longer obeys the commands of thy addled mind.
Watching the Kickstarter video now, I gotta say the terrain rendering and modification code is fucking awesome. He hands me my ass in a flaming bag as far as that goes… Nicely done.
His method of speaking on camera is also refreshing. He sounds like a sincere dev and not some glad-handing marketing asshole like in the usual Kickstarter videos. Anyway, I’m more impressed the more I hear. Definitely excited.
The potential of this type of engine is huge. However, to make it fast enough will require high end PC’s with tons of video ram. I also think he would have done better on the kickstarter if he went with a more realistic medieval color schemes instead of a colorful cartoon look, but I think people saw past that regardless.
Thanks for the comments everyone 🙂
I passed across Sanctimonia fairly recently, surprisingly I had never seen it before (saw it when the author began working on some Silpheed reboot).
Important note on the design – what is stated in the KS campaign and design doc are fairly out of date, at this point I am mostly basing design off of community demand. Right now this includes building a fairly standard CRPG and the roguelike and sandbox modes are taking a back seat. Other more interesting features will come in (like the AI) after a barebones game is in place.
Color scheme is not necessarily permanent, it has changed quite a bit over time (as you can see in the gallery: http://www.voxelquest.com/gallery.html). Now that the material editor is integrated, it is much easier to change colors so hopefully they will get better over time (see https://www.youtube.com/watch?v=X7MYf01X1Y4)
System requirements: to get maximum detail, a high-end PC is required. However, given that everything is generated dynamically with voxels, you can easily lower the voxel resolution and ameliorate performance and memory usage. For every 1/2 change in resolution, there is about an 8x speedup and 8x less memory usage (volumetric, so 2*2*2 = 8).
Anyhow, it is amibitious but i’m taking it one step at a time and am fortunate to have many financial backups even beyond the KS funds, so there is a lot of runway at least.
Everything so far looks pretty damn good. As someone who’s worked on a complex, multi-year long solo project I can give you some advice that you might find helpful. You probably already know a lot (or all) of it, but here it is just in case.
1) Document everything. File formats, network transactions, code comments, known bugs, a “things to do” list, or anything else you may be keeping only in your head. Having spreadsheets, text files or whatever will help you keep it together once the scope has exceeded the your capacity for recall.
2) Back up everything. Run daily, weekly and monthly scripts to back up the entire project locally (rsync works well). Additionally use off-site backups such as Dropbox. Nothing quite like losing work to make you want to jump off a cliff.
3) Keep the code base as modular as possible so procedures may be reused. An example would be to make separate procedures for common tasks or calculations (2D and 3D distance calculation, rendering a particular type of object, sorting, playing a sound effect, etc.). This helps with keeping the code base as small as possible, and reduces the number of places you have to check when a bug occurs.
4) Find an easy to read and logical naming convention for variables and procedures. A lot of code I see from other people is difficult to read because variable and procedure names are abbreviated so heavily they’re unintelligible. Case can be used to advantage here, for example a variable named “DisplayList” is easier to read than “displaylist”. Ideally, particularly with procedure names, you’d want them to be grouped logically if they were sorted in alphabetical order. I usually start with either the relevant noun or the relevant verb, depending on which there are more of, for example “ShipDraw”, “ShipDestroy”, “ShipRemove”.
5) Have a clear general plan from the beginning and try to stick to it as much as possible. A game designed consistently around a core set of concepts and features from the beginning will come together more easily, require less rewriting of code and feel less like a hodgepodge to players when it’s done.
6) Recognize that -any- feature can be implemented if approached with an open mind, ingenuity, and relentless drive to see it done. If Peter Molyneux with millions of dollars and a team of professionals can’t make trees grow, that doesn’t mean that you can’t. Excuses and BS aside, the bottom line is that he didn’t want it badly enough to get it done and wimped out.
7) Take player/fan feedback and trending/popular features and mechanics with a grain of salt. It’s invaluable and you must take it seriously, but that doesn’t necessarily mean it’s what you need to be doing. A singular, cohesive vision is more important than a million suggestions about what should be added, removed or changed. Feedback and what other games are doing should be treated as a tool; it’s up to you to decide if it’s the right tool for the job at hand.
8) Stay positive, work on what keeps you driven, switch things up when necessary, and don’t stop until it’s done no matter what life throws at you. Since starting work on Sanctimonia in 2010 I’ve struggled with poverty, had my first child, separated from my wife, started a smaller side project as a kind of “vacation” and my mom nearly died of Pancreatitis. Bottom line is that shit happens and at some point you’ll want to throw in the towel. Don’t. Consider it a matter of honor, a sacred quest, whatever it takes to keep going. The only thing that matters is the release of a game that you can stand behind with every fiber of your being as something you are proud of having created for the players, and ultimately for yourself.
Hope that helps, and good luck.
Thanks!
I am doing suggestions 1, 2, and 3 already. As for 4, my naming conventions are not A+ material, but they are pretty good generally (maybe B-). As for items 5 and 7, I have a more clear plan in my head which got a bit messed up in doing the Kickstarter. In attempting to address multiple complaints in the campaign, I spread myself too thin (some people did not want a roguelike, others wanted a sandbox mode, etc). Just as well, I feel I have some obligation to my backers to meet their demands, although I still make the final calls in any given feature or design. That said I think that I will end up with a more cohesive design as things are gradually more defined. For item 6 – I agree – so far I have not yet come across anything that has been “impossible”…and often even the hardest tasks are simpler than they seem (the devil is usually in the small details which I don’t anticipate). For #8, I agree as well. Life has been pretty tough up to this point. I slaved away in boring jobs just to pay off debt and support myself for the longest time. It is only within the last 2 years that I have been able to make this a full time job, with the downside being that I must live off of very little. I just had my first child in May of last year. My parents have been fighting illnesses as well although they are both fortunately still alive (my dad had cancer and a stroke but survived both). I’m sorry to hear about your situation. 🙁 Thanks for believing in me, I really hope that I can make this work, even though the odds are against me.