This post is suitable for everyone, not only for software developers. It's the explanation of an idea I had.
Advice: relax and read this while drinking a cup of tea or something, it will be quite long :)
The premise
When I was 13, and I was writing software in C / C++, I had this feeling that I could do everything I wanted just by coding it right.
After many years of coding, I realized that I wasn't totally wrong but it wasn't easy as I tought at the time.
One of my first complex projects was a life simulator, which I called LifeSim (yes, an unexpected name), that is the subject of this post.
Now I'm almost 26, and I never really finished that project. I came up with some releases, I deleted everything many times starting again from scratch, I changed the programming language...and here I am, starting it again from scratch.
What am I talking about?
The idea is quite simple: I want to simulate a living being in the most accurate way without involving artificial intelligence at all, just a simple "monocellular" creature that simulate life and natural selection.
Indeed, this creature should be able to live in a virtual environment (coded and generated by the same software) in which it will find food, climate and so on.
The creatures and the world
The creature will be generated using a sort of DNA file: the program will be launched everytime a creature has to be generated and will read DNA data from a file or a database table.
Thanks to this, each instance of the program will have different stats like Strength, Health, Aggressivity and even a unique Immune System (for the geeks: it will be based on arrays).
The world generated by the main software will have a sort of checkerboard with spaces: in this checkerboard, each instance of the program can move and meet other instances.
In that case, based on gender, stats and age, the creatures can communicate, fight, fall in love or other kind of interactions.
Thanks to the DNA system, they can generate "eggs" that contain a mix of their DNA and that can be used to launch another instance of the program, thus leading to generate another creature, a son (or daughter).
The creatures will have to face illnesses, climate problems (e.g. too cold, too hot, too pollution), natural events and even overcrowding.
The creatures theirselves will produce pollution and climate change due to their action.
Integration with the system
My idea is to let the creatures read and parse some system values (such as RAM size, free space on hard disk, CPU type...) to use them as parameters.
For example, pollution could be a value based on how much free space you have on your hard disk. The less you have, the more the world is polluted.
RAM size could be linked to world size, with a checkerboard size based on how many GB of RAM your PC has.
The only thing that won't be PC-related will be the standard temperature. This will be extracted from websites such as weather.com and will be the real local value.
Today on a PC, tomorrow everywhere
Finally, I would like to provide them a way to "escape" from your home computer.
They could detect pen drives, external hdd and lan/wifi connections to "transfer" themselves on other devices and be executed (via autorun maybe, or simply manually creating a text-file begging for opening).
This is a critical point, because is really near to the "virus" concept.
I don't want to cause harm or to scary people, but I would love to see my creatures suddendly spawning everywhere without interaction by me.
For sure, in this case I should code them very safely without any security issue.
But...why?
This is a legit question.
And has no real answer.
I would love to see this project finished soon or after, but has no real implementation or any type of goal.
It would be just a thing that I would be proud of.
So, Steemit people, what do you think about this?
Am I totally crazy or is this project just a little interesting?
I would like to hear your opinions and advices, it would mean a lot to me :)
Cheers, and have a wonderful day!
Yes. @otosclerosi
You are crazy! 😜
The crazy ones
I wish I was as crazy as those people in the vid :D
Congratulations @otosclerosi! You have completed the following achievement on the Steem blockchain and have been rewarded with new badge(s) :
You can view your badges on your Steem Board and compare to others on the Steem Ranking
If you no longer want to receive notifications, reply to this comment with the word
STOP
To support your work, I also upvoted your post!