A downloadable game for Windows and Linux

Download NowName your own price

Try particle life in higher dimensions. 

Heres a brief explanation of how the 4d view works: 

First we project to 3D using  a 4D camera, here you can explore the projected scene using a normal 3D camera that works just like in 3D scene. Now lets look at the 4D camera. Its a spherical camera that always looks at center. By pressing q,e you can move the camera closer or farther away from the center, by using j,k,l,i,u,o you controls the angles of the spherical camera, changing where it looks.


Update 1.4:

- render mode, render your simulations with different renderers, available in 3D scenes

- IntensityField renderer, transforms plife into intensity field and performs ablending to compute colors for all pixels

- you can now screenshot your simulation with built in function, simulation can now be paused, fixed gravity bug in 1D


Update 1.3:

- gravity is introduced, pulling all particles down or up


Update 1.2:

- reactions, particle now have probability clouds and can change nearby particles into different ones

- 4 new color palettes

-  5 new relation types

-  3 new spawns

 - options to randomize relations and reactions in game

- you can try 1D now, variables that were local to scene like particle size are now saved between scenes


Update 1.1:

- 6 new spawns, fog, fullHDD

- u can stop screen from being cleared after each frame, you can now change camera speed, you can now see the depth map

- depth maps, now it draws objects in order, for 4d there is a 4d depth map using distance to 4d camera

- there are some major optimizations, if you set influence to smaller values simulation now runs faster, points that would be too big to draw are not drawn preventing lag spikes

StatusReleased
PlatformsWindows, Linux
Rating
Rated 5.0 out of 5 stars
(2 total ratings)
AuthorTucan444
GenreSimulation
Tags2D, 3D, 4d, particle-life, Singleplayer

Download

Download NowName your own price

Click download now to get access to the following files:

1.41 ParticleLife.zip 27 MB
1.41 ParticleLife Linux.zip 25 MB
1.4 ParticleLife.zip 27 MB
1.3 ParticleLife.zip 27 MB
1.2 ParticleLife.zip 27 MB
1.1 ParticleLife.zip 27 MB
1.0 ParticleLife.zip 27 MB

Comments

Log in with itch.io to leave a comment.

Rather obscure angle to take an interest in. What prompted 4th dimensional modeling interest? Might make for a fantastic 'zen' render if it could be tricked into continuous generation with butterfly effect variables. Fantastic work, kid. You'll go far. 

Are their plans to make this playable on Mac?

I have a few interesting things I'd like you to add to your application. I'd put up $1000 to see them realized. Would you be interested?

Could I first see the list of features please. I am starting collage so there would be a longer delay than last time probably but yes I am interested. 

(1 edit)

The first change: Simultaneous Attraction and Repulsion. The interaction force between two types of particles should be both attractive and repulsive simultaneously for the same interaction, but at different distances. In your application we saw that the particles either repel or attract. So the interaction forces between particle types (particle colors) must have different ranges depending on the pair of interacting colors. This means that there must be matrix of interaction radii between all combinations of particle colours (particle types) taken two by two, one for attraction and one for repulsion. There must also be a matrix of the intensities of the interaction forces, one for attraction and one for repulsion. So, I would like to introduce 4 matrices, one for the intensity of the attractive forces, one for the intensity of the repulsive forces, one for the radii of action of the attractive forces and one for the radii of action of the repulsive forces. That would be the first change. For example: Red attracts Green at -7 for a distance of 12 and Red repulses Green at +9 for a distance of 4. This means that in the range between Red and Green of 0-4 they interact like this: -7+9=+2, i.e. Red repels Green with an intensity of +2, over a distance of 4. In the range 4-12, they interact like this: -7+0=-7, i.e. Red attracts Green with an intensity of -7, over a distance of 4 to 12. On ranges greater than 12 the two colours do not interact. In conclusion, Green will stay permanently at a distance from Red of 4, and will be trapped in Red's attractive force until another outside force greater than 7 pulls it away.

Second modification: The Probability of Interactions. Each type of interaction between two colours has a certain probability of occurring. Thus, we will have a probability matrix for each matrix of force strengths (both attractive and repulsive forces). The probability range will be (0%, +100%).

Third change: The Viscosity of the Interaction field. When two colours of particles interact, a force field is formed as described in the first modification. That force field will have a certain viscosity, which will brake or accelerate the interacting particles depending on the sign of the viscosity. The viscosity range will be (-100%, +100%). Negative viscosity will accelerate the particles, positive viscosity will slow them down.

Fourth change: The Asymmetric Probability of Reactions. Every reaction between a particle of colour X and a particle of colour Y has a certain probability of occurring, which is different from the probability of the reaction between a particle of colour Y and a particle of colour X. This is determined by a reaction probability matrix, which has values in the range (0%, 100%).

Fifth change: Asymmetric Reaction distances: Each type of particle has a certain reaction radius to a certain type of particle, within its reactivity range. For example, red reacts to yellow at a distance x1, but to yellow reacts to red at a distance x2.

Sixth change:  Reactive Affinity: This concept assumes that the particle of a given type (color) has the possibility of transforming into any of the other types (color), but with a matrix probability for each type of particle that enters in his reaction range. So the particle will change its probability matrix according to the type of particle that stimulates its reactivity. For examnple, in a reactive affinity matrix, red has a 12% probability of remaining red when a red particle enters its reactivity range but has a 33% probability of remaining red when a yellow particle enters its reactivity range, and so on.

Seventh change: Sequentiality. The intensity, probability and viscosity of each type of interaction will have different values for each distance unit within the range of interaction forces. In your application we saw that the attractive or repulsive forces have constant intensity over the entire interaction distance. The seventh modification would be to introduce variable intensities, variable probability of interactions and variable viscosity of interactions over the interaction distances. In the example above, Red attracts Green with an intensity of -7 over the distance of 12. With this second modification, these would be the interactions between Red and Green over the distance of 12: (-7, -5, +4, -2, +10, +4, -7, 0, 0, +8, 0, -2) with probabilities of (75, 23, 18, 99, 86, 100, 85, 33, 10, 0, 5, 64) and viscosities of (20, 14, 52, 0, 0, 65, 74, 4, 18, 90, 41, 11). A linear matrix is formed with different intensities for each interaction type, and another linear matrix for probability of interactions and another linear matrix for viscosity of interactions. Thus, Red can attract Green on some segments, but repel it on others with different probabilities and different viscosities.

Eighth change: Evolutionary Parameters: All simulation parameters can change over time. Each parameter (intensity of each type of force, range of each type of force, probability of each type of interaction, viscosity of each type of interaction, etc.) has a certain probability to increase or decrease by a certain user-defined percentage at each time step. Even the functions defining the intensities of the interaction forces have a certain probability of evolving, in the sense that they may increase or decrease by a certain user-defined percentage. The user will define a maximum value for the increase and a minimum value for the decrease for each parameter so that it does not evolve to values that can cause chaos in the simulation.

Ninth change: Circular motion. When the attractive forces cancel with the repulsive forces, and the force resulting from their combination is of zero intensity, then all the kinetic energy of the particles is converted into circular motion along the curved line where the forces cancel. The motion is not necessarily in the shape of a circle, but follows the neutralization curve, which can be circle, oval, or some other shape, but is always closed. This leads to the formation of a bond between particles and the creation of a meta-particle, whose edge is the line described by the edge of the particles moving on the neutralization curve. The particles remain bound until an external force (another particle or group of particles) intervenes to hit or influence them and remove them from the bound. With this property one can create groups of particles that form stable structures with stable bonds, necessary for another application option, i.e., the metaparticle.

Tenth change: Particle mass. Each particle colour has a certain mass. For example: red has mass 5, green mass 2, yellow mass 0, blue mass 8, etc. So each coloured particle generates a gravitational field around it whose intensity decreases as the square of the distance and with an infinite range. Mass can have positive or negative values. If the mass is positive, the particle will be a matter particle. If the mass is negative, then the particle will be antimatter. When matter and antimatter meet, the particles annihilate each other, producing a shock wave (repulsive force) whose strength is a function of the sum of the masses of the two annihilating particles.

It is also very useful to be able to save all the parameters of a simulation and load them later to run the simulation again and have the option to randomise any simulation parameter. Please disable the Escape key press action as I may accidentally close the simulation without saving it. It would be useful to have the 2D simulation space on the surface of a sphere of a certain radius set by the user, and the 3D or 4D on the surface of a hypersphere. That way it's easier to visualize and control the simulation.

Sorry but i'll have to decline.

(1 edit)

Not asking for much, was he? He was only asking you to to model aspects of quark-gluon interaction for a thousand bucks when I believe there's some enormous cash prize for someone who can pull it off in lower power computing environments. Wise of you to decline. A thousand bucks for what he would no doubt immediately claim credit & the big prize on IF you pulled it off. You're much more polite than I would be in such a circumstance. Wish I could remember where I saw the contest at, but it was some time ago now. 

I didn't even know. I was starting collage and had no idea how to do what he wanted, atleast some aspects of it. Also tired of working on this project for so long.

Firstly, I didn't have any intentions of claiming any credit for the work he would do for me. Why is that? Because that code would still be open source, open for the public to benefit from. I only offered him money to do this to compensate for his time and dedication, far from trying to steal anything or profit.

I have no idea what you are talking about and have no clue about any contest, I just wanted more functionality added to the software because I found it very useful and I am more than happy to help with ideas and suggestions. However, I see that you don't have the capacity to understand what the meaning of "help",  "open source" and "paid work" means.

I suggest you try to do the same in the name of public welfare, without any personal interest and the world would surely be a better place.

Thanks for scaring him and making him believe I am a scammer. Otherwise, go home and sleep well.

Please let me know if these interaction and reaction matrices can be viewed. On interaction, could you make each pair of colors attract but also repel simultaneously but on different ranges? I.e. red and yellow attract by 5 (for example) over a range of 3, and repel by 10 over a range of 1.

I didnt visualize them mostly because I didnt know how to.
Yes that would be possible but would require some changes, it would also have performance impact. Also what you described is already there as each particle has different size of pressure radius which is different for every combination.

Could all these established parameters be saved? What about the current state of the simulation to resume it later? In my github example all parameters can be saved via a save/load function. These parameters include these matrices which are the most important thing. I don't understand what pressure means in your simulator, nor the concept of fog.

(1 edit)

Might happen in future, I plan on introducing some things like, gravity, speed limit, light particles, load/save. Dont know when or if it will happen though focusing on different things in life now.

When I said gravity, I meant particles having mass.

That was just a random idea I wanted to try, also I dont remember you saying gravity.

(1 edit)

I paid the $100 as promised. Please confirm receipt. I made the payment via Paypal.

(3 edits)

https://buddhaman.itch.io/tims-insane-meta-universe

When two particles touch, they can change (i.e. there is a certain probability given by a matrix of reaction probabilities) their colours.

We have made a whole registry of options that could be implemented in such an application to make it as complex and realistic as possible. If all my options were implemented, the app would become a true artificial universe simulation tool. If you want I can give you the pdf with these options I thought of. Some are taken from other simulation apps and some are my own invention. I have no business interest related to them or the app. I don't want to make money from implementing them. What I want is to see them implemented in an app with an ok GUI and to be able to use them myself to relax.

I'm not a skilled programmer, that's why I'm looking to find one who does this out of passion and is also interested and fascinated by this project. I tried to implement something in a fork made to a project on hunar4321's github, but is not what I intended to do for final version. Here is the link: https://github.com/KhadrasWellun/particle-life

k, I may or may not implement them seeing if ill have time and motivation, if I finish it I'll mention you in comments

I will pay 100$ for it.

I made 2 updates to the game some changes that I thought were necessary and then most of the features you requested.

I left out recording and visualization of relation matrix.

Tomorrow I will pay $100 as promised.

Thank you soo much, I was kinda doubting you would send, well we're on internet. Soo thank you soo much for it.

(5 edits)

This app is the best app on the market! Great job! But to make it better, it should have some options: a visualization of the interaction matrices between colors, a button to randomize these matrices, the possibility to create a movie of the simulation, a neon color palette that gives a better contrast to better distinguish the colors at a large number of colors, the possibility to track a particular particle or group of particles, the introduction of a reactivity matrix so that the particles that touch each other change color, a more generous menu with better control of the simulation. I'm willing to pay $100 for it if I could see these additions in it. Are you willing to make them?

I will make it if you're willing to pay, not sure what do you mean by reaction matrix because particles are dont have colliders and are simply points in the simulation, currently particle size is for visual purpuses only I could use that for colliders but just asking for clarity.
It might take some time as I am currently focusing on project for #SoME3 making a video about 4D rotations, that will take me around 2 more weeks to make. I'll need around a month to do it.
I could send you the results  as videos of the features, then you pay and I'll make it public if that's fine.