The TerrainTiler class library is now progressing very well. Not loading actual tiles yet just random color HillHeightMaps but it’s working and quite flexible: so far I’ve tested a 3×3 grid and a 5×5 grid (shown below) code also allows 7×7 and 9×9, i’ll test these later, getting late here.
Tomorrow I’ll tackle loading actual terrains with textures and finish off a few functions.
Code is up on GoogleCode so others can look at or test it, currently it’s a project for jMonkeyEngine SDK so you can load the whole project into the SDK and just run it.
Thanks for reading!
I haven’t forgotten this project, never will. Unfortunately other issues and jobs in my life have caused delays.
Still working on breaking TerrainTiler out into its own class, being an old-school structured programmer for so long its taking me a lot of effort to unlearn old styles and learn the newer OOP stuff. I think I have the concept of classes and objects coming together in my head but making a new class of this scale is proving a challenge. Especially with all the other distractions in my world.
One thing I have been active with is idea and concepts on many aspects of the game itself, the world, the characters and the game play. All just ideas and subject to changes so for now they stay in my head but they will come out here eventually and I get more confident on them.
Currently thinking of going full first person gameplay, I know this is not the normal for an MMORPG but maybe I have a few ideas to make it work and be different from the many other games out there. Maybe, time will tell.
Stay tuned, I am on holidays for a bit as of today and this project will be getting some love.
As always, enjoy.
That was quick 😀
Getting progress on the TerrainTiler routine, still need to break it out into its own class and give it threading but it is working and frame rates are still good.
Terraforming tools are also coming together nicely, currently I can smooth the whole visible terrain, paint it with different textures, scale the textures and swap them out for others.
My planning is to have 4 textures per tile but each tile can have 4 of however many textures I decide to have available, this way each tile stays simple but I can have a vast array of different textures to suit the varying type of areas across the map. Also this allows me to put a lot of detail in such as normals/glow/specular maps as I need without breaking the limits of the older graphics cards.
And here are some pics to look at as words are boring 🙂
(The small oval is my “Player” (no pretty models yet, mechanics first). I use the player to test the physics of the terrain for issues as I go. The dome is the tool, adjustable in size.)
Until next time!
Different Textures per Tile
LoD on terrain
Quick update, not much has changed visually but I’ve had to rework the terrain code, well I’ve gone back to an older version I was working on and fixed it. Why? because the terraingrid function of jMonkeyEngine wasn’t working out, sure it was fast and easy but it was also very memory hungry, like I managed to clock up over 7GB of memory just wandering around the terrain. Sorry, no, not going to work.
So back on to my own TerrainTiler code, I’ve managed to bring its speed back up to at least equal to that of terraingrid. Which is impressive as terraingrid was only 2×2 visible tiles active (and 12+ cached <= the memory issue) where as my tiler routine is a 3×3 patch of visible tiles (no cache, new tiles saved to disk for later re-use). So my code gives me more visible ground and distance so less chance of a player seeing the landscape “popping” into existence as they wander around but still allows for a very large terrain.
edit: My routine is still using the jMonkeyengine TerrainQuads for each tile but they are treated individually and loaded in and out as the player moves, where as the built in TerrainGrid is 4 quads loaded as one and swapped in/out as the camera moves.
I’m very happy I managed to get that code working, now just trying to fix the terra-forming code to suit the new routine. Being a pita but I’ll work it out. Once I get those sorted and can tidy up and modify my terrain I’ll be able to post some more pics.
Until next time! Thanks for reading!
I haz one 🙂
Just a jetty on the shoreline in the terrain editor for point of reference and scale… (and to show I’ve not been asleep… much…)
Terrain Editor – first object.
Object is from the free community asset pack with the 3D engine. I’ll make my own objects when I’ve got the base code filled.
FYI the engine I’m using is the jMonkeyEngine.
Back to work!
Here’s the base heightmap I’ll be starting with, still waiting on GIMP to release 16-bit grayscale function to do it right, unless I compile it myself… nah…
With the map being 50 x 50 tiles each 512×512 the full image would be 25600×25600 which is a large amount of data and computer told me to go away. So I generated it at 10000 x 10000, cut it into 50 x 50 tiles then upscaled each tile to 512×512, took most of the night as the image converted wasn’t multi-threading. All good as I slept 🙂
The resulting tiles will be a little flat and noisy from the upscaling but that will sort out as I optimise and terraform the land.
Writing my own landscaping tool for this, gives me what I need and help me to learn the code side of the 3D engine I’m using.
Full Heightmap for TheGame (reduced of course
Quick upload of an early sketch of the main town, nothing set or to scale yet but this will be the general idea of it.
Early sketch of the main town
This new site will be the home for a game that I’m developing.
A place for my ideas, sketches, screenshots etc as it progresses.
As of yet the game has no name. It will be an MMORPG game set in a typical RPG Swords and Magic style universe. I’m planning a lot of features that at this stage I’ll keep secret since I’ve only started things will change. The Game will have a bit of everything in a (as yet) totally new style of game.
The World as this stage is planned to be a large continent of (maybe) about 100km x 100km surrounded by a few islands around the coast.
New players will start by getting off a boat onto a dock by a town that was old and large but now mostly destroyed. New buildings have been built around the docks as settlers move in, rebuilding on the remains of what was. There are only rumours of what happened, all that is known for sure was that this must have been a large prospering town as the remains of many buildings were found with a huge fortified wall separating it from the rest of the land. Many fine works of craft were found by the first settlers and a few hidden stashes of gems and gold. Most of the town though had appeared to have been pillaged as it was destroyed. The wall was partially destroyed and is in the process of being rebuilt, settlers have been here for a number of years now and with the exception of a few wild animals there has been no real threats. The new Mayor however is taking no chances, seeing how the town was found in such a state, and has ordered the wall rebuilt and fortified with new technology and magic. Little does he know how his wisdom will pay off as trouble is brewing in the lands once again.
And thus is begins, a new story, a new world…