• Advertisement

Archived

This topic is now archived and is closed to further replies.

game idea feedback!

This topic is 5854 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

Hi ... I''ll try to keep this as short as I can! I''m looking for some feedback on some ideas I''ve been playing around with for ages now. I want to create a game. A very BIG game. I''m not gonna talk about the goals of the game, or any other particular details, but I''ll concentrate on the universe where the game takes place. And that''s where I''ll start. The Universe. The game will take place inside a galaxy containing between 2 and 4 million stars. The galaxy will exist within a volume of space approximately 10,000 light years in diameter. The player will be able to fly freely to any star within the game universe. Many of these stars will have there own planetary systems. I want the player to be able to visit any planet within the galaxy (although not many will necessarily be populated). To make this realistic, I want to be able to fly over the planets surface - with a highly detailed lanscaped. This will need some serious algorithm to provide the LOD that I want from close range, but still be able to render with acceptable speed. Also, some planets will have water on them - I want to be able to fly (?) underwater too. So far, there are three distinct rendering problems here: 1. Creating a fully traversable galaxy, containing millions of stars. 2. Handle solar system mechanics. 3. Render detailed landscaped from massively varying distances. #3 is by far the most difficult. But it gets worse. Say a planet has a space port on the surface, or a space station in space. I want to be able to land the space ship in the space port/station. And then allow a player to wander around. Therefore, the game will have to become a FPE (First Person Explorer ) This brings a further level of complexity to the game. Here''s some of my thinking on how to implement the above. The galaxy itself isn''t really a problem. I''m using a fairly fast octree algo to work out which stars are visible from a certain point in space. The visible stars are then stored in a seperate list for rendering. The number and types of planets around a given star are generated using a seeded random number (making the process repeatable), so no data needs to be stored. All data will be calculated when the player enters a given star system. The Planets themselves are gonna be a bigger problem! There will be basically two kinds of planets - gas giants, and rocky planets. Some of the rocky planets will have water on them etc. To generate the planets, I''m thinking along the lines of using heightmaps to create the basic layout. From there, I''ll create a texture which will be applied to the planet when viewed from space. The heighmap will then be used to create the vertices when viewed from close range. Using a variation of a ROAM type algo, I believe it''s possible (using psuedo random techniques) to build up a detailed landscape in real time. I may have perhaps 50 to 100 different heightmaps, and then randomly alter the pixel values to create totally unique planets. Then comes the problem of creating unique space ports/stations. I''m possibly going to create a modular design, when different random ''components'' can be joined together to create inside areas that also seem unique. Also, to make the (inside) textures different, I may have some kind of template system, where a polygon is tagged as a computer console/door/wall etc, and load different template texture libraries to add variation. (Did that make any sense?). A cool feature that I would like to add, is to perhaps have arcades inside the space ports/stations where players can play other games within this game I might even have this facility from within a players spaceship! The reson for this, is that I''m going to limit the interstellar speed that a player can travel at - maybe to about 1 light year every 10 seconds. This means that to fly from one side of the universe to another in one go would take over 27 hours!!!! So - If a player wants to take a reasonably long journey (like about 10 minutes!) he/she can play space invaders or something from with the cockpit! OK - the above may seem a bit jumbled in it''s presentation - but I hope you get the general idea. What do you think of the concept? And more importantly, please try to pull the idea apart - both technically and conceptually. The more feedback I get, the better - it can only improve the final game. Any suggestion/criticisms will be greatly appreciated. Cheers

Share this post


Link to post
Share on other sites
Advertisement
It seems to be a great idea. I like the idea of a huge universe
for the player to explore.

But I am afraid that it may not be practical to have up to 4
million stars and planets. And by the way, what is the goal of
this game. It would bore people a lot if there is no obvious
goal to reach.

It would still be a game in spite of these unclear points. I am
sorry that I am not able to give you any advice on how to
implement it.

To conclude, I suggest
1. Give a clear goal for the player
2. lower the number of planets
3. and increse the details of each planet instead
4. try you best to do it.IT IS A GREAT IDEA.

I am looking forward to hearing your good news.

Q:"Why it doesn''''t work?"
A:"There is a mistake."

Q:"Who made that silly mistake?"
A:"The one who write it."

Share this post


Link to post
Share on other sites
But there is a a very strong game idea behind this - I just don''t want to give anything away yet! As far as I know, It''s pretty original!!!! Sorry I can''t give away any more details

Share this post


Link to post
Share on other sites
Neat idea! Finally something new coming up (all those FPS games are boring...).

I think you shouldn''t tell too much. Watch out, someone might snatch your idea! Try to program this as much as you can on your own (just a tip).

And as said, 4 million stars is way too much for the player to explore! Try to evolve your game idea so that the player is not allowed or not able to get out of bounds. Also, mark a few planets with "hostile environment" so that the player won''t land on a plaet such as Jupiter

You can divide a few LOD-levels into different parts. The universal travels can be separated from the planets, just to simplify a little. But a continuing flight throughout the game will be one of the most magnificant gaming-experiences ever! Try to work this out, shouldn''t be impossible...

Well, I don''t have much more to say. I haven''t worked with this kind of programming (how many have? It''s a new idea!), so you''ll have to figure it out for yourself.

Good luck!

Share this post


Link to post
Share on other sites
There is actually a reason why I want the galaxy to contain so many stars. There will be significant ''rewards'' for players that choose to explore beyond a localised area in space.

Also, there will be many different types of planets. Imagine gas mining stations floating in the atmospheres of gas giants etc.

One problem that I will have is having different reference points when flying ... If you''re stationary relative to the galaxy, a planet will move away from you at ridiculous velocity. Therefore a change of reference will be necessary when orbiting a planet, likewise when flying over the surface

Share this post


Link to post
Share on other sites
Also, I would ultimately like to make this into a multiplayer game. Here''s something else that is new. Imagine Elite, where you can upgrade ships. I want players to be able to club together and fly two player ships! Perhaps one pilot, and a gunner?

Share this post


Link to post
Share on other sites
This sounds sorta like a game idea I came up with. Back when the N64 was first coming out, I came up with an idea for a space exploration/shooter/FPS game.
It was supposed to be a real time strategy game. See, you are in charge of your forces, and there would be a number of different species in the universe. You can do all sorts of diplomatic actions, as well as controlling economic forces (buy up all the metal, and control the market) etc.
War can be waged as follows:
You tell your forces to do whatever, such as drawing up specific missions.
Example:
You have a target such as a huge capital ship with fighter support. You can send 1/3 of your fighters to attack and run away, acting as a decoy, and have the other 2/3 attack in another direction. Then when you execute the mission, you can either just let it happen and deal with something else, or watch from the general area, or even take control of the ships.
You can also choose to capture the capital ship or simply destroy it.
As for planets, you can actually land there and build up bases.
Since I was planning this for the N64, there would have been penguins that you could pick up and take with you.
I was also planning on having the Solar System we live in as a hidden area in the game. I was thinking that you could land on Earth and mess around with that.

Anyway, I was planning on having an editor to create your own ships, but there would have to be a good physics engine to make sure that ships with deformed wings won''t be as effective as a ship that is symmetrical.

As for the planets, land battles would have to be included. This would be a full real time strategy game instead of a specialized one like Homeworld or Starcraft.

When you think about it, this could only really operate as a MMORTS. Lots of servers that are running the regular operations of the planets probably. It would be difficult to implement and make sure it scales nicely. Of course, adding parts of the universe won''t be hard. Just expand.

-------------------------
(Gorgeous graphics)+(beautiful sound effects)+(symphonic music)+(no gameplay) != Good game

Share this post


Link to post
Share on other sites
I was thinking about a game like this a while back. The vast number of star systems is a challenge, but it can be done. The system that Elite used can be adapted for a 3D universe. In that system, the stars were layed out on a 2D map, and when it needed details on a star, the star's map coordinates were fed into a pseudo-random number generator, the output of which was used to generate the details of the system (like the number of planets, planet names, climate details, etc). The key is to create a good fast P-R generator that gives the appearance of randomness, but will always return the same output for a given input. My implementation went a bit further than this; I could request a series of numbers from an input of three numbers, and the size of the series requested was itself treated as another input. For example, I could call PR_Gen(x,y,z,3) and get a completly different set of numbers than if I called PR_Gen(x,y,z,5). But PR_Gen(x,y,z,3) would always return the same 3 numbers.
I had planned to implement this in a sort of Level-Of-Detail paradigm, which was the only way I could see to get the star count high enough. It went something like this:
Top level - the whole galaxy. This is divided up into, say 100*100*100 cells. I was going to use a table with the same dimensions to store values representing the star density of each cell. This allows a nice swirling galaxy shape to be created by hand. I never worked out an effective way to render the galaxy at this level, but I was looking at some sort of volumetric technique (at this level, you cannot see individual stars, but you might percieve a kind of grainy effect).
Second level - a single cell from the top level, and this is also divided up into 100*100*100. Take the coordinates of the cell in the top level representation, feed it through the P-R generator, and use the single output to represent the star density. Again, render just as a haze, rather than individual stars.
Third level - a single cell from the second level, etc.

You keep dividing like this until the size of a single cell is small enough that individual stars can be discerned. At that point you switch to using the P-R generator in much the same way as in Elite, using the coordinates of the star within the cell to determine things like the color/brightness of the star, name, etc. At a single-star level, it can generate the number of planets, etc. At a planetary level, you can use the same P-R generator to provide the input for your geography generation algorithm.
The point is to interpret the output of the P-R generator in a way that is appropriate to the current LOD.

You now have an entire universe in your computer, with very little disk space used. A player's location is given as a series of coordinates, starting at the top level, and continuing down as far as is necessary.
I wish you luck in this venture.

Edited by - plasmadog on February 4, 2002 6:49:24 PM

Share this post


Link to post
Share on other sites
Thanks Plamsadog.

You have had a very similar idea it seems. Using the PR methods, you can have an (almost) unlimited universe to explore. This is exactly what I''m trying to achieve.

Here are my ideas on incorporating the various techniques to achieve this.

Flying through interstallar space is simply a case of using an octree to work out which stars are visible from a given point in space. No big deal. As the player enters a solar system, using PR you can create the planets etc on the fly. To fly into a planets atmosphere, you simply use fog to represent the density of the atmosphere. when the fog is dense enough, you can ignore the stars. As you approach a planet, you take a pixel from the hright map to provide a very low detail terrain map. As you get closer to the planet surface, you use the PR numbers to sub divide a pixel to whatever level of detail is necessary ... the only problem here is making sure the adjacent pixels have consistent vertices for the terrain, so that no artifacts appear. Say a planet has water on it (depending on it''s distance from the star, and some random factor) - then you simply say that heightmap pixels less than 127, say, are below water - therefore you don''t need to render them, rather you just create a water (or other liquid) texture in it''s place, which sit''s on the average surface level. To randomise planets, you simply need to alter the pixel values by +/- 2 say - which will give a unique appearance to each planet. Say you approach a Mars like planet (no surface water), you simply find another PR number which offsets the water level to zero - therefore no water.

If games like Elite, back in 1980 something, can do this on home computers, then it will be a relatively simple job to do the same on even my hardware (PII 350 + GeForce DDR). I KNOW this is achievable without much presure on the CPU.

Please give more feedback - I want to be knocked as much as possible, because this will organise my own mind as to what is possible/impossible

Regards

Share this post


Link to post
Share on other sites
Say a user flys from one star system to another. If I defined the max speed as one lightyear every ten seconds, and we use our own local space as a reference where the nearest star is over 4 light years away ... this give 40 seconds to calculate all planetary data, generate heightmaps and planetary textures etc. This (running as a secondary thread) gives more than ample time to be invisible to a user. OK - say on low end hardware, this realises a framerate of 15 FPS ... so what? It''s irrelevant in this context! The time to travel between different solar systems leaves plenty of room for manipulation. This is the beauty of a large universe to explore. That''s why I want a really large galaxy to explore. Also, I want an average star density similar to that which we see in real life.

Share this post


Link to post
Share on other sites
Firstly the number of stars/planets is nothing to worry about. You''re oubviously going to generate then real time fractally or whatever and only need show a limited number at any time - no problem. People are going to say what''s the point in x million planets, but people will also like the ''I''m the first person to visit this planet idea''

Now on to rendering a planet surface as you arrive from orbit to surface. Well depends on what level of ''realism'' you want. To get a high level of detail on the surface you''ll be needing many large textures and heightmaps and ROAM - not imposible but maybe impractical. I''ve been trying something similar and just build a version that (kind of) works - planet.zip ~1.3MB. I don''t really want loads of critisisms, I''m the first to say there''s a few things to iron out, the point is if you don''t mind the cartoon like look to things, then it works.

Share this post


Link to post
Share on other sites
Newframe ... check out http://www.flipcode.com/tutorials/geomipmaps.pdf

It''s an alternative to the ROAM algo. I''m looking into this right now

Share this post


Link to post
Share on other sites
Thanks but I''ve read through this once before. I still think ROAM is a better way to go. I admit mines quite CPU intensive but hell I like my PC to give off loads of heat - it keeps me warm at night! (press F3 while running the demo and you can see the spliting & merging (mostly) working.

Share this post


Link to post
Share on other sites
Thats an awesome idea. What i think what would be really cool is to make the whole universe fractally or whatever, than having all the bodies and everything numbered or something seperate. And have all of this on a site, where people can check up on things. Have it so you can claim a planet. Maybe play god on the planet? and keep a central database on whose doing the best with their planets. Rage intergallactic wars. This could be the ultimate multiplayer game. If you tied in 3d dogfight/space travel/Populous/Starcraft type games all into one complex game. Wow. that would be fun.

Share this post


Link to post
Share on other sites
With regard to travel times, I''m not sure that I would want to sit and stare at the screen for those long trips across the galaxy. You might consider giving your players the ability to earn faster travel methods. I.e, earn enough money, buy this super-drive: 1000 light years per second. Or, better still, allow them to construct (for an enormous initial investment) some sort of stargate/wormhole passage that any ship could pass through. That allows the player to charge other players a toll for use of their facility, and also makes for much larger trading networks.
I don''t know if you are aiming for a trading game, but if you simulate a universe like this, people will want to trade in it.

Share this post


Link to post
Share on other sites
OK ... I don't want to give to much away here ... but trading will certainly be an element of the game. I've already decided to have 'jumpgates' between certain planets. Also, I want to the user to buy long distance gates, whereby the user (for a large fee) can leap a long way in a matter of seconds

But I'm also gonna limit the locations where a user can jump to - I don't want anyone to go anywhere! The reason for this is that there will be incentives to explore the galaxy.

BUT - as I stated ... I want to provide some sort of inflight entertainment! Games within games, if you like! This will be easy to implement - possibly as some kind of add in. Can you imagine playing a game whilst flying between stars. And if you get the highest score of the day, for example, you'd get extra credits or something! Maybe I'll even implement a lottery into the game! lol

Edited by - Shag on February 4, 2002 8:56:56 PM

Share this post


Link to post
Share on other sites
will you plan on having all this kept on a central server somewhere and having it multiplayer? I think that would make the game infinitely more fun. Not that it wouldnt be really fun without.

Share this post


Link to post
Share on other sites
Whether this would make it onto a dedicated server or not is out of my hands! To start with I''m gonna make a single player version, to test the various technologies. Ultimately I will make a network version (I have about 10 years of commercial distributed networking experience), but whether or not someone will host it is another matter! I would like to think so.

Share this post


Link to post
Share on other sites
Thanks!

Although that won''t really be an issue for a long time yet! A VERY long time! lol

Share this post


Link to post
Share on other sites
Well im sure you could get some people to help you do stuff. I''d help you but i doubt i could. It seems like a lot of people like your game idea.

Share this post


Link to post
Share on other sites
Yes, I can imagine playing a game while flying between the stars. But only if I were ACTUALLY flying between the stars and had nothing better to do. If I am playing a SIMULATION of flying between the stars, for which I must find time in my busy schedule, and I am faced with a travel time of several hours, I do not want to be sitting at my PC the whole time. I would rather exit the game, do something else, and come back to the game later when the journey is almost over.
What I am saying is that a real starship would have an entertainment system in order to alleviate boredom. Rather than simulating the entertainment system, a better solution is to simply not simulate the boring bits of spaceflight. You are going to have your hands full making just this one game, why make more? You can''t expect them to be up to the standard of the commercial games that your players will already own.

In the single player version of the game, just provide a time-skip feature. If it makes it to an online multiplayer incarnation, then the internet provides a whole world of things to keep the player occupied.

Share this post


Link to post
Share on other sites
Now there''s an idea ... a web browser built into the game!

Share this post


Link to post
Share on other sites
More seriously - I don''t want people just leaping to the other side of the galaxy. They must work there way across it. That''s why I want a slow progression outwards. Part of the ultimate game idea (TM) is the prospect of ever broadening game horizons. No quick and easy exploration. There will be superficial elements of Elite type games in there - but that will be a minor part of the game. I want an interactive universe that is mission based (but not in the usual sense of the word).

Say for example, that a possible objective is to go somewhere and do/get/see something. The rewards should be that many players (in multi-play) would all be fighting to be the first. This would make an agressive environment whereby the winner takes all. That''s kind of why I like the idea of two (or more) players joining forces to buy a ship that requires more than one player to operate. This will force co-operation, but the final reward would be halfed! This could create a situation where Allegiances are formed, until it suits a player to break them. Everyone back stabbing everyone else! lol. A way to make friends and enemies!

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
Cool idea. The only thing I want to mention is that even though the world is huge, there will be walls. If the player reaches a wall then all the trouble making it huge is almost a waste. Does this make sense? If it doesn''t then you can disregard this comment.

Share this post


Link to post
Share on other sites

  • Advertisement