Tree simulator
-
This sounds like a really interesting idea - if you wouldn't mind, please add me as a Switch friend as I'd like to see your program to get a better idea of what you're doing. I'm sure you've explained it well, but I can't visualise it.
Friend code is: 5139 4176 1902
-
@Something I love the idea! Once you've got it working, I think you may find use -- if you don't mind a trip down the rabbit hole -- for Perlin Noise. You can use this stuff to randomly generate everything from trees to landscapes to whole planets. Simplex noise is better, but that's got some intellectual property issues bogging it down. There's an algorithm called OpenSimplex that looks promising, because it uses a different method to Ken Perlin's Simplex and isn't patent encumbered.
Blah blah blah I'm rambling, may as well just look at the original noise algorithm, if you're interested.
-
@Something It's funny that you're working on this, because I've been thinking to myself lately, "computers are so powerful today, why aren't more game developers simulating the actual environment versus purely just making better graphics?"
Nothing against better graphics, mind you (hardware ray tracing ftw)! But it's also pretty low ambition conceptually.
"SimEarth" came out in 1990, and probably ran on a 286; can you imagine that concept, but on today's processors?
Anyway, once you get the tree part working, you could do other aspects of nature, like erosion. I wouldn't even bother making a "game" out of it yet-- lots of classic 70's and 80's games started out as pure tech demos; you could "gamify" it later.
-
@SteveZX81
Thanks, I see it now.@Dave
I'll do that. Be warned though, the code could accurately be described as a "dumpster fire". Read it at your own risk, it has an effect similar to that of drinking from the wrong cup in Indiana Jones films. The "tree" itself hasn't been started yet (only as a little nub of placeholder graphics), I only have the basic layout and screen and stuff.@Zero-Division
My original plan was to make it isometric and have a whole forest interacting with itself. It would have used the process you mentioned to create statistics for all the ground materials and salinity, pollution, moisture and such. But it's way out of my skill level right now. This is more of test to work out if I should even try that way.@Spacemario
There has been some aspects of this in recent games, Breath of the Wild is a good example. I would personally be happy if graphics in mainstream games stayed as they are for a while so physics and interactivity would become the focus of the next generation of games. -
Do you know that tree simulator is an actual game on steam?
-
Just looked to confirm. Yes, yes it is. I guess I need a new name for this then. The one on Steam appears to just be a 3d model that you can look at, I didn't want to spend real money to find out.
Possible new names for this project:
"The artist formerly known as Tree Simulator"
"The revenge of the killer Tree Simulator"
"The Original Tree Simulator"
"The Official Tree Simulator" (certified and accredited by the tree in my garden)
"Tree Simulator sponsored by O2"
"The last remaining record of those strange green fluffy things that existed back the early 21st century"
"Bob"
"Call of Duty: Black Ops 4"
"Best game!!! Five Stars!!! Did not sell my identity to scammers!!! Would sell kidneys for again!!!!"
"War and Peace: The Game"
"Citizen Kane II: Kane Harder" -
Tree Simulator 2: The Branch Line
-
Nice one, could be part of a Treelogy.
Made a bit of progress, placed placeholder art for "Base, Lower middle, middle and upper middle" parts of trunk. Did it in a really messy way in the code, seriously, you don't want to see how I did it, hopefully I'll sort that at a later date but it just works for now.
One thing I'm struggling with now is how to give attributes to art. As in, if I have a tile of rock, the attributes should be something like:
"Organic matter=0, Water=1, Minerals=5"
How do I make the program understand that every rock tile should have these attributes?My instinct says some kind of "If" is what I need, but how do I keep it localised to the tile and not apply it over everything?
-
If your "Art" is a sprite then you can simply add the properties to it, like so:
bob = createSprite() bob.lives = 3
-
@Something If it's a sprite, do exactly what Martin says. If it's not, you could just use a multi-dimensional array of structs to represent the tiles.
-
@Martin and @Spacemario
Thanks, I'm trying something like that now, not finished but will report back if it works or not.@Dave
I shared the program to you, and left some notes in the code. -
@Something Thank you! I've received it, so feel free to unshare if you didn't want it available for everyone.