A recent prototype included the building of a live polling app to use for live-feedback in presentations:
One of the pages is for entering data and uses the “fingerprint” of the browser to remember who posted the data. The second page is to display the results from an internal JSON file.
The technologies used are PHP and Javascript, libraries include JQuery, Chart.js, Bootstrap.
A recent experiment – the goal was to connect a physical device (in this case, the Raspberry Pi Pico W) to the internet and send data to a database. Everything is coded from scratch, to allow for most flexilibility.
The Raspberry Pi connects to the local Wifi (could therefore also be run with a battery) and collects data. After a certain amount of time it calls a URL to send the data. On this website a Server running Express and Node awaits – it then stores the data to a database.
What you can see below is a data file that shows several entries made by the Raspberry:
This could have several uses, but the main function I see is collecting data in the physical space to storing it securily on the cloud.
The development of this prototype spanned over the course of several weeks.
The goal was to make a Virtual Reality game that connects to a custom made physical controller.
Step 1 – Connection between Arduino & Unity Android app
This was pretty straightforward, using a Bluetooth chip, I was able to connect my Android phone to the Arduino board. The simple input was a potentiometer.
Step 2 – Build a custom controller prototype
For this next step I wanted to create a more durable, portable prototype that could be carried around and had two buttons to press.
Step 3 – Ideate core mechanics of gameplay
Next, I wanted to find the core loop of the game.
You can control the time of day in a prehistoric environment with a physical interface (potentiometer). When you make it daytime the population (cavemen) will start gathering wood. When itโs night, they will retreat to their cave and burn wood to stay warm, as well as reproduce. The goal of the experience is to balance resource gathering and risking being eaten by tigers (if they chop wood for too long).
I am currently researching Goal Oriented Action Planning as a way to build AI that’s capable of relatively emergent behavior.
Based on the world and objects around it, the AI decides the best strategy to fulfill its’ goal (in this case, gathering wood).
Each action it has available carries a certain cost and precondition. Collecting logs has no preconditions but is more costly than chopping wood.
Chopping wood requires picking up an axe first, though.
Over the course of several prototypes, performance and control over the AI was improved. I am using Unity 3D and C# for these prototypes.
Goal Oriented Action Planning – AI that chops trees/ collects logs – whatever is most efficient!#gamedev #indiedev #ArtificialIntelligence pic.twitter.com/lM1ACqlscA
— Georg Luif (@georgluif) April 24, 2017
Objective: The typical museum visitor looks at a single work of art for less than 30 seconds. Utilizing a specific work of art on display at the Getty Center, create a playful experience that helps the player discover something interesting about the art that s/he might have missed in a 30-second look. 48 Hours to create the experience.
Made at the #GettyJam, 27-28. February 2016
Work of Art in focus:
โA Walk at Duskโ – 1835
Caspar David Friedrich
(Germany, 1774 – 1840)
This painting is about divinity of nature and meditation of mortality. References to german philosopher Schelling (Eternal cycle of life & death in nature)
Our approach
Interpret the meaning and intention of an artwork – Recreate a version of the environment – Convey the meaning through game-mechanics
Mobile Experience, that can be used by everyone in the museum on their Android devices.
A level in Unreal Engine based on Marcel Duchamp’s fountain and famous signature “R.Mutt”. Flushing coins and projected cones.
I am currently exploring working with splines and spline-meshes in Unreal Engine 4. They enable a level designer to sketch out advanced level designs in real-time, in the editor without ever touching 3D software. I was able to create this small scene in about half an hour. I will continue exploring this exciting area of game design.
In theory this method could be expanded to create entire cities with blueprints.
I love procedural content generation with splines! Golden pearls… @UnrealEngine #gamedev pic.twitter.com/vEeHT4ELTA
— Georg Luif (@georgluif) June 3, 2016
Experimenting with new techniques in 3ds max and Unity3D to achieve a lowpoly-style. Local multiplayer.
Due to the lack of Virtual Reality Flight Simulators, I started experimented with building one. I think that Virtual Reality offers itself perfectly for making a flight simulation project, as the effects of gravity are turned on its’ head when we travel by plane. Just imagine a sharp turn when you approach your airport; something seems off! Shouldn’t gravity be pulling you down?
I started with the cockpit and controls, showing all the data to the player on small screens.
Finally! VR Flying simulator with > 20% realism ๐พ
— Georg Luif (@georgluif) June 1, 2017
Actually a lot of fun so far ๐#gamedev #VirtualReality #VR #indiedev #indiegame #indiedev pic.twitter.com/8IIUbgnjar
In later versions, I started scripting actual physics to control the plane:
With George Airlines you'll pick an Airline with actual Physics! โ๏ธโ๏ธ #screenshotsaturday #indiedev #gamedev #indiegame #VirtualReality pic.twitter.com/1m1yEmC1bK
— Georg Luif (@georgluif) June 11, 2017
This project stands as my result at the end of this semester, where I worked on implementing a natural user interface (Kinect) in an immersive space (Fulldome). The goal of this installation is to present a perspective that focuses on the perceptual experience inside a Fulldome. The user can control the protagonist with his/her body; its movements are registered and sent to the computer. The user is able to move forward, backwards and sideways a digital protagonist, who copies his/her movements.
You can collect objects that distort the image permanently. Once you collected a specified amount of them you can plant trees or houses at a spot of your choice. When the next user enters the installation and the environment is reset, the trees of the previous users are still standing. Also the amount of coins collected in total can be seen by a huge counter in-game. Therefore a permanent artifact is created, co-designed by every user. The idea of a two-way effect is essential in the concept of interaction โ in this case it is possible โ once a tree is planted it will generate collectables that can be used to temporarily apply real-time visual effects. The direct representation of hands on the screen gives a haptic sense and a direct feel to it. The composition of the environment, the visual, audible and temporal characteristics (abstract, reduced) represent an aesthetic intrinsic to the artist.