[alpha0.1] Intelligent Design/Guidance [WIP Game Concept]

Show off your games, demos and other (playable) creations.
User avatar
ArchAngel075
Party member
Posts: 317
Joined: Mon Jun 24, 2013 5:16 am

[alpha0.1] Intelligent Design/Guidance [WIP Game Concept]

Post by ArchAngel075 »

The following has no released code as of yet, the game/concept (whatever you wish to call it) is still very much in early development stages - but it is at a point where criticism and intrigue would be appreciated ...

I present to you my hobby project inspired by a Android Google Play store game called "Cell Lab"
My project has two names it bounces between : "Intelligent Design"; -and my original name, "Guidance"

Plan your species - build it - unleash it - adapt it - rule with it.

What is Intelligent Design about?

The game focuses on a concept that floated in my head for a while when playing cell lab - what if there was a competitive game that asked for users to play GOD in intelligent design of a species of sort - the species will compete with one another in a world to see who is best as being GOD.

I opted to mimic ALOT of cell labs initial design - but eventually alot of the design branched off to become its own monstrosity.

Intelligent Design has one goal : Design a species that outlives other species - survival of the fittest style.
Players are given no direct control of their creation, instead they will 'program' behavior of their creation.

Players will use coded cells that interact to stay alive using various organelles.
Image
Image


What Organelles are there and what do they do ? :

Currently these are the known organelles (list subject to change)
1. The Vacuole :
This stores resources collected by cells, a vacuole can contain the volume of resources equal to remaining volume of a cell after other organs volume use is deducted from total cell volume, in short - the vacuole is ALL the leftover space of a cell next to other organs.
Only ONE vacuole can be present in a cell at a time.

2. The Lysosome (name can change due to real world function) :
Lysosomes are used to absorb resources from the chunks in the world (see What Are Chunks? below)
A Lysosome can break down complex chains of resources into more simpler forms - yielding more of a lower chain that is easier to convert to energy.

3. The Mitochondria :
This organelle can convert resources to energy - but only the simplest of forms of resources can be used and certain types of resources yield more energy than others.

4. The Flaggella :
The flaggella allows a cell to move around and rotate, without this organelle a cell simply sits tight. Flaggella burns energy when used but produce a 'push' proportional to the cells' size. Multiple flaggella can improve speed of movement but also cause more energy drain.

5. The Adhesive Secretion : (Aka, Adhesive)
Adhesive allows a cell to forcefully 'glue' itself to another body, be it a cell or a resource chunk. When attached to another cell - the two cells can communicate without any need for intermediate organs - all information is directly usable and resources can be transferred easily between the two cells - this allows for smart multi cellular bodies.

NOTE : The following organelle are not yet implemented and are planned :

6. The Sensory Gland :
This will allow a cell to detect and read scents/pheromones in the area it occupies - this will be vital to scouting out food and resources and enabling communication between unconnected cells.

7. The Scent/Pheromone Secretion Gland :
This allows a cell to 'emit' over an area a scent of a certain 'id' that other cells can detect with the right organ. Note that Ids are limited in length to prevent delivering too much info too easily without being attached.

8. The Mucous Excretion Gland :
If a cell has this gland it reduces the adhesive properties of the cell - active as some sort of security measure that allows a cell to 'choose' whether or not another cell can adhesive against this cell. But beware, the gland must actively refresh the mucous around the cell - this will cost resources and some energy - if there isn't any then the mucous will weaken and may eventually be worthless - Additionally the mucous does not prevent the forceful attempts of a Proboscis organelle.

9. The Proboscis :
A Proboscis allows any cell to pierce into and forcefully latch onto another cell - this provides access to contents of the attacked cells' vacuole for the taking - though the only downside is the proboscis MUST impact the target cell, unlike adhesive which allows attachment for any point of a cells outer shell.

10. The Keratin Membrane :
This can protect from a proboscis given enough thickness, but can hinder the movement and size of a cells vacuole due to its requirement for heavier minerals such as salt and rock - Additionally the membrane would need repairing after any damage further costing more resources.

NOTE -
Both the mucous membrane and keratin membrane prevent a cell from having the sensory related glands or a flaggella.

NOTE 2 -
More organs are planned but not a priority and are not deemed list able at this moment.

What are Chunks
Chunks are sources of resources and food.
Chunks are (at present) circles of resources of complexities. A chunk may contain some lipids and some fewer protein.
The more contained the greater the size of a chunk.
Chunks naturally give of a scent of their contents to aid searching and harvesting.
Image

How do I Make New Cells
New cells are made during any cell division by another cell. That is it takes one cell to make another - the new cell can have any organ and behavior desired and does not need to mimic the parent in any way - the only requirement is the organ protein cost and the energy cost.
When a cell (say Cell A of energy value 100) splits it can choose to provide some of its protein and a fraction of choice of its energy to create the new cell. (Say cell A has a ratio of 0.6 to the new cell, that means the new cell is 60 energy and Cell A is 40 energy in the end)
Of course there are limitations in cell design - see What is Organ Cost...

What is Organ Cost ?
When new cell is created with desired organs, the parent cell provides whatever protein it chooses or can to create the new cells organs - if there is too little protein the division fails and the new cell will be missing some organs - usually the most costly.
It is important to stockpile some protein before pumping out new cells to ensure the new cells have all the organs desired - else its best to first test if there is enough protein before attempting in the first place.

What is Behavior?
Behavior is what makes a cell tick, it is user coded scripts using common global functions, tools, the organs of the cell and the users smarts.
A user would code in a script some behavior they desire then create a cell with that script whenever needed. This allows for powerful adaptive and intelligent cell behavior that survives in the world.
Image

Who is expected to play this Game ?
Mostly programmers really but hopefully I wish for most any one to be able to enjoy it.
At present there is no way to simplify and ease up the behavior coding process, right now its simple raw code - my hopes is to figure out a interactive GUI based method of coding so that most users can make an AI of some sort to compete.

Is the Game in Real Time multiplayer?
No, infact the competitive play comes from a 'Spore' like approach.
Instead of using multiplayer code the game will use systems to detect well surviving designs and upload them to a database i will maintain. Then other players games will be able to download these designs and populate their own local worlds with these designs - as cells are not directly controlled there is no need say you to baby your cells in another players game - they will survive exactly as they do for you - except now they are competing with a new players smarts.
The concept is to inspire competitive intelligent design gameplay.

Plan your species - build it - unleash it - adapt it - rule with it.

If any one wishes to review code and assist me in some ideas (currently struggling on which of three systems to use with scents implementation) please feel free to chat, discuss - build AIs that test the concepts of the system etc.

(All images are based on existing graphics as of alpha0.1 using my own test bed AI I cooked up based on a Mother - Harvester approach)
User avatar
kicknbritt
Citizen
Posts: 65
Joined: Sat May 30, 2015 2:15 am
Location: Chicago, IL/Anchorage,AK

Re: [alpha0.1] Intelligent Design/Guidance [WIP Game Concept]

Post by kicknbritt »

YES. Please do this. I loved cell lab but I got quite bored after a very long time of playing it. I probably logged a few months worth of playtime on it believe it or not lol. But I would love to see something resembling this game. The organelles are a neat Idea. Also, In my opinion the UI is probably going to be the #1 thing that would make this game more user friendly... just a thought but keep us posted this looks cool. Also What were the three scent systems you mentioned at the end?
"I AM THE ARBITER!!!" *Pulls out Energy sword and kills everything*
User avatar
ArchAngel075
Party member
Posts: 317
Joined: Mon Jun 24, 2013 5:16 am

Re: [alpha0.1] Intelligent Design/Guidance [WIP Game Concept]

Post by ArchAngel075 »

kicknbritt wrote: Wed May 03, 2017 9:27 pm -snip- .......
[[Also What were the three scent systems you mentioned at the end?]]
Im currently deciding how cells communicate and detect resources without using very hacky methods.

Ay the moment in my Mother-Harvester design i have cells that can use a GetNearestChunk() method to instantly get location and details of a chunk nearby - I feel this is too hacky, especially for finding food. Also at present cells can alter one anothers' variables easily without being connected - this is hacky too (imagine a mother Cell informing scouts that are miles away of a food source? cells don't have telepathy - logistics of comms is important)

So i decided a pheromone system inspired by cell lab was needed.

The main goal is "scents" can be created or smelled in areas, these scents are of a certain string tag ("foodT:1") for example.
The tags are what cells read when smelling a scent, the concentration informs a cell how close they are to a source.
This allows scouting cells to follow a scent of food to resources and then return to report location to mother (like ants)
One liberty is cells can retain internally positional information, they know where they are in the world and can move towards points or directions. A Cell will 'remember' where mother cell is (or perhaps will be if told to move there instead?) and can return at any time from any where.

Food naturally gives off scents, resources like salt and rock dont.
Cells themselves can give off scents - the main reason is for blanketing an area with a message - (Perimiter defense gets hurt or encounters unknown cell - gives of a blast of 'Danger' - cells in area respond accordingly)

NOW there are three (actually two) systems of defining scents in debates : (feel free to comment ad assist here)

System 1
First i decided to create a grid of nodes dynamically - nodes contain concentration and tags of scents - the scent will flow from high to low nodes thus creating a spread from sources -- currently the system in use albeit wonky as hell.

System 1.2 (adjustment)
I figured an alternative to system 1 was to make scent code wise flow abit more correctly. At present scent just spreads evenly towards neighbor nodes evenly (priorities on lower concentrations though)
Instead of this i figured absolutely proper high to low uniform distribution was in order - the logic is found but there are issues regarding start and stop of a 'spread cycle' that causes concentration flow.

System 2 (Current winner sofar) :
System two was proposed by a friend i debated with - Here scent does not spread, instead an circle is created centered on sources. The circle is high in concentration towards its center and lower towards perimeter - there is no flow or spread which improves performance.

ALL scent systems imply scents naturally decay - food will naturally pulse scents.
All scent systems imply scents are string tag based, a cell can create a scented area but at a cost of resources and energy - the scents tag is limited in size to prevent cheating large blocks of data communication (it is easy to imagine a cell pulsing formatted json strings if this is not enforced)

Other systems are welcome, the only rule is that they must attempt low performance hit and prevent cheating of some kind. The goal of scents is to provide non attached (adhesive or otherwise) communication possibilities.
User avatar
kicknbritt
Citizen
Posts: 65
Joined: Sat May 30, 2015 2:15 am
Location: Chicago, IL/Anchorage,AK

Re: [alpha0.1] Intelligent Design/Guidance [WIP Game Concept]

Post by kicknbritt »

I like system 2 I think thats a good. I also really like the idea of scents communicating with eachother, I think cell lab really under shot the whole smell system and couldve opened up SO much more for the game If it had done more with it. Also Maybe you can adjust the cells accuity of smell. Like it would cost more energy but the cell could sense smaller particles, thus allowing it to smell things that are farther away. Just a thought. Also I've never worked On a game collabaratively, But I've been programming in lua since beginning of my sophomore year of highschool, so I could be of some help if you wanted it. :?
"I AM THE ARBITER!!!" *Pulls out Energy sword and kills everything*
User avatar
ivan
Party member
Posts: 1719
Joined: Fri Mar 07, 2008 1:39 pm
Contact:

Re: [alpha0.1] Intelligent Design/Guidance [WIP Game Concept]

Post by ivan »

This is a very ambitious idea - to be honest I can't really see it taking off for several reasons.
First of all, it's hard to make a decent-looking game with "cells"
you have deformable bodies, liquids and all sorts of really difficult problems.
Next, I would point out that when the game is based around programming "behavior" scripts,
then the scripting system/API has to be top-notch.
I hate to say it, but your example script doesn't look that great,
and I think it will be a nightmare when you want your cell to do two
things at the same time (or in a sequence), like rotate and move.
Lastly, I feel like the way you are presenting the gameplay is somewhat misleading.
If this is an "intelligent design" game where you are "playing GOD"
then why do I have to write AI scripts as a player? :)
I mean, writing code involves debugging, testing, etc which is fine,
but it just doesn't feel like it's in line with the idea of "playing God".
The whole idea in general seems super fiddly and involved,
whereas "God games" tend to be more open-ended and effortless...
Hope this helps!
User avatar
ArchAngel075
Party member
Posts: 317
Joined: Mon Jun 24, 2013 5:16 am

Re: [alpha0.1] Intelligent Design/Guidance [WIP Game Concept]

Post by ArchAngel075 »

I understand that god Games are effortless usually, and yes the programming behavior portion is going to be a true nightmare to figure out but ideas are in works.
Really this wont be a marketed game in any sense, its a personal hobby project i feel like doing to push myself and see what becomes of such an idea.
Regarding sequential commands - im not too sure what you mean - presently my AI i wrote for my design to test with works (using a state setup of sorts)
User avatar
ivan
Party member
Posts: 1719
Joined: Fri Mar 07, 2008 1:39 pm
Contact:

Re: [alpha0.1] Intelligent Design/Guidance [WIP Game Concept]

Post by ivan »

ArchAngel, releasing a small, playable prototype can shed a lot of light on the idea and whether it has any potential.
By 'sequence' and 'parallel' I mean the order in which commands are executed.
In your case, behavior trees are one option for handling the AI, they work like hierarchical state machines.
My description doesn't do it justice, but there are good tutorials out there.
MasterLee
Party member
Posts: 141
Joined: Tue Mar 07, 2017 4:03 pm
Contact:

Re: [alpha0.1] Intelligent Design/Guidance [WIP Game Concept]

Post by MasterLee »

What about pseudopodia, chloroplast and golgi apparatus?
User avatar
kicknbritt
Citizen
Posts: 65
Joined: Sat May 30, 2015 2:15 am
Location: Chicago, IL/Anchorage,AK

Re: [alpha0.1] Intelligent Design/Guidance [WIP Game Concept]

Post by kicknbritt »

Also, I recommend you Check out Gladiabots. It's an android game with a custom AI Idea quite similar to yours. You can find it on the playstore
"I AM THE ARBITER!!!" *Pulls out Energy sword and kills everything*
User avatar
ArchAngel075
Party member
Posts: 317
Joined: Mon Jun 24, 2013 5:16 am

Re: [alpha0.1] Intelligent Design/Guidance [WIP Game Concept]

Post by ArchAngel075 »

MasterLee wrote: Thu May 04, 2017 8:37 pm What about pseudopodia, chloroplast and golgi apparatus?
pseudopodia : interesting - I would love to implement it as an alternate to flagella but not sure how id get the rendering done (id need to probably use tessalation, though I am considering attempting to give cells a less ridgid body shape but the only current implementation is a love balls soft body library that has issues with resizing the body [conflicts with physics], i do consider my own if i can research it in coming times)

chloroplast : Planned! no documentation as of yet but my initial planning on it consists of "areas of various densities of sunlight - more dense equals more energy only requires sunlight- the concept is chloroplasts will create less energy than phagocytes in small numbers thus requires larger organisms (build a blob of connected chloroplast cells and you have pretty much free energy)

golgi apparatus : Was actually in the first iteration of my organelle planning! BUT i found lysosome and mitochondria to replace it. THOUGH I reconsidered adding it as a control center for moving infomation between cells. I do not have it as this function as I feel ribosomes would do so better logically and the complexities of players needing to program and manage ribosome message/resource/cargo systems would be painful - perhaps it will be added, im unsure. If you feel it should be added then propose away.

I might've forgotten to mention im not aiming to make the game have realistic cell biology - instead i have what organelles there are as a component that cells can have - i could have named the cells anything else (perhaps nanobots?) and renamed organelles to relative 'parts' like 'extractor' and 'energy combustion' or some such. IF i feel some interesting gameplay can be added as a new organelle Ill consider adding it after planning and thinking it over.

Thankyou for the suggestion - pseudopodia is a great idea and if ever i manage to get soft bodies implemented expect pseudopodia to be next to follow. For now we have flagella...

--EDIT
ivan wrote: Thu May 04, 2017 6:33 pm ArchAngel, releasing a small, playable prototype can shed a lot of light on the idea and whether it has any potential.
By 'sequence' and 'parallel' I mean the order in which commands are executed.
In your case, behavior trees are one option for handling the AI, they work like hierarchical state machines.
My description doesn't do it justice, but there are good tutorials out there.
Ill have a prototype as soon as I've implemented new chunk design and the basics of scents with my reworked test AI to accommodate these changes. Though i most likely will have a video of sorts too before a released prototype.
Also the moment i release prototype ill also move to github for more easier code review and version tracking.

I understand now what you mean by 'sequence' and 'parallel' - Most likely going to use sequence from what my understanding of it is.
'In your case, behavior trees are one option for handling the AI, they work like hierarchical state machines.'
-This actually explains very well my approach to the AI right now, my AI example toggles certain behavior based on several Boolean - things such as "isHarvesting" and "isMovingToTarget".
My next AI example with scents and new chunks will most likely better use multiple AIs than my current setup.
Post Reply

Who is online

Users browsing this forum: No registered users and 6 guests