Skip to content
/ handOfGod Public

Control a virtual environment with the palm of your hand.

Notifications You must be signed in to change notification settings

gvpm/handOfGod

Repository files navigation

handOfGod

Control a virtual environment with the palm of your hand.

OpenFrameworks @ QtCreator With SkyWriter Raspberry Pi Hat

alt tag

##The Concept

####The initial idea was based on 2 things:

– An environment where “beings” would born, grow and die independently. – Interactions that would affect this environment, changing its balance somehow, and affecting and controlling the beings.

The project is called handOfGod because the way the interactions are triggered is by moving the hand on top of “The Bible”

####Why and What is the bible?

The reason why the trigger chosen was “The Bible” came from a movie from 2010 called “The Book of Eli” where Eli, the main character, travels in a post apocalyptic world with one goal, deliver this “powerful” book he has somewhere safe where it would be used in a good way.

Eli stumbles upon a city where its Mayor knows about and it is looking for a book that he believes it can give him power to rule all the other cities because contains the knowledge required to control other people.

The book is The Bible, and that is the critique. Sadly, the bible, the coran and religion in general was used through the years by some people acting in bad faith with the sole intention of obtaining or increasing their power/influence and controlling people to act in their behalf .

##The Environment

####Evolution

Primitive state, testing simple movement

alt tag

Sprites added, long simulation and debugging periods

alt tag

Different colors to represent different Being States

alt tag

Clouds Added

alt tag

Top Bar added

alt tag

Apples on treed added, beings can now eat

alt tag

Night period added

alt tag

Interaction Menu added

alt tag

alt tag

alt tag

alt tag

OSC messages added and triggers

alt tag

##Problems Encountered

The main problems encountered were performance problems, whenever the number of beings was too high, tasks like removing their graveyards was getting slow.

Examples of solutions for problems like that:

####Problem:

Removing the dead. From: Removing all every 5 years. To: Removing all older than 5 years every frame

####Problem:

Killing a lot of beings at the same time. From: Killing them all together. To: Killing the desired amount over a few years. EX: Kill 50% of 1000 = Kill 500. Years to kill = 1000/100=10 500/10 = 50. Kill approximately 50 each year over 10 years

##Final State (For Now)

Here are some characteristics of the current state:

– One second = 1 year

– A being can give birth between the age of 12 and its death age.

– Beings have a small change to randomly get pregnant in those years.

– A being will start to be hungry after 10 years without eating and it will search for food.

– After 30 years being hungry and not being able to get food, his death age will be decreased by 1 year, each year.

– One Tree can provide enough food for approximately 50 beings.

– One day lasts 30 years, one night lasts another 30 years.

– When pregnant, beings turn slightly red.

– Pregnancy lasts 1 year.

– Beings under 12 are smaller and darker.

– Beings can be infertile and will not get pregnant.

– Infertile Beings are slightly green.

##The Interactions

####Demo Video

[IMAGE ALT TEXT HERE] (https://www.youtube.com/watch?v=aKeAhpD8764)

####The Wheel Value: When an interaction uses the wheel value, it means that the action will be applied in the percentage defined as the current Wheel Value.

####The Bible

To trigger the interactions, “The Bible” was created. A book was glued and carved inside to fit the Raspberry Pi with the Skywriter HAT (responsible for tracking the movements) and an battery. Here is the scheme used in the project.

alt tag

The Pi runs a python code that detects specific movements from the HAT and sends OSC messages via the router to the OSC Receiver, that is the running environment. The app then calls the respective functions according to the messages received. They functions can be: Swipe Right, Swipe Left and Select an option.

Here are some pictures of the bible creation and testing process:

alt tag

alt tag

alt tag

alt tag

alt tag

####To do

To tune up the world created, some depth and different levels might be added, the beings would be able to walk in more directions.

Add more features to the environment, different kinds of life and reactive objects.

About

Control a virtual environment with the palm of your hand.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published