Hey everybody out there. As the title might say, I want to start a new game project and there for share my code from last 6 month.
My idea was to give it the following features:
smoothed terrain shape - not cubic like so many other games (the visual main aspect of this project)
interactive world, everything destructible and possibility of building things
gameplay - survival, exploring, fight against hostile creatures
huge variety of items, materials
logic item crafting system - I already worked on a basic structure (no code)
Just for example : To build a tool you will not need specific items rather than materials with specific attributes like hardness or flexibility. The properties of the created tool will be calculated from the used materials.
I also worked on a complex system of custom alloy creation in game. I can imagine, it will be fun for the player to figure out the best combination of materials.
realism - I want to keep the world and gameplay as realistic as possible. Not first in graphic and sound but for example taking existing elements like oxygen or lithium instead of inventing new ones.
I would like it, to have an educational aspect as well. Many things I actualy learned by playing video games. This can be an opportunity especially for young players - and even older ones. Learning by, well not doing but playing. I can imagine there will be a tooltip button for each item, material, object, landscape … which describes the progress of manufacturing, use or even historical things, that of course will be researched well.
mid to high level graphics
some more features i am not yet sure about:
exploring other planets and solar systems
maybe a more primitiv theme like medival or even stone age
I spent more focus on game mechanics right now.
multiplayer would be cool
implement an easy way to modify the game
My name is Robert, I am from germany and 23 jears old. My programming skills are 100% self tought. I started with lua 7 years ago, c++ since 3 years and this is actually my first project in unreal engine.
Well yes, the code may look a bit confusing and unconventional to more experienced programmers than me – sorry for that !
I will add comments and of course continue working on it over the time.
what I have got right now
The project generates a chunk based landscape using the ProceduralMeshComponent. I also tried the RuntimeMeshComponent PlugIn, which made no significant difference for my purpose, so I swiched back to ProcMesh. Plants, Rocks and many other objects will be StaticMesh.
An earlier version of the project had an „infinite“ world in X and Y direction. Assuming one block is equal to 1,20m (see settings.h) the viewdistance would be something about 9 to 12km which is quiet ok, I think. There for I built a lod system:
Every chunk, no matter what lod state, holds 40 x 40 x 40 = 64.000 blocks. Every increase of the lod state doubles the chunk size so that only every 2nd, 4th, 8th … block will be generated from noise. Every block then fills the whole area of 2 ^ 3 = 8, 4 ^ 3 = 64, 8 ^ 3 = 512 … blocks.
When generating 7 lod states ( 0 to 6 ), the 12km can be achieved easily, because the lod6 chunks have already a size of 3km instead the 48m of full resolution chunks ( lod 0 ). It is also easily possible to double the generated area multiple times additionally using lod states > 6. If the surface is not to complex 8 to 10 is stil a realistic value which mean 50 to nearly 200km.
I started to change the setup 2 month ago giving it „infinity“ in Z direction. This change, in combination with some other optimizations, is nearly finished. It is playable, but the generation time has slowed down for some reason I could not figure out yet. I have added a debug version of chunk generation (which is much faster but has cubic terrain, not smoothed).
I will give my very best to fix this the next days.
Just by the way, I am an autonomous dealer and service for lawn mow robots. You can imagine, there is not much time left for programming in summer season.
I have a very lot of ideas for this game which can not all be listed here. Most of them game mechanics as already told above and most of them are written down in a stack of paper. I will try to post them in a logical order soon.
I really belief this can become something great. At least I want it to become a very awesome game - the result is what matters most ! But for that I need the help of all you out there.
Everyone who is interessted in joining this project: Get a look at my code here !
Take a look at the new pictures too !
Does anyone have an idea for some other places to put this ? I am really serious with this project !
The project is currently build with unreal engine version 4.19.2
If I have time, I will add some branches for development and features in progress (maybe move to github). I chose gitlab just because it’s free.
Who ever has experience in organizing such projects, programmers, graphic and sound artists, every important position I forgot here and who ever has the feeling that he or she can be an enrichment is welcome to join.
I thank for every kind of feed back and support
I will keep this post always up to date.
Please note, that this project is ment to be a non comercial comunity project.