Hello,
I want to introduce myself, explain how I got to this point in time,and explain why I am here.
My story will at times be a very laughable tragic comedy for many of you, but in the end when I am successful it will be worth humbling myself.
I will at times use terms that may offend some of your sensibilities, but I do that out of ignorance and welcome proper criticism to further my understanding.
I am an accountant.
I have no idea how to program/code although I am attempting to teach myself what I need to know.
I play a particular open source voxel based game. I love this game. At night after I put my son to bed I can play it for what seems like hours, as it truly allows me to clear my head and focusing on the game actually helps me work through real world issues …. like common core math … for all of you who have a child in elementary school.
The game is a world building strategy game
As a person with a mind that processes information in a set way there are aspects of the game which I simply do not and can not get my head around.
I have raised these issues on the game's forum and I have been advised, albeit politely, to either sit in a corner with my mouth shut or develop my own game.
I have decide to do the later.
The game is written in C++ so that is where my journey of discovery began.
CodeBlocks, Irrlicht, Ogre3D - all geared for skilled coders and not designed for beginners
Unity – easy to understand interface but uses strictly C# and therefore I would be unable to implement any of the original game’s code.
Unreal – demands cutting edge hardware which would prevent the game from being played by some people.
Horde3D, Panda3D – dependency issues prevented them from being compiled(another issue my brain cannot get around)
Godot – easy to understand user interface and integrates C++ code
So of course I have decided to go with Godot.
So what are the issues of the game that troubles me ..
1 - The income you earn in the game is based on time and distance yet the game's clock is not synced with the game's calendar. A day on the calendar will tick over after only 8 hours has ticked by on the clock. Shouldn’t the two items be synced together and a day equal 24 hours?
2 – You must build roads and they must utilize a stair-step design. Why not diagonal? The developers state it is an issue with the voxels yet the railway aspect can use angled elements. Then they said it would interfere with the cities. But, why not use right angles to exit a city then merge into a diagonal road?
3 – As an accountant I want to see where the money comes from and where it goes. Not just lump everything into an “other” category.
4 – This is a biggie … when building across a river or hill one can not create a diagonal bridge or embankment so you end up with all of these monstrous “S” shaped configurations just to move across 2 tiles. You do not see that in the real world.
5 - One can not save your avatar. I like playing different scenarios so I start and stop games all the time and each time I have to rebuild my avatar. There was a patch created which would save one’s avatar but the developer’s opted to not incorporate it into the main trunk, the developer grew tired of updating it all the time and so it become un-useable in the newer versions.
6 – Relative distance is an issue. As stated one’s income is based on distance and yet distance can be different in differing scenarios. In my humble opinion a tile should always equal a certain distance.
So where do I begin and how do I get to a workable product
First although I eventually hope that players will modify the game I want to begin in a real world environment.
I know the earth has an equatorial circumference of 26295 miles and a polar circumference of 26207 miles.
Most images of of the earth opt for a perfect sphere configuration so a height map will be in a 2 to 1 configuration I have found one which is 4096x2048.
Coming from the voxel world a tile/cube should be equivalent to 5 feet which means the playing field for a whole earth would need to be (26295x5280)/5=27,767,520 by 13883760 tiles
To be honest I am still trying to figure how a voxel equates to a 3D environment
I have been studying Games From Scratch tutorials and their height map tutorial begins with a blender mesh which appears to have a proper grid but I do not believe a pixel based game field is feasible.
So the first thing I need to learn after I figure out how to build a 3d game field is how to place a real world 15 foot item onto the game field.
An in game editor. Bastiaan Olij has a video ...
which shows a very good terrain editor and I will be studying it further to find how to make it a usable entity within the game, because sometimes you just want to flatten a hill. ;) Of course when the terrain is lowered there will need to be a function to maybe then fill it with water.
I want to use a clothoid or a spline(second choice) system to build paths, roads and railways.
If you go to … http://www.dgp.toronto.edu/~mccrae about half way down there is a section titled “Sketch-Based Path Design” which has a video of how I would like the system to work and the source code for his project. I do not have the skills yet to get the source code to compile but I am working on it. It seems Qt is finicky. But, never the less the video gives a clear example of how I want my environment to function.
The HappieCat has assured me that with a fuller understanding I can use perlin noise to generate and place specific items onto the game field but, I would also like to discover a way to translate GPS coordinates onto the game field so that I can place real cities in their true locations. A long time ago I saw a Python based planet earth which used a text based file to place pointers on the surface of the sphere(bookmark has been lost due to my stupidity), so I know it is possible I just need to learn how.
And, of course there are the basics of 3D game development static sprites, collision, terrain textures, and path-finding which I need to learn.
Fortunately there are several video tutorials which I am currently studying to help me understand those aspects.
So, I hope that between Games From Scratch, HappieCat, and others I will develop a deep enough understanding of coding to at least get a functioning game up and running and allow the world to perfect it
Thank you for reading my rant and I look forward to hearing from some of you and maybe even working with a few of you.