Jump to content
  • Advertisement

Archived

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

game idea feedback!

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

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

Participate in the game development conversation and more when you create an account on GameDev.net!

Sign me up!