• Advertisement
Sign in to follow this  

A Single Player MMRPG

This topic is 4733 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I've been planning this game for the past few years - you know how we each have *that* game that we each want to make? Well, here is my vision: A single-player game, based around mmorpg rules. Things included such as player-crafting, money + item accumulation, leveling, and most importantly, lots of npc traffic to simulate other players. I love the open-endedness of mmorpgs, and think it can quite easily be squashed into a single-player game without loosing too much of the magic. Now, i've done most of the game-design stage, and i'm on to designing the technical aspects of it. The game will be set in a sci-fi universe, in space as that is where it is easiest to simulate a living world. (Space ships + comm channels are a LOT easier to simulate than walking, talking npcs). Each time you start up the game, you can create a new 'universe' which will randomly generate a game galaxy (around 5000 star systems), populate it with npcs (about 1000 story npcs, and 50 - 200 active ones), seed the market, randomly generate npc empires and assign them systems etc. Or, you can connect to a universe you created earlier, and join the game from multiple characters that you can create within this universe. Technically, the game will run on 2 levels - one, the current solar system you are in, will be loaded into memory and updated in real-time. This will all be stored in memory. The second level is the galaxy, which will be updated each time you jump from system to system. This will be built into a database. When a system is left, the system data is compressed from memory, and thrown back into the database, and the new system is loaded into memory. Now, i've overcome a lot of problems already, the galaxy generation code is done, and produces some very nice spiral and globule galaxies, the dynamic-story-system is in the works and looking good. My problem is seeing problems down the road, i've never undertaken anything quite this big before and was wondering if i could call on your collective intelligence to highlight any problems design or code wise that you could foresee hitting me in the future. Thanks in advance, Synex Code Monkey

Share this post


Link to post
Share on other sites
Advertisement
Quote:
Original post by Synex
My problem is seeing problems down the road, i've never undertaken anything quite this big before and was wondering if i could call on your collective intelligence to highlight any problems design or code wise that you could foresee hitting me in the future.

Once you've removed human interaction, your game is really just an RPG. NPC interactions are always somewhat predictable and (unless you are the guru of AI) it's pretty much impossible to simulate the human player. That said, it's still a pretty cool idea.

First, I see a problem with your ratio to NPC/star systems. It seems like the chances of running into an NPC is very small. There's only a 1 in 5 chance that there will even be an NPC in the star system you're in. Then, the chance that you would even see the NPC in space is small. If you were talking 1000 NPC's within 50 star systems, it would still be somewhat of a low, but acceptable, ratio.

On the other hand, if you would like to keep all 5000 systems, the number of NPC's would have to be great (at least 100,000). The code managing NPC's would have to be pretty beefy.

By the way, have you considered how economy is going to work? This tends to be a pretty big issue with designing MMORPG's. What's being traded and why?

How are you storing the positions of NPCs/players/planets/etc.? In a game of this size, positioning becomes another issue. Imagine you store a game object as x, y and z, all three being double-precision. As the numbers get larger, the less accurate they are and movement becomes more jittery. Objects become misshaped. They no longer move in a straight line. Cats chase dogs. Duke Nukem Forever hits store shelves. It gets ugly, man! You'll need to develop a more complex positioning system.

Honestly, I think you should try creating a smaller version of your game first and build up from there. Perhaps, create a tech demo of space combat. Then, maybe a trade demo and so on and so on.

[EDIT]BTW, shouldn't this be in "Game Design"?[/EDIT]

Share this post


Link to post
Share on other sites
I agree, start small, very small. Another issue is have the NPC's update. Will NPC's do things while you are gone? That is the one nice thing about the client/server setup of a MMORPG.

Other issues deal with generation of enemies. Will they randomly popup? Will they come from planets with a certain level of "crime"? So you can actually prevent space combat by fixing crime on planets. It's something to think about. With a way to "destroy" a problem in a game makes it more fun, a real sense of accomplishment (this is much more useful in MMORPG's where team effort can be used). I bring this up because it will be central to much of the issues with monsters in the MMORPG I'm working on (Once - http://www.once.net.nz) - we are still early in development, but hey! To many games in general have no sense of accomplishment when dealing with problems. You kill something it will randomly popup somewhere else :(.

"I love the open-endedness of mmorpgs, and think it can quite easily be squashed into a single-player game without loosing too much of the magic."

The fact that you say you can do an RPG without losing much of the magic is telling. Meaning, MMORPG's are just RPG's with lots of human players running around doing there own thing, ignoring other human players. While this is an over statement, most commercial MMORPG's (AFAIK) don't emphasize team play as much as they should. Much of this deals with the generation of enemies (as detailed above).

BTW, are you creating Privateer 3? If so I'm very interested (that's kind of what this sounds like).

Hopefully I was informative.

Share this post


Link to post
Share on other sites
Definatly brought up some interesting questions and ideas here...

First off, i'd say that 50% of the systems will have no life in them. Version 2 of the game i'm hoping to include player built structures, including mining rigs, factories etc, so the empty space will be primarly for:

A) exploring
B) Player colonisation.

The galaxy generation code throws some interesting things into the mix while creating the galaxy - it often includes a bad-land - a set of systems (usually 10-20 where the is lots of EMP interference - removes shields + lowers sensors) which i've got some cool ideas on how to show graphically. There is also a lot of other empty space for other stellar objects. Often clumped together are the 'core' systems - the gal-gen code starts by placing 2 - 4 'HQ' systems @ 1000 AD and then runs a load of algorithms at 'speed-time' from 1000AD -> 10000AD simulating wars etc. Each empire has a randomly chosen weight on 4 types of personality: War-Monger, Capatilist, Expansionist, Scientist and from there works out a history, a timeline, and seeds the galaxy with worlds.

It's come up with some interesting results so far:

One time it generated a galaxy with 4 starting races, but one of them wiped out the other three - in this case the galaxy should be seeded with a large number of ancient ruins, and systems where the planets have turned into roid belts. It also generated 6 pirate factions that inhabited the space left by the previous 3 races.

Another time it generated a galaxy with 3 races : all fairly equal number of systems - 1 with lots of war ships and a huge empire and the other two fairly small.

It took me quite a long time to get the system right, and it still throws up quite a few weird ones.

NPC interaction is mainly noticable around starports / stations. I've got a traffic control system similar to Freelancer in mind, where there is a lot of ships around all docking / undocking. Beyond that i'd like to make a dynamic quest system that generates quests for you depending on what you do.

I'm not very good at thinking up of game content, only game concepts, and therefore i'm trying to program as much as possible to be generated dynamically. The theory is to have small pirate bases to spawn. If they are left alone, the bases grow and the surrounding systems will have a greater number of pirates in. Also, things like police protection etc will have an influence on this (you wont find any pirate bases in 'core' systems.

The 'story-npcs' are basically just to appear in news etc - their names never changed, but they are likely to get included in dynamic quests etc. The 'active' npcs will change in relation to the system you are in - if you are in federation space, you'll likely have a large number of active federation npcs around.

The npcs in the system you are in will all be active, but will likely be destroyed when you leave - ingame explanation is that it will take a few 'days' to jump from system to system - it'd be weird to see the same people in the same place again and again - a major immersion breaker for a RPG i find!

The game has 2 coordinate systems - none of which *really* relate to each other. At the galaxy level, you have each system. The galaxy range is say +1000.0 -> -1000.0 So a system will have a 3D coord based within the galaxy.

Within a system each planet will have a coord, again it could be +1000.0 -> -1000.0. I'd actually like to see if i can generate a proper galaxy with stuff orbitting around other stuff, but i think it'll take a lot of work to do that.

I'll also look at planetary landings but at the moment i think i'll keep it all in space.

The economy will be fairly simple to start with - mainly buy/sell like Elite. I'd also like to see a stock market later on, and also to include mining, gas mining, planet mining, player-crafting, player factories and a tech tree. Oh yes... a proper dynamically generated tech tree!

Thats just a few ideas, as i say - its in the early days at the moment but i'm looking forward to it!

Your suggestion of keeping it simple is a very good one, i think i'll make it a simple space-sim to start with, and then probably a major re-write after i know what i'm doing! The 2nd version will aim to make the player-interaction affect the galaxy more, and include the dynamic story system so you can see you name in the newspaper!



Quote:
Original post by coderx75
Quote:
Original post by Synex
My problem is seeing problems down the road, i've never undertaken anything quite this big before and was wondering if i could call on your collective intelligence to highlight any problems design or code wise that you could foresee hitting me in the future.

Once you've removed human interaction, your game is really just an RPG. NPC interactions are always somewhat predictable and (unless you are the guru of AI) it's pretty much impossible to simulate the human player. That said, it's still a pretty cool idea.

First, I see a problem with your ratio to NPC/star systems. It seems like the chances of running into an NPC is very small. There's only a 1 in 5 chance that there will even be an NPC in the star system you're in. Then, the chance that you would even see the NPC in space is small. If you were talking 1000 NPC's within 50 star systems, it would still be somewhat of a low, but acceptable, ratio.

On the other hand, if you would like to keep all 5000 systems, the number of NPC's would have to be great (at least 100,000). The code managing NPC's would have to be pretty beefy.

By the way, have you considered how economy is going to work? This tends to be a pretty big issue with designing MMORPG's. What's being traded and why?

How are you storing the positions of NPCs/players/planets/etc.? In a game of this size, positioning becomes another issue. Imagine you store a game object as x, y and z, all three being double-precision. As the numbers get larger, the less accurate they are and movement becomes more jittery. Objects become misshaped. They no longer move in a straight line. Cats chase dogs. Duke Nukem Forever hits store shelves. It gets ugly, man! You'll need to develop a more complex positioning system.

Honestly, I think you should try creating a smaller version of your game first and build up from there. Perhaps, create a tech demo of space combat. Then, maybe a trade demo and so on and so on.

[EDIT]BTW, shouldn't this be in "Game Design"?[/EDIT]

Share this post


Link to post
Share on other sites
Yes and no, the npc's will esentially be 'dead' while you are gone. However, the 2nd version will hopefully include the dynamic empire system which will manage the npc empires in a very simplistic strategy game simulation. Systems will go to war with each other etc. However, almost all of this will be done mathematically with a little randomness thrown in for good measure.

Example: Empire A attacks Empire B in System X - System at war for ~3 game-months. If you enter this system at the time, you'll see lots of ships shooting each other, and you'll get shot at depending in your standings with each empire. Demand for weapons etc in this system will skyrocket, as will taxi missions to get people out! At the end of the ~3 game-months, Empire A wins and takes over the system.

Over time this system could completely change the state of the galaxy from when you generated it. I'm planning tho that when you quit the game, the galaxy gets 'saved' and stops.

I like the idea of fixing crime on planets to get rid of pirates - i'll have a think about it.

And no, i'm not making privateer 3 exactly... tho i must remember to crack P2 : The Darkening out of its box sometime to check it out. This game is aiming to be a hybrid of all the genre. Elite, Frontier, Privateer, Freelancer, Freespace 2 and most recently Eve-Online. I loved Frontier's massive universe and feeling of immersion, Eve-Online's depth and story-background, Freespace 2's combat. Yes, it may be an ambitious project, but as i said... we *all* have our games that we dream to make!

Quote:
Original post by duffolonious
I agree, start small, very small. Another issue is have the NPC's update. Will NPC's do things while you are gone? That is the one nice thing about the client/server setup of a MMORPG.

Other issues deal with generation of enemies. Will they randomly popup? Will they come from planets with a certain level of "crime"? So you can actually prevent space combat by fixing crime on planets. It's something to think about. With a way to "destroy" a problem in a game makes it more fun, a real sense of accomplishment (this is much more useful in MMORPG's where team effort can be used). I bring this up because it will be central to much of the issues with monsters in the MMORPG I'm working on (Once - http://www.once.net.nz) - we are still early in development, but hey! To many games in general have no sense of accomplishment when dealing with problems. You kill something it will randomly popup somewhere else :(.

"I love the open-endedness of mmorpgs, and think it can quite easily be squashed into a single-player game without loosing too much of the magic."

The fact that you say you can do an RPG without losing much of the magic is telling. Meaning, MMORPG's are just RPG's with lots of human players running around doing there own thing, ignoring other human players. While this is an over statement, most commercial MMORPG's (AFAIK) don't emphasize team play as much as they should. Much of this deals with the generation of enemies (as detailed above).

BTW, are you creating Privateer 3? If so I'm very interested (that's kind of what this sounds like).

Hopefully I was informative.

Share this post


Link to post
Share on other sites
Quote:
Original post by Stompy9999
Isn't this the plot of .hack?


I dunno whats .hack?!? :S

Can you post a link?

Share this post


Link to post
Share on other sites
Hmm... well, they say there are no new ideas under the sun...

*scratches his head*

I googled it and couldn't find anything about it... I'd like to find out some more if someone can post a link or explanation?!?

Share this post


Link to post
Share on other sites
Sweet cup and cakes! Argh... noooo... not... Not ANIME!!! :S

Ok, having taken a good look at .HACK i can, quite gladly say... it will be ab-so-lute-ly nothing like .HACK!

There will be no: "Book of Twilight" or "Battle Mode / Play Mode" or any other kinds of weirdness.

Ok - first and most obvious difference... Its going to be in space. Second, it seems as those in .HACK the 'Single Player/MMORPG' is more of a story concept, where as my game aims to combine the best parts of a mmorpg (crafting system, massive universe, infinite replayability etc) into a single player game.

So sorry, nothing like .HACK - that looks weird!

Share this post


Link to post
Share on other sites
Quote:
Original post by Pipo DeClown
I'm totally convinced this is the gameplay of .HACK!

.hack doesn't appear to even take place in outer space nor does it seem to involve trade. I fail to see the comparison. As for the MMORPG comparison, .hack is a game _about_ an MMORPG where synex's game is meant to be _like_ an MMORPG.

Share this post


Link to post
Share on other sites
Quote:
Original post by coderx75
Quote:
Original post by Pipo DeClown
I'm totally convinced this is the gameplay of .HACK!

.hack doesn't appear to even take place in outer space nor does it seem to involve trade. I fail to see the comparison. As for the MMORPG comparison, .hack is a game _about_ an MMORPG where synex's game is meant to be _like_ an MMORPG.


Well, thats the theory at least.. we'll see how it goes :)

Share this post


Link to post
Share on other sites
Quote:
Original post by Synex
The economy will be fairly simple to start with - mainly buy/sell like Elite

Hehe, Elite was the first thing that I thought of when I read your idea. I started playing that game when it came out back in '85. I still play it sometimes to this day (Apple emulator).

I dig the galaxy generation idea but the unpopulated planets sound a little boring, to be honest. The high EMP planets sound quite frustrating. Does the player know beforehand what he is in for before setting out on the journey? Don't get me wrong. I'm down with anyone interested in improving on the concept of Elite. It just sounds like you may be sacrificing the player experience for the sake of concept and none of these concepts are easily implemented.

Do ya have any completed game projects? You'll need an arsenal of experience to get this baby off the ground. ;-)

Share this post


Link to post
Share on other sites
Quote:
Original post by Synex
Sweet cup and cakes! Argh... noooo... not... Not ANIME!!! :S

Ok, having taken a good look at .HACK i can, quite gladly say... it will be ab-so-lute-ly nothing like .HACK!

There will be no: "Book of Twilight" or "Battle Mode / Play Mode" or any other kinds of weirdness.

Ok - first and most obvious difference... Its going to be in space. Second, it seems as those in .HACK the 'Single Player/MMORPG' is more of a story concept, where as my game aims to combine the best parts of a mmorpg (crafting system, massive universe, infinite replayability etc) into a single player game.

So sorry, nothing like .HACK - that looks weird!


Well that's good, .hack is kindof annoying...

Share this post


Link to post
Share on other sites
Quote:
Original post by coderx75
Quote:
Original post by Synex
The economy will be fairly simple to start with - mainly buy/sell like Elite

Hehe, Elite was the first thing that I thought of when I read your idea. I started playing that game when it came out back in '85. I still play it sometimes to this day (Apple emulator).

I dig the galaxy generation idea but the unpopulated planets sound a little boring, to be honest. The high EMP planets sound quite frustrating. Does the player know beforehand what he is in for before setting out on the journey? Don't get me wrong. I'm down with anyone interested in improving on the concept of Elite. It just sounds like you may be sacrificing the player experience for the sake of concept and none of these concepts are easily implemented.

Do ya have any completed game projects? You'll need an arsenal of experience to get this baby off the ground. ;-)


Hmm, the EMP thingy is still in planning, but is going to be one of several stellar phonemonon (sp?!) - i'm hunting around for more on google as we speak. Hopefully it shouldn't be too annoying, and you don't HAVE to go there. Obviously, certain rewarding missions may send you there, but i'd like a large part of the game to be discovered while playing. Too many games these days have everything written in the manual (even if it is a PDF) where i'm aiming for the game to be closer to real life where you go "Hey! WTF is going on with my ship!"

None of the consequences should be fatal tho, you can jump out of such systems straight away, or you can venture in... not knowing what your getting yourself into!

As for game projects, I've gone through all the normal ones like Pong, Pacman, Gorillas with proper physics and in 3D. I also wrote a dance-mat game for my sister that allows her to record her own dance-moves to songs.

As for something this size... nope, never tried it. I'm planning on building it modularly, i've put together the galaxy generator in Visual Basic as it's basically a database construction application. This allowed me to create data-structures etc without having all the hassle of C++ / W32API surounding it. Now I know exactly what I have to do to accomplish it, i can re-code it in C++.

I'm also outsourcing for a lot of the code, using OGRE for the graphics, Lua for scripting etc.

The next step on the road is to put together a decent space-simulator! I'll probably be basing it on the Freespace flight-model cos, althought Newtonian physics are accruate - they ain't very fun for dog-fights! I liked Freespace's responsive model far more the X:BTF's 'Flying through soup' mode...

[Edit]

Oh yeah, and the uninhibited planets - i'm undecided at the moment quite how to handle this. One idea i had was for the majority of the map to be unexplored. The 'core' systems would obviously be explored and heavily populated, surrounding by some systems with remote outposts etc. The map beyond that will be shrouded out, and will only unveil as you explore. This would also lead to possibilities of alien races etc on the other side of the galaxy - i think that would be a quite fun gameplay element.

I always liked Frontier's MASSIVE galaxy - even tho i never bothered to explore much of it, it always helped with immersion, and also - its always a nice feeling to go mining out on the frontier, and then head back to home!

Another idea i had was possibly to include 'liquid' space, another dimension that would open up after you do something plot-based and start spewing aliens out of it. You could develop and construct a ship from components of destroyed alien ships, and then travel back into liquid space, which would be completely different...

Just a few ideas anywho!

Share this post


Link to post
Share on other sites
while not in space, morrowind is very close to the best elements of a mmorpg in a single player game. It even has an extensive construction kit so players can create new content for themselves and others.

I agree with others, start with a smaller scope and expand. If your design is osund and modular, then the amount of changes should be trivial to get it working. If your design needs to be changed, then it will be easier to see where the problem.

Its good to see you understand you only need to give the appearence of a living world, and dont actually need to have one.

Share this post


Link to post
Share on other sites
Your "newtonian physics are accurate..." statement got me thinking about something. Are you going to implement any kind of special relativity effects into this game?

An issue that might arise is...how are you going to allow for 3 month long wars and at the same time use realtime combat and interaction?

Using relativity might actually allow you to get past that issue...depending on how fast your ship can move, hundreds of years could go by on stationary planets and galaxies while you're off travelling at near light speed around the universe for only a few minutes.

Share this post


Link to post
Share on other sites
Wow, you seem to be doing well on this(far better than I on a very similar game).
Keep going strong!
If you need a space sim, Vega Strike is an open source space sim, I'm sure there are others, and the Freespace code has been released(fun looking at if nothing else).
http://vegastrike.sourceforge.net/

Share this post


Link to post
Share on other sites
Quote:
Original post by RolandofGilead
Wow, you seem to be doing well on this(far better than I on a very similar game).
Keep going strong!
If you need a space sim, Vega Strike is an open source space sim, I'm sure there are others, and the Freespace code has been released(fun looking at if nothing else).
http://vegastrike.sourceforge.net/


Hey thanks!

I'll definatly take a look at the source for that Vegastrike.

I've found in the past that you tend to spend 50% of your time on getting 90% of the features in, and then 50% bug-fixing! It's trying to stay focused during that stage that is always the most taxing.

If the game carries on to go as well as it has so far, i'll write a series of articles explaining the process from choosing code-bases to use, engine design, data structures etc which i know would definatly help me, and others too!

I've got the Freespace code lying around somewhere, i'll dig it out and have a close look at their input handling code. The 'feel' of a flight-sim is usually hidden in there, and i'd like to get that Freespace 'feel' to my game.

And then... I need to come up with a name!

Any suggestions?

Share this post


Link to post
Share on other sites
About the Freespace 'feel', one interesting quirk is that when you're using a joystick(all I ever used to play it) and you 'turn', move left and right, you not only turn but roll slightly downward as well. This may have been a rendering bug, but I don't think it was. Anyone else know of what I speak?

I haven't been there for a while, but for more FS2 goodies,
http://freespace.volitionwatch.com/
You may want to check the community's enhancements to the fs2 source and their forums for what people are looking for in a space sim.

Oh, and definitely put in a zoom, it's the only reason I consider Star Wars: Starfighter a good game(too short and easy).

http://joystickrequired.com/
Publicity, feedback, and perhaps a better focus on space sim games there.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement