Can I code a living being?

in #life5 years ago (edited)

This post is suitable for everyone, not only for software developers. It's the explanation of an idea I had.

e6v7vgot8v.jpg

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!

@otosclerosi

Sort:  

Yes. @otosclerosi
You are crazy! 😜

The crazy ones

I wish I was as crazy as those people in the vid :D

To listen to the audio version of this article click on the play image.

Brought to you by @tts. If you find it useful please consider upvoting this reply.

Congratulations @otosclerosi! You have completed the following achievement on the Steem blockchain and have been rewarded with new badge(s) :

You made more than 10 comments. Your next target is to reach 50 comments.
You received more than 250 upvotes. Your next target is to reach 500 upvotes.
You got more than 10 replies. Your next target is to reach 50 replies.

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!

You can upvote this notification to help all Steem users. Learn how here!

Coin Marketplace

STEEM 0.28
TRX 0.12
JST 0.032
BTC 69425.42
ETH 3746.80
USDT 1.00
SBD 3.77