PDA

View Full Version : The New Project - An Overview



RonHiler
03-15-2009, 10:31 AM
As I write this, the Milestone list (http://www.rjcyberware.com/GameProject/MilestoneList.php) is just shy of 50% (and in fact may be somewhat higher than that, I'm being conservative with my milestone advancements, I'm probably a bit over 50% at this point).

So I figure it's time to let those who are interested in on what is coming down the pipeline. I've already given out a bit of information in another thread, so some of this may be less than brand new data.

By far, my favorite type of game (in terms of mechanics) is the one used by Grand Theft Auto. I know, some of you are groaning already, but let me explain what I mean by that before you tune out.

Grand Theft Auto (GTA), if you take out its "over the top" violence, basically turns you lose on a city and let's you do whatever the heck you want to do, in a third person camera view (which just means you can see your character in front of you, the camera is looking over his shoulder). The game sets up a lot of things that you can do within that city, but essentially the order in which you do those things is pretty much up to you. Explore, check out the stores, find some collectables, run some missions, and so on. Lots and lots to do is the key to this type of game. If you don't give the player stuff to do (and goals to accomplish) it can get boring, so you have to make sure there is always something for them to do at every corner (or at least give them an easy way to *find* something to do).

By the same token, the game is also structured through its missions. So while there are many things you can go out and do, one of those things is run the available missions. This gives the structure to the game, because you can only do the missions in a particular order (or there may be a number of missions available at any given time, but there is still some order to them (for example, you may have to do mission A which opens up missions B, C, and D, and you may need to do missions B and D before E will open up, and so on)).

This mission structure allows the designers to tell a story, generally through cut-scenes which happen when the mission is started and after the mission has been completed (and occassionally during the mission as well, though that's a mechanic that should be used sparingly, as it can get to be annoying).

To be sure, there are other games that use this mechanic (Oblivion, for one), but I think GTA is the most well known and does it better than anyone else has (Oblivion, just for example, I thought went a bit too far with the openess, and not enough with the structured).

So that's the mechanic I want to use. But what setting?

Not a modern day city. That setting using this mechanic is saturated (by GTA, and the much better set of games Saints Row [and anyone that thinks GTA IV is better than Saints Row 2 (or even Saints Row 1) needs to have their heads checked, if you like the GTA games do yourself a HUGE favor and go get SR1 and 2, awesome games, far FAR better than the poor offering that is GTA IV]. It's been done pretty much to perfection, I don't want to go there.

I've always wanted to do a good RPG. I love a good RPG. But I want it a bit more structured and confined than Oblivion (which itself is quite a good game, it just had a few minor issues that I *personally* didn't like in terms of design).

This fit in perfectly with a prior idea that I wanted to do. We haven't really had a good dungeon crawl game since the days of Ultima Underworld (http://en.wikipedia.org/wiki/Ultima_Underworld). Well, I take that back, actually there was one that came out about five or six years ago called Arx Fatalis (http://en.wikipedia.org/wiki/Arx_Fatalis), which was a pretty decent game, but not many people played it (apparently). Actually, Arx Fatalis is a big insperation for me for this project.

So there is the essence. An open world (sandbox) game confined in a single multi-level dungeon.

Sounds a bit contradictory, doesn't it? There is a fine line there. On the one hand, it's meant to feel constricted and claustriphobic (as if you were underground), but on the other hand, it needs to be open enough to give the player plenty to do and explore while at the same time providing structure to the game through a series of missions that progress the story forward.

It's possible to do both, I think. We can give the player the feeling of "a maze of twistly little passages, all alike" while still giving them plenty to explore and many things to do. At first, your options will be very limited (in fact, you will ONLY be able to start up the first mission) but as you progress, more and more things will open up, which is exactly how a game like this ought to go. You don't want to throw the players into the deep end of the pool right away, you introduce elements a bit at a time for a while, otherwise they get overwhelmed. I think a lot of games make this mistake. It may irritate the players who are on their 5th playthrough, but too bad, heh. If the missions are fun, they are going to want to play them anyway, and I'll open up the non-story-mission stuff soon enough (in fact, pretty quickly, certainly before you are ready to delve into the deeper levels of the dungeon).

Now I want to discuss the RPG aspect a bit. In some respects, I'm going to move away from the traditional ideas of an RPG in terms of character development. In most of them, they take a page out of the D&D manuals and you "Level Up" after getting so much XP, at which point you get to select an attribute to raise and skills to improve and so on and so forth.

I'm not going to do that. Oh, there will be a character sheet and you will have stats, but there will be no XP in the game, and no leveling up. Instead, character improvement will be a function of some of those things you do while in the game. The exact details haven't been worked out yet, but let's say you have a stat "Strength", which determines the amount of damage you do on a successful swing of a weapon. If you want to raise that stat, perhaps you do a "side" mission (i.e. a mission not directly tied to the story line) that raises it a point. Or there are a series of collectables scattered throughout the dungeon that raise it a point after you get 10 of them. Things like that. If you want to improve your character, you earn it through specific challenges, not just mindlessly killing rats to gain XP (although there may be some of that in the form of challenges). Which I like better, to be honest. It may not give you the exact control over the direction of your character's improvements that you are used to in a traditional RPG (since you may not know exactly where that next collectable is that you need to raise your Intellegence, or the next Strength raising side-mission is another two levels down and there are hoards of undead between you and it), but to me, that is one of the challenges of the game.

As for those "things to do", I've amassed a fair number already. I won't reveal here the number of levels of dungeon there are to explore (quite a few, but that's something to be discovered). Of course, there will be the main story-line missions (and I've got a what I think is a pretty dang good story to tell, and it's going to take quite a few missions to tell it).

So we have basic exploration and the story line. What else? Well, there are the side missions (don't add to the story, but they will give you some form of reward in terms of character or equipment improvement), collectables, challenges, and a few other things which I'm not going to reveal here (some things have to be left for the player to discover on their own). And wait until you get a load of the player's "Home Base" :)

The game will track your progress through the main missions and all the side activities, and is going to give you a percentage completion, so there is going to be that carrot for those of you (and me) who like to get that 100% completion score.

So, who is involved? There's the bad news. Right now, it's just me. I thought I had someone who was going to help with level design and 3D modelling, but that's evaporated, unfortunately. So, at least for right now, I'm wearing all the hats. Hopefully after a couple of milestones are done, and I have something interesting to show off, I can attract a couple of artists to the project and get some better art assets in the game, heh. (on the good side, I'm getting better at both level design and modelling, I have a player character avatar in the works that is pretty close to done in terms of geometry that isn't half bad, and a few areas of the first level of the dungeon are pretty far along).

The tools. The tools I'm using to create the game may be of some interest to some of you.

The engine is C4 (http://www.terathon.com/c4engine/index.php). I've made the decision to go with a premade engine rather than roll my own. This allows me to skip over the tedious bits (e.g. programming a scroll bar) and go right to the game design. There's a lot of programming still involved (in fact, C4 has a very limited scripting ability, you are expected to produce your own game logic through C++, which suits me just fine).

For 3D modelling, I'm using TrueSpace (http://www.caligari.com/Products/trueSpace/tS75/brochure/intro.asp). I've had this program forever, and in fact since they overhauled the entire system with the introduction of something called WorkSpace, I've found that using it is quite easy, and the more I learn the more I like it. I've found that I'm fighting the tool less than I'm fighting my own limited artistic abilities, which is how it should be. I'm also using this package for rigging and keyframe animation files (which get played in the C4 engine).

For UV unwrapping I use UU3D (http://www.unwrap3d.com/index.aspx). Not much to say about this, it does the job, and I like it better than I like TrueSpace's native UV unwrapper (tS's one failing, as far as I'm concerned, is that it's unwrapper is very poor).

All texturing is done in Photoshop CS4 (http://www.adobe.com/products/photoshop/photoshop/), as you might expect, with a sprinkling of Paint Shop Pro 8 (http://www.corel.com/servlet/Satellite/us/en/Product/1184951547051#versionTabview=tab1&tabview=tab0) thrown in (I've had the latter for a long time, and there are a few things I know how to there better than I know how to do them in CS4, though as I learn CS4 more and more, my use of PSP is dwindling, I pretty much only use if for screen captures now).

I'm also using something called Seamless Texture Generator Pro (http://www.seamlesstexturegenerator.com/testindex.html) to help out with tilable textures (although this is with heavy input from photoshop as well), and I'm *attempting* to learn to use MapZone (http://www.mapzoneeditor.com/) to produce procedural textures, although to be honest, so far, the methodology is still a bit of a mystery to me (I haven't been able to spend as much time with it as I need to so far).

And of course for my compiler I'm using MSVC++ 2008 (http://www.microsoft.com/visualstudio/en-us/default.mspx). Now, I'd prefer to use Borland Builder (http://www.codegear.com/products/cppbuilder) as I like that compiler better, but it was one of the comprimises I had to make in order to use the C4 engine (not that I *couldn't* have ported the source code of C4 over to borland, but it would have been a project, and one I'd have to start over every time there was a C4 update, which happens pretty frequently).

So that's where I'm going. I'm only trying to impart information at this point, this is not yet an attempt to generate buzz. We'll get to that after a few milestones are done and there's something interesting to show off. But I will say things are going VERY well considering I'm trying to be the artist (which is not where my talents lie) as well as the programmer and designer.

Milestone 1 is a lot about "proof of pipeline" which is to say, can I get the art assets from the tools over to the engine and have everything work? That's not as easy as you might think, in fact, some of it has been very time consuming and frustrating (it sucks when your carefully designed, rigged, and animated model imports as a blob of twitching parts, something you might see after a transporter accident on the Enterprise, heh). Most of that has been worked out now (with the notable exception of sound, which I haven't even begun to approach yet). It also involves a lot of testing of the scripting system and programming, pretty much a "one of each" approach, just to make sure I know that I can do more advanced stuff later on and have it work. Of course, I also needed some level design to be able to test all this stuff, so the first level is scheduled to be completed at the end of this milestone (and a good amount of it is done already, enough for the player to walk around in).

Milestone 2 will be a lot more programming intensive. Although I'm sure there will be plenty of artwork to be added in with M2, I intend to focus a lot more on game systems, like the mini-map, for example, and the "shell" (the out-of-game interface you see that allows you to start a new game, load, save, and so on). Maybe bits of the character sheets. Oh, and physics, although perhaps not the ragdoll effects yet.

So there ya go. That's where things are going.

(oh, and in case you are wondering, it will be getting it's own forum catagory, but I don't yet have a name for it. Currently I am using the working title "Dungeon Crawl" but that's certianly not permanent. Something perfect will come along, and when it does, I'll set up a forum for it [MD was originally called "The History of Warfare" as a working title]).

Pix
03-16-2009, 07:50 AM
(oh, and in case you are wondering, it will be getting it's own forum catagory, but I don't yet have a name for it. Currently I am using the working title "Dungeon Crawl" but that's certianly not permanent. Something perfect will come along, and when it does, I'll set up a forum for it [MD was originally called "The History of Warfare" as a working title]).

Heh, there's already at least one game with that name, anyway.

RonHiler
03-16-2009, 08:32 AM
Oh, right. The Rouge-like. I played that, long ago. Is it still being developed?

Don't worry, it was never meant to stick as anything other than something to call the folder when I created the project :)

Pix
03-16-2009, 11:24 AM
I went and checked. Judging from the news page, the game hasn't been updated since early 2003.

Innocence
03-19-2009, 05:00 AM
The best open-ended game I've ever played was "Europa 1400: The Guild", kinda like a medieval Sims :)

Basically you try to maneuver your familiy/dynasty to the top of the political ladder and outmaneuver the other dynasties in the game, gaining and abusing any priviledge you gain. Bribe officials, hire thugs to beat up a competitor (or even have him murdered), or have your spies collect evidence of competitors breaking the law in similar ways, then use the evidence to have them charged for their crime at the Town Hall and hanged. Just to name a few options.

Problem was, the game was bugged beyond belief (gamebreaking ones too) and eventually abandoned. The Developer (JoWood) even made a Gold version (equally bugged), then made "The Guild 2" and a few add-ons - both of which also contained hideous amount of critical bugs and were eventually abandoned.

RonHiler
03-19-2009, 09:28 AM
Yeah, JoWood has a very mixed reputation. I'm not sure how much of that is their fault though. JoWood is a publisher (not a developer), so the quality of their products is out of their hands to some extent.

They pick some really good games to publish (Arx Fatalis was one of theirs), and you have to give them credit for that. But for some reason the games they put out have absolutely zero post-publishing support in the form of patches (and they have a tendency to release "Gold packs" of bundled games that flat out don't work). And I'm not entirely sure why that is.

The Painkiller series was one of theirs. Great first person shooter, terrible support (they put out a "gold" edition which was all three games, but the third one doesn't even work on modern hardware due to copy protection and no patch came out to fix it, so you are SOL). Same for the Gothic "Gold" pack. And the list goes on.

RonHiler
12-19-2009, 09:17 AM
Just a tools update, for those who are interested in this sort of thing. I went over (in the first post) the tools I was using (or expecting to use). Some have remained, others have changed.



The engine is C4 (http://www.terathon.com/c4engine/index.php). I've made the decision to go with a premade engine rather than roll my own.

Still using C4. Overall, I'm pretty happy with C4. Like any third party tool, it has it's share of plusses and minuses. It could be a bit better documented (in terms of what functions are available for a given class), but that's a pretty small quibble. In terms of what else is out there, I think it's probably better documented than most other engines. And besides, I can always peek at the .h files to see what's there.

Given the options out there, I would personally recommend C4 for anyone looking for an engine, presuming you are comfortable with advanced C++ programming (and by advanced, I mean you should be comfortable with templates and inheritance, which in my opinion, are pretty much the most complex parts of C++). If you are not real great with C++, a second choice would be Unity (you don't get source code with Unity though, so there is no modifying the enigne, which can be a real problem. I try to keep the modifications to the C4 engine to a minimum (it makes it harder to upgrade the engine when new versions come around), but I've had to make a handful so far. In Unity, this is not possible at all, and had I been using that engine, we'd have been stuck at Milestone 1 with no way to advance, simply due to mutexing).

This is certainly the most complicated of my tools (naturally), and I think anyone using a third party engine will spend the first year or so learning the ins-and-outs of the engine. I'm getting a little more comfortable with what the engine can and can't do, and how the designer thinks.


For 3D modelling, I'm using TrueSpace (http://www.caligari.com/Products/trueSpace/tS75/brochure/intro.asp). I've had this program forever, and in fact since they overhauled the entire system with the introduction of something called WorkSpace, I've found that using it is quite easy, and the more I learn the more I like it.

Yeah, TS is gone. There were, ultimately, two problems with TrueSpace. One is that it was discontinued by MicroSoft, which means any bugs in the latest version will be there in perpetuity. Normally I can deal with that, as long as those bugs aren't too serious (which is usually the case for any reasonably mature software). But sadly, the most recent versions of TS had a whole new workspace side to it, and the bugs inherent in the new side were pretty glaring (and the old side, while it was still there, was simply inadequate).

But even so, I could have handled that. The true nail in the coffin for TS was the fact that the collada exporter was awful. The workflow to get a non-skinned build from the modeller to a collada file (which is what the engine needs for importing to its own custom format) was, to say the least, complicated, and there was no guarantee a model would come through the process intact. And just forget about trying to get a skinned model out, or animations for that skinned model. Basically what you would end up with is a twitching mess.

So I've since switched over to Maya (http://usa.autodesk.com/adsk/servlet/pc/index?siteID=123112&id=13577897). The collada export is much more straight forward, and it's been my experience that the less steps there are in the export process, the better chance it has of working right (this is true of any file conversion process, you want the simplest possible path, because every extra step is one more place where something might go wrong).

Also, Maya is just awesome to work with. Everything is easy to find, and while any package as complex as Maya has a learning curve, once you are over that initial hump, it's quite easy to find the stuff you are after, and man is it a powerful package. I can totally see why it's an industry standard modeller. I'm really looking forward not only to modelling in Maya (more than I have been), but also rigging and animations. Should be fun.


For UV unwrapping I use UU3D (http://www.unwrap3d.com/index.aspx).
Heh, no. UU3D is not a BAD program (and in a lot of cases it's good for file conversion work), but it's not got the power of some of the other solutions out there. I'm now using Headus UVLayout (http://www.uvlayout.com/). I haven't really used this program a lot (I don't yet have a lot of models that need unwrapping so far), but from what little work I've done, it's quite good.


All texturing is done in Photoshop CS4 (http://www.adobe.com/products/photoshop/photoshop/), as you might expect, with a sprinkling of Paint Shop Pro 8 (http://www.corel.com/servlet/Satellite/us/en/Product/1184951547051#versionTabview=tab1&tabview=tab0)
This hasn't changed, although I no longer even have PSP installed, it has now been entirely supplanted by photoshop. I'm getting a bit better with photoshop, although sadly my 2D artwork will always be "programmer art" :)


I'm also using something called Seamless Texture Generator Pro (http://www.seamlesstexturegenerator.com/testindex.html) to help out with tilable textures (although this is with heavy input from photoshop as well), and I'm *attempting* to learn to use MapZone (http://www.mapzoneeditor.com/) to produce procedural textures,
I still have these, but I haven't really used them much. I expect they will come in handy later on, though.


And of course for my compiler I'm using MSVC++ 2008 (http://www.microsoft.com/visualstudio/en-us/default.mspx). Now, I'd prefer to use Borland Builder (http://www.codegear.com/products/cppbuilder) as I like that compiler better
I think it's about time to give up on Builder. While I like the compiler, it just keeps getting more and more expensive for less product (MS Visual Studio gives you like 8 or 12 different languages natively while Builder is strictly a C++ compiler), and it keeps getting pushed farther into the niche market. Everyone expects you to have MSVC these days. And to be honest, it's a good compiler. I could wish it was a bit more ANSI compliant, but I can work around those little items that bug me (and to be sure Builder certainly had it's fair share of oddities too, the difference is I knew them better. It's all a question of what you are familiar with).

A new tool coming, which I haven't yet gotten (but will in the very near future) is Soundbooth (http://www.adobe.com/products/soundbooth/). Because games need sound :)

Kaeldur
12-22-2009, 03:19 AM
Hey Ron... Interesting idea! I would like to know more about it and, if you would allow, help out in dev. I've always wanted to work in developing a RPG game. Closest I got was a text based (MUD-style) MMO, which I didn't finish. I did manage to get part of it working and I could meet friends and stuff :)
I currently work in a CG laboratory, more specifically with Virtual Reality. I used to work as a programmer in a designer team, so I'm familiar with modelling programs (but not a good designer, unfortunately). I won't have much time until Feb 2010 though, which is when I finish college.
I have advanced knowledge in C++ programming and use VS2008... I don't know much about using engines though, I've never used any CG engines... Closest I've done with third party stuff is OpenSceneGraph. On the brighter side, if you find it useful/interesting, I know Lua scripting and using C++ with Lua, which becomes a pretty powerful setup. I lately tend to develop every program of mine with C++ core and Lua for data building.

RonHiler
12-22-2009, 06:48 AM
Heya Kael, welcome to the forums! I'd LOVE to have help with this project, and in fact I fully intend to try to recruit others into it when it gets a little further along. I feel like I have to have something decent to show (to prove it's a serious project) before I can entice some additional help to the project :) But when it gets to that point I am going to be looking for some coders/artists/designers for this project. It's way too big to do on my own.

However, there is a bit of a snag. I can't just allow others access to the code, because it would break my license agreement with Terathon (the C4 guys), unless you have a license of your own (which at this point is a $350 investment, and as soon as version 2.0 goes final (very soon now) that is going to go up [plus when that happens, it will no longer be free updates for life]). And that's not an idle point. Terathon can (and has) revoked licenses for breach of that agreement, and I need the engine or we take a big step backward in development, heh.

So, while I'd love to have your help (how awesome would it be to have another coder to bounce code around with?), I can't ask that you lay out that sort of cash, especially right during the holidays. If you are in the market for an engine already, that's one thing. Then definitely check out C4 (it doesn't do Lua natively, it has it's own graphical scripting engine, sort of like a flowchart kind of thing. But I understand that Lua can be integrated into the engine pretty easily. One person, with no prior knowledge, claims to have done it in less than a day. I may be interested in that actually, I would prefer to actually write script rather than build it from a graphical interface, but that's something I haven't entirely worked out yet).

But if you are not looking for an engine yet, don't get it on my account. That's too much pressure, heh.

Kaeldur
12-23-2009, 04:37 AM
Oh bummer! I really can't afford spending that cash... But maybe we can find a way to work around this. I don't know how far through the project you are already, but I think of two solutions:
1. Does the engine particularly state only source code? In that case, you can compile it and put on SVN only the compiled lib/dll. That way you'll respect the contract and still allow other people to work on it. The only difference is that you would be responsible for engine alterations, but the rest of the code can be worked on by anyone, just using the engine's API.
2. If the above case is still against the rules then we have much less chances of doing a lot of work together... What could be done, this is hypothetical, is set up a Lua module and export some core classes so work could be done in Lua. Considering you would even want to use Lua in the project.

RonHiler
12-23-2009, 06:36 AM
Oh bummer! I really can't afford spending that cash...
Yeah, I totally get this. I wouldn't want to lay out that sort of money either, heh. Especiallly on an unproven project.


1. Does the engine particularly state only source code? In that case, you can compile it and put on SVN only the compiled lib/dll. That way you'll respect the contract and still allow other people to work on it. The only difference is that you would be responsible for engine alterations, but the rest of the code can be worked on by anyone, just using the engine's API.
Yes, it's only the source code that is controlled. Artists can work on a game without having a license, since they don't need source code. They can even use the engine's built in tools (like the world editor, movie tool, importers, etc) without a license.

However, with the coders, it's a bit harder to pull off. Even if you are just working on your own DLL, you still need to #include the engine .h files to make API calls, and unfortunatey, those .h files still fall under the license agreement. So I don't really see how that would work.


2. If the above case is still against the rules then we have much less chances of doing a lot of work together... What could be done, this is hypothetical, is set up a Lua module and export some core classes so work could be done in Lua. Considering you would even want to use Lua in the project.
Possible. Not a bad idea, in fact. THB, I would much rather do scripting work in code rather than that built in graphical thing that C4 has. That's just the way my brain works :)

But I'm not there yet. We're not ready for scripting until about Milestone 3. And I'd have to integrate the language into the engine. So you'd be in for a bit of a wait before you could do anything productive. But if you want to stick around for a bit, I'm sure I could put you to work once I get to that point. Up to you :)

Kaeldur
12-23-2009, 06:47 PM
I guess that will fit me just fine anyway... I won't have much time until Feb, like I said... Cause I'm finishing college so I have some final project stuff to do. :)