Or multiple moons On to a procedural solar system!
Itās awesome to see the world generator with improved meshes and textures. J.J. Franzen has done a great job. Iām sure seeing thisis a very rewarding experience after working on the underlying system for so long. I know it was in my case when I first used imported assets. How do you think you would have reacted if you could show yourself from a year ago this screenshot?
Definitely! Who needs to fight over Alpha Centauri when the planets of the solar system are so much closer?
J.J. has definitely done some great work! Making some things happen that I had written off for many months down the road.
Heh, I donāt even know. A year ago I only had the vaguest idea that I wanted tectonics and climate systems in the generator without having a clue as to how they would even happen, especially before I figured out Voronoi. Projection, well that wasnāt even in the realm of possibility back then.
Now you got me wishing I had a hundred time traveling clones of myself to come back here and help knock the rest of this game out. lol
Itās 2015. We should have those by now! Though in my case Iām actually getting some of the same benefits by putting my toolkit on the marketplace (I know you arenāt going to). That way I have lots of people developing my blueprints in all different directions, and if I wonder how they did something theyāre usually willing to share it with me Still, Iāve probably spent 10x as much time giving technical support so far as Iāve saved time this wayā¦ Itās all good, though. Letās me identify the less intuitive parts.
Yeah, even if I did want to sell the generator on the marketplace, the amount of tech support I would have to provide for this beast would more than I could bear.
I have only added in land/water data using the image. I could do the same thing for with topology, precipitation, etc. Nice to see that my weather system put deserts and jungles on the earth map where they belong though!
That your weather system managed to recreate something fairly close to the real thing is actually extremely impressive. Shows you really did your research when you designed it. Are you planning to include this as a feature players may use? Importing their own maps, I mean.
Yeah, and Australia would probably also be arid if I had used a map that included Antarctica. It would have put Australia at the correct latitude for desert creation.
Also, with the mountains not lining up correctly with the landmasses, the rain shadow is out of whack, so applying another image for topology should go even further.
The only major missing piece to the weather system is situations like the Indian Ocean and the Middle East. My system will drench land west of the indian ocean, whereas that doesnāt happen in reality. May or may not address those edge cases in the future, as I am pretty happy with the current state.
For sure! They can upload better and/or altered earth maps, Azeroth, their face, or whatever map they want to play on. Should add quite a bit of replayability, and definitely aid in scenario creation.
Well, thatās what I said about Minecraft. But now I am making a minecraft-like game in 2D (really the same difficulty, algorithms would just need some copy pasting for 3D).
Yeah, it can even be hard for me to go back into some of these systems without having touched them for a few months. I recently split the generator into a number of blueprints for each function, and now I am going through refactoring, combining variables into structs, etc. Hopefully making everything faster, more flexible, and more readable as I go.
@, mind elaborating on how you fixed the sphere warping (conversion from xyz to polar)? Definitely curious to hear what the problem was with your earlier screenshotted BP doing the conversion.
I would love to explain that, if it had happenedā¦
Right now it is fairly accurate, but not perfect. I basically eyeballed the difference between the projected vector and the expected vector and found that I could add the playerās location(which also matches the center of the sphere projection) to the hit vector and divide by 2 to get pretty close to the correct flat vector.
I have a couple ideas about what might be causing the remaining inaccuracy(need to flatten the player location before adding, need to ensure the Z is correctly zeroized, need to make sure the already high poly sphere is high poly enough for a smooth collision sphere surface, etc), but it was close enough for the time being. Needed a rest from that problem.
Your system is amazing, . Iām astounded that you have done all of this in blueprint. Iāve just started using the Unreal Engine these past two weeks and am working on a hex based game. The information in your threads is invaluable. Thank you for all your hard work.
I have a few questions. Iām sorry if they are silly or if I have missed things that should be obvious; Iām still really new and a little overwhelmed at times with all the information Iāve been cramming in my head.
I am curious about how you are handling changes to underlying terrain. You say that you have been deleting each other instance and then respawning them.
Is there a reason for deleting all of the other instances, or has this changed with the updates to the engine? From what I understand the ability to delete individual instances didnāt exist in older versions. Iām trying to make a map with destructible terrain and Iāll need to be able to change meshes on portions of my (hopefully large)map almost every turn if my ideas work.
Iām still thinking of ways to handle my data. I was thinking of creating a struct to handle all of the data for an individual hex then using a two dimensional array of said structs for axial coordinates. Iām not sure if that is going to be really inefficient compared to your method of using multiple arrays but I want my maps to have a variably sized hexagonal shape overall and donāt think I could implement your method of handling locations of hexes. Iāll post up a thread on my progress when I have something to show. Again, thank you for sharing what youāve done, it has really helped me get a clearer direction on where I need to go.
Yeah when I first implemented the instancing the easiest method at the time was to just clear each instance reference and respawn everything. It was basically instantaneous, so it was good enough at the time.
I havenāt actually moved to a single instance update system, but it is on the near term to-do list. I recently compiled key tile information into a struct that holds the tile transform, the reference mesh, and the instance # among other useful tidbits. So, when it comes time to update, I will be able to make a single array call, get all the needed info, and update as necessary.
Using a single struct array is the way to go. When I started you couldnāt create structs in blueprint, and then when they implemented them, I wasnāt at a point where I wanted to go back and rewire everything.
Lately I have been going back struct-ifying things, but I am still hesitant to compile things into a struct early in the process when it isnāt needed. For instance, I donāt necessarily need the struct containing precipitation when I am generating tectonics. So for right now, a lot of things are being left alone in the generation, but then they are being compiled into a big tile info struct at the end.
I still have a lot of work to go through everything and create structs in places where it would save time. For instance, there are areas where 2+ arrays are called, which could otherwise be turned into a single struct array call. In the end, it may end up being best to just compile the struct from the get go.
Well I seriously consider this to be a better map generation system that found in any other civ game and that isnāt something I would want to give away for a reasonable price. Besides, the amount of tech support I would have to provide would overwhelm me.
You may want to go through my earlier threads depending on your current level of knowledge. Things get pretty complicated so V3 may not be the best starting point.
I havenāt shown much progress lately(past 4 months) due to work and a near death experience, but in addition to what is shown here I have split the map generator blueprint into sub-blueprints for each function, put the generation on tick so it doesnāt freeze the game when you hit play, added some good UI elements with the help of JJ Franzen, and some other random stuff. Working on redoing the river system with pathfinding which should hopefully roll right into unit pathfinding.