I plan to make a large game where you can travel between planets, explore the surface of them as well as enter buildings and interact with the people living on them. It will be an RPG and have a Magic and Combat system also.
My main concern is Pandas lack of terrain and whether or not you can make the map loop like you are travelling around the planet. (If anyone has played Magic Carpet or Gene Wars i’m hoping for something like that.)
Thanks in advance.
nothing’s imposiible but there are limits
first of few questions:
-are you trying to travel between planets like in a space shooter where you can fly yourself?
-shall the worlds be full 3D, too?
-shall there be a seamless transition between space-travel and landing on a planet?
-shall the the planets have the size of an actual planet when you walk on them?(i guess not since it would kill harddisk out there )
-about cam&perspective? 3rd person? isometric? topdown?
well what you should be able to do is:
-creating a “looped map” (shouldn’t be to hard to realize)
-travel to different planets (would just require to load a new map)
-if needed you can add a space simulator to fly there by yourself (might be easyer if you use athmosphere entering for loading)
-well the usual rpg and macic stuff is no problem…
about your concenrs:
-panda does indeed lack a good terrain-code. someone wrote a python script to generate a terrain from a heighmap. but you can also create your map in blender or 3dsmax or maya or wherever and just load it into panda. you might need to split the maps ins smaler pieces. … well if you give me more details i can tell you a better approach.
-looping is possible (has actually nothing to do with the engine itself)
all you need to do is “copy” the map on the boarder again, and recenter the whole world after the player crossed the map boarder. (ok there is more to it due to objects and such… but basicaly…)
First answers to your questions:
-Travelling between planets will just be via teleportation so transition would just be loading a new area/level.
I’m glad that creating a looping map is possible. I think i’ll go with your idea of making the terrain in Blender since i’m already messing around with that at the moment. Thanks for the response I can’t wait to get started.
so basically you need some loop-able 1rst person levels.
well thats not too hard. you should be able to find several example when googling… ther was a nice one in the irrlicht tutorials… but looks like the file isnt on the server anymore.
once you read into it you can come up with a solution apropriate for you levelsize.
dont miss the clay tools intrduced in blender 2.40 =) prefect for caves/clifs/rocks.
when it comes to texturing the terrain you have lots of choices. i’m shure one of them will fit your needs, if not… feel free to ask.
I’m thinking about just making the actual planets and making all objects gravitate towards them within a certain distance. Would that be feasible considering it would have to render the terrain for the entire planet all at once?
do you intend to make your world a sphere? earlyer i thought you’r looking for a way to create a “normal” world which is just “looped”
using a planet like this
could already give you quite some trouble with the rotation of your player.
well rendering the entire planet at once is a bad idea. depending on the size a very bad one. the planet above gave ma around 0,9 fps… even lower detailed one didnt really go above 15 fps.
but you could use some kind of LOD. if you split up the planet in several regions you could only load the high-detail version of the region near the camera.
a 1rst person-walkabale spherical world is possible. and might be playable if you manage the LOD stuff right… but its definetly not an easy way to go.
there is a small programm called fracplane. it can create plain and spherical terrains and save them as POV-files. (although you could use OGLE to greb the terrain,too)
I was just running over some ideas and was checking to see which ones were better suited. I’ll probably stick with the loopable terrain though. I’ll check out that fracplane, it sounds good.
You’ve been tons of help ThomasEgi, thanks for your input.
dont expect too much from fracplanet. it exports pov only and the opengl capturing only works under windows (i think fracplanet is linux only or at least written for linux). you wuld have to make some code changes to fracplanet to get any data from it cause i there dosent seems to be any pov2something converters.
also the programm is for generating planets/terrain only. not for editing them.
geomorph might be more usefull for you. you can generate and edit heighmaps with it (including a 3d-preview … linux only,too (AFAIK)^^)
well good luck with your work. terrain is a bit tricky but there are lots of solutions.=)
If you want a particularly large planet for a particularly small file footprint, you may want to consider a procedural seed-based planet generator.
There is an exploration game called Noctis IV which literally models millions of stars, planets, and moons to a level of detail where every single one of them can be landed upon and explored. It takes advantage of a few deterministic algorithms that generate terrain, solar systems, and the galaxy itself from a couple of random numbers. What’s particularly neat about the game is that while it isn’t multiplayer, the fact that the algorithm is deterministic and seeded with the same start value means that everyone would see the same planet at the same place; if I tell you about a neat moon at such-and-such a location in my copy of the game, you can go explore it in your copy. The entire game is about 2MB, though it only runs at 300x240 resolution, 256 colors.
The downside to a procedural algorithm is that you have very little control over the exact details of your planets; essentially, you pick a random number, let the procedural engine crank out the planet, and if you’re happy with it, you take it; if not, you pick another random number. The upside is that it’s just about the best compression you can get, in terms of data size; often, the code to generate the terrain will be larger than the “data” describing the planet (and the code itself isn’t always a huge quantity). Your generation algorithm can also be made extremely dynamic; you can limit the amount of RAM you use by only running the generation procedure for each section of the world as you need it.
Actually I think i’ll go with the spherical planet, as it will allow me to not have to worry about the time as I can just gradually move them around my model solar system. Are there any tips for LOD you guys have? I was playing a remake of Doom (Doomsday 3d) which incorporated 3d models to replace the sprites, however at a certain distance away the models were replaced with the sprites, this seems like a good idea and I only noticed after many hours of playing.
Also what would be a sensible poly count for characters if I wanted to have 30+ on the screen at once?
Finally any tips on seamless indoor/outdoor?
why not just a normal 2d map? not like player will travel around the whole planet, only several spots would be of interest like cities/dungeons.
Lowers immersion. Its going to actually be a survival game as well, sort of the Sims meets a fantasy RPG. You need to eat, sleep and drink and find a job.
Jobs won’t just be quests either, you can make furniture, cook, work as a “doctor”, a law enforcer, firefighter, build houses. Its really ambitious and I might not get it done right but i’ll darn well try.
Also my extremely late delayed descision is due to the fact that I was mislead by the manual about collision tubes and was too shy to ask what was wrong.
I might go change that so nobody else has the same problem.