I'm Kyle Perik from Milwaukee, Wisconsin, 21 years old. I'm a developer, in my free time I work on whatever is on my mind whether that's language design or just simulations or visuals. I also enjoy cooking, gardening, bonsai and piano. Otherwise I'm working from home for a software insurance company.
I'm looking forward to getting to know everyone! It's good to have an outlet for things as well as a place to check out what other cool things cool people are doing :)
@kyle Welcome Kyle.
@kyle If you're into bonsai and programming, I'm a musician with a thought for a bonsai-themed ambient musical app.
But no biggie if you're not into that.
@jankoekepan oh neat, what's the gist?
@kyle Basic idea (could be done in 2D or 3D, really) is simBonsai.
In a nutshell, that's it. Peaceful music. Pretty graphics. A set of random-biased rules that result in a bonsai growing. Users can interact with pruning, watering, debarking, wiring or otherwise maintaining their bonsai.
It's almost like interactive art, but that's what bonsai is, so why not?
@kyle Different rulesets give different species of tree, and so on. Lots of scope to get fancy, but very simple idea.
@jankoekepan coincidentally I had somewhat of the same idea a while ago and I have been more or less mulling over it for the past year or so.
I started a project called plantsim (which my friends thought it would be funny to misspell plantsam) which has come to a halt. The plant grows slowly over time. Pretty boring. https://plantsam.kyleperik.com/
The idea with this was to focus on procedurally generation and genetics. But I like your idea... Maybe I'll mock something up.
Simbonsai (we'd need a better name) would be something like an interactive plant sim. Somewhere between a tamagotchi and simcity.
Would you like a mockup of some music behind the idea?
@jankoekepan yeah, for sure.
I'm thinking 3d might be more difficult but probably worth it in the long run. I have some experience with THREE.js so I think I'll give that a shot.
@kyle Makes sense. For 3D you'd just have to have a 3D representation of each node of plant growth, really, in your data structures. That way you can also link the higher nodes to lower, and get emergent properties for things such as apical dominance.
@kyle Oh, I should have checked - any particular audio model? Looping, or a tracker-like system, or multiple stem channels that the game mixes between?
@jankoekepan To be totally honest, I'm not too familiar with those terms lol. I'm more of a just guitar/keyboard musician.
You can do whatever you think will work best
@kyle I was talking about THREE.js. What system does it use for producing audio?
Here's a good resource ^
Otherwise I'm also thinking about trying this library out so it might require a bit more effort if I go with this one
Though there certainly is some examples of the lower layer `regl` which use audio:
@kyle Well, I'll start with just .ogg files and see where we go from there. Cool?
@jankoekepan Sounds good.
@kyle By the way, if you're thinking seasons, I can do a track (or version of a track) per season. Any thoughts on that?
@jankoekepan Yeah, I think it could vary by season, or even weather? It could be mixed in with just ambient sounds as well.
@kyle Can do. Season and weather.
@jankoekepan Got a _simple_ prototype as a rendering of the possible structure of a bonsai.
There is still much to add. First an actual mesh for the tree with thickness. Then I'll have to start looking into growth, and good ways to interface with the tree.
Feel free to collaborate/play around with it here https://github.com/kyleperik/simbonsai
Well, it rendered for me just fine, so so far, so good!
If you think of the tree in terms of node size, shape and so on making up the whole of the tree, then growth can be a consequence of age (trunk thickening), available nutrients from leaves and roots and so on? Then of course budding activity on each node giving rise to more nodes, based on whether or not the tree (for example) has living bark there or not.
@jankoekepan Yeah, for sure. We could even go really in depth like root pruning and using different pots and lighting to guide the growth. I was thinking the style could be low poly?
Low poly is good. It can look good, even with cel shading, and run well on limited hardware.
@kyle I do also think that we can start with an MVP and sort of develop from there. If things are basically rule-driven development, then we can elaborate on rules step by step.
In fact, I propose that we figure out an MVP now. I suggest: a 3D rendered tree that will grow algorithmically based on a light source, while soothing music plays.
@kyle You still around? I'm about to upload a first draft of a growth background tune.
Merveilles is a community project aimed at the establishment of new ways of speaking, seeing and organizing information — A culture that seeks augmentation through the arts of engineering and design. A warm welcome to any like-minded people who feel these ideals resonate with them.