Deign & Technology mailing list is a treasure trove for game ideas. Yesterday we have a new thread on whether or not we should purchase a refrigerator. Sven replied with this awesome idea of a walk-in refrigerator. People start to contribute to this fun idea, here are some of the highlights.
“This will be a walk-in refrigerator, and will replace the Director’s office over in the corner. We will each have a large locker in the refrigerator. There will be a side for ice-cream making, and another area housing the frozen vegetable section. The whole room will be videotaped 24 hours, and will become part of an international new media experiment on refrigerative theory. And there will be robots strewn about, some with identifiable duties, others more mysterious.” -Sven
“And if the fridge incites bugs to visit D12, Mr Ayo can use them for his garments for the future. Everybody wins. A Soda Machine would be nice too.” – Daniel
“And a city bike station instead so people can bike around for food.” – Aero
…
and I added the wardrobe to Narnia at the end.
“…And if you pass the ice-cream and vegetable section, you will run into a closet that takes you to Narnia.”
This is very inspiring on a Sunday night so I decided to make it into a RPG game.
There is a set of armor and weapon to collect. Power up yourself with popsicles and vegetables and see if you can beat the optional boss!
PC Only: Quest Of Procrastination
8.P.M (8-bit as Poetic Medium) group embroidered patch design in progress.
I started to wear coverall recently. It is something I wanted to do for a long time. A good coverall needs good patches so my first patch, here I come! I decided to make 8PM(8-bit as Poetic Medium) my first patch.
A recent project led me to R.U.B.E (Real Useful Box2d Editor). This editor is any box2d developer’s ultimate dream-come-true. I am currently testing out a JSON/Processing pipeline that enables me to build the world in R.U.B.E and bring it to live in Processing, excited! I stumbled on this post and thought it is a good starting point for me regardless it was made for Flash. I used the JSON file in this tutorial as a base for my experiment.
Early experiment: jsonPbox2d.zip
[CAUTIONS]
1.This experiment doesn’t read images and joints.
2.When you create new body with fixture in R.U.B.E, make sure to give fixture/restitution a value other than 0.
3.After creating it, move the body away from (0,0).
Logs:
12/03/13 When export, the restitution attribute is left out in the JSON file if the initial value is set to 0. This is problematic for me to write a JSON parser for it. I just found out a similar issue is also happening to position, if a body is created and stayed on (0,0), the position data will be just a float 0, not a JSONObject. linearVolecity has to same issue. [SOLVED] this can be solve by using .has function, but Processing 2.1’s JSON Library is missing this function right now…
12/12/13 Current Processing 2.1’s native JSON library is missing all the opt- functions, that makes the parsing even more difficult since some of the data in R.U.B.E’s json file switch between datatypes. I would have format the data on R.U.B.E side more carefully to avoid loading errors caused by JSONExceptions.
12/14/13 Now the parser can read joints too, PROGRESS!
PUSH is a Flash application designed to explore concepts surrounding Simple Machines, which is integrated into the Q2L 6th grade math and science domain “The Way Things Work”. PUSH was built specifically to create game-like learning experience through collaboration and embodied play. In PUSH, students work collaboratively to help a group of digital creatures to push an object (in this case a hat) up on a hill by physically exerting ‘force’ through a set ‘distance’, at the same time tackling a common misconception in mechanical work with inclined planes. The support provided by teachers to the students in the space in terms of discussions and walk through, accompanied by worksheets, creates a different level of learning experience for the students.
PUSH is divided into four parts – title screen, level selection, gameplay, and result/formula screen. With the teacher’s guidance, students will learn to play the game utilizing their body in the SMALLab space. The students will have to make a decision on which inclined plane will require more work than another. They will then physically pushing a digital hat up on different inclined planes. By going through PUSH, the students will soon be confronted with the misconception about an inclined plane lessening the amount of work done. An experienced teacher will find moments during PUSH to take advantage of opportunities for learning. An example is when students are pushing the hat up on the hill with the digital creatures, only the force that goes along the inclined plane will be counted. In order to do better in the game, students have to “push” (actual physical movement) along the path of the inclined plane. This is a great opportunity for the teacher to step in and reinforce the fundamental concept of mechanical work.
The embodied play component in PUSH is made possible by using the Gaming SMALLab platform. It is a mixed-reality learning environment that empowers the physical body to function as an expressive interface experiencing custom-built scenarios and media-rich content through full-body movement and gestures. PUSH reads optitrack data through a custom middleware because Flash don’t have access to UDP ports. The middleware parses the data from Tracking Tool and send them to Flash using a socket server.
12/05/13 Ran PUSH for Leah, there were difficulty translating position data precisely into PUSH. In PUSH it was mapped to 1280 pixel wide but the screen resolution of the new projector is set to 1024 pixel wide. After configuring the resolution back to 1280 pixel wide, it fixed the position problem.
Old versions: [ver.17]Mac desktop version: Proteincraft [ver. 1][old]Win32 desktop version: Proteincraft_win32bit (see update details at the bottom of the page)
How to play: Mouse: Drag’n Drop tRNA Up key: Switch between Shape mode and Text mode Right arrow key: skip to the next codon set on mRNA ESC key: exit the game
In Spring 2012, SMALLab team at Quest 2 Learn New York worked with our Living Environment teacher, Dan Bloom, to create a game scenario about protein synthesis. After the kick-off meeting with Dan and a few rounds of quick prototyping on the subject, I decided to narrow down the multi-level gameplay idea and focus solely on the translation portion of the synthesis. According to Dan’s experience, students have more difficulties with translation than transcription because it is harder to visualize the relationship between codons and anti-codons in the classroom. Through the use of scale, sound, visual cue, collaboration, this new SMALLab scenario creates an immersive playground for students to practice their knowledge on translation.
Proteincraft puts students in the moment when DNA translation happens. In order to succeed in the scenario, students must help Messenger RNA(mRNA) find the right Transfer RNA(tRNA) by matching codons with their correspondent anti-codons. Every successful match consists of three steps. The first step is to read the next codon on mRNA and to find the matching tRNA. Secondly, brag the tRNA to ribosomes. Thirdly, crank the white circle on ribosomes to the left side to advance to the next codon. Repeat these steps until all the codons are matched. The teacher moderates the entire experience and interrupts at moments for learning opportunities. In the picture above, Dan is pointing out to players that in order to start the translation, the initial tRNA (met) has to be found first.
In addition, this game can be viewed in the text mode. All the color and shapes are replaced by the black-and-white letters that represent each of the four bases in the textbook. Teachers can switch between modes by pressing the UP arrow key. Here are notes from Dan that becomes the guidelines of the visual system of both modes in Proteincraft:
1) The bases in DNA should be shaped so that they can fit in to each other. ====T (thymine) – blue, be shaped with a pointy triangle on the end ====A (adenine) – red, be shaped with an inverted space for a triangle ====C (cytosine) – yellow, be shaped with a semicircle on the end ====G (guanine) – green, be shaped with an inverted space for a semicircle 2) The bases in mRNA and tRNA should be the same except instead of T, there is… ====U (uricil) – purple, should be shaped to fit into A
The scenario was a success with Dan’s class. Students had no problem warming up to the game because all the colors, shapes, and letters are inspired by diagrams Dan showed in the classroom. During the gameplay, teams of students have to find an efficient way to work together in SMALLab. Some teams assigned their teammates different roles – capturers, crankera, and translators while other teams spread out in the space like football players all waiting for the right tRNA to swim by. Spectators definitely play an important role in the overall play experience, they give verbal suggestions to the player team – “AUU not UUA”, “Green-Yellow-Red”, “tRNA has no T in it”, “tRNA let’s go!”.
Visual and sound design:
At the beginning of the research, I watched many scientific renderings on protein synthesis. Surprisingly, none of them look the same graphically even though they all look “realistic”. All of them are subjective and technology-dependent. It is more like a strategy to attract longer attention span with realistic-looking visuals than anything else which is understandable. I made an animated gif of my favorite rendering so far:
Dan showed me diagrams and illustrations that he used in the classroom. They are mostly represented in geometric shapes and are carefully color-coded. That set me free, I am going for color-coded geometric shapes! – to connect the scientific facts to design elements. Even though they are geometric shapes, they still follow the principles of translation dearly. Instead of coming up with a fictional realistic form, I draw a connection between Dan’s diagrams and the design elements of Proteincraft’s visual system, e.g., each of the four bases is represented visually by a unique shape and a unique color. The shape of an amino acid is dynamically determined by the shape combination of its three bases.
The tRNA and mRNA in this game synthesize sounds too. Usually, SMALLab game scenarios are designed and produced in less than five weeks, so we usually don’t have time to do serious sound design. However, during a check-in meeting, we decided to bring the connection to sound elements too. Claudio’s sound design took the relation between codons and amino acids to the next level! When the player successfully brings back a correct tRNA, the game will play three tones that match the codon combination. Claudio designed the tones and a matching ambient music that really gives the play experience an awesome upgrade.
SMALLab Version:
Desktop Version:
10/18/12 proteincraft playtest with 9th graders, suggested moving mRNA to the top of the screen to avoid shadow cast by the projector in SMALLab 11/20/12 project release postponed due to a scheduling conflict 01/18/13 SMALLab Proteincraft released 06/11/13 plan to convert proteincraft to desktop and android. 06/18/13 [android] curveVertex() slow app overtime. Image memory leak on android still a problem. 09/27/13 desktop demo completed. 09/28/13 Desktop ver.1 released (Mac and Windows) 09/29/13 Desktop ver.15 released (Mac): implemented amino acid names(desktop ver. only feature), text mode visual tweaked 09/31/13 Desktop ver.17 released (Mac): fixed a major data parsing error that caused amino acid name mismatched 11/14/13 Ran SMALLab version for 9th graders made the following changes: ===1. fly speed of tRNAs now starts slow and gradually speeds up ===2. the visual of crank mechanism now flashes when ready to use ===3. games now automatically change to text mode after the 8th tRNA is found ===4. minor visual tweakings
11/19/13 Desktop ver.20 released (Mac): minor visual feedback improvement, added replay function
11/05/13 Built a prototype with Processing 2.0. Openprocessing downloads have weird compiler problem solved by duplicating the project and removing the code folder inside the project folder.
11/07/13 Playtest: arms are too powerful – death on touch! and not much to do for the Kinect player.
Old Notes: 10/30/2011 Been thinking about a 2 player co-op game in which player 1 uses a Kinect sensor and player 2 uses something else e.g. a regular game controller. The cover art of the Monster Rods model kits is a great example of this idea. In the picture below, player 1 controls the monster on top and player 2 drives the car.
With AR markers, we can easily put the Kinect player’s skeleton/avatar on the tabletop. Player 2 can take control of the AR Marker and player 1 can be the summoned hero on the card.
10/18/13 Been looking for ways to create a Monster Rods demo. However, a 3D driving game is out of my lead. Instead, I decided to create a top-down space shooting game for proof of concept, and that reminds me of NES Twinbee.
10/23/13 Space muscle car with animal influence in style. 2 player co-op Asteroid-like game.
HolograFX recently caught my eyes with new low price, so I purchased a set to play with. It was actually fun going through the story and see the characters in holograph, it is like a mini Universal Studio attraction on my desktop. The set comes with many props and most of them are re-purposed old magic props. The idea was to perform magic tricks with the prerecorded holograph characters.
Quick Google search found the following diagrams, hi 2PAC! Remember sew an ancient drawing of the setup for illusionist back in the day, but didn’t see it.
I tested the acrylic sheet I have with Proteincraft and had a butterfly moment when I see the following picture. However, once the edges of the sheet come into sight, the magic moment ends. This hologram setup has to be situated on a higher ground and the clear acrylic sheet has to be built into the frame nicely so the viewers from the floor level don’t notice the source screen and the acrylic sheet.
11/22/13 I created a structure to work with my Surface Pro, it is like building a miniature concert stage. I am still testing different clear sheet. Frame glasses seem to create two holograms with offset depends how thick the glass is. Frame acrylic works better, it gave me a focus single image.
Chickensaur – a new Jurassic creature created from a conversation in Major Studio 1. I drew the first version on the wall, but didn’t like the way it was mutant together. I did a few more sketches after the class. A mini-game of this creature ran for its life in doomsday is inevitable.
How to play:
Right gear shift or key 0-9: change to control different parts/function on Chickensaur =====0: Energy: Waggle the steering wheel (or alternating ‘z’ and ‘x’ key on keyboard) to generate energy. =====1: Sonic bolt: Use the steering wheel to tilt the head and honk (‘h’ key) to shoot a sonic bolt. Be mindful that each shot costs certain amount of energy. =====2: Plasma shield: Press star button (‘s’ key) to shield Chickensaur with plasma, great protection against flaming meteor. =====3: Show up after evolving to stage 2, Chickensaur gains the ability to fly. Steering wheel controls the heading; honk button flaps the wings; and star button spits fire
I used this slice-game as a demo to introduce the week long design-under-limitation excerise with the Adventure Explorer game controller a couple weeks later. Students used the game controller as an Universe creator, a virtual reality navigator, a sound only storytelling machine, and a shot gun – yes, a shot gun!
1. install JDK
2. download Apache Ant (apache-ant-1.9.2) and unzip it to a directory of your choice
3. open the android project in Processing, and go to File and Export Android Project. A folder is generated in the project folder called “android”.
4. open ant.bat in the text editor and make sure all the paths are directing to the right files or folders. In my case, when I ran ant release, ant was having problem finding java.exe. So in ant.bat, I found where _JAVACMD is set and change its value to:
C:\Users\user\Desktop\processing-2.0b9\java\bin\java.exe
This is kind of a hack but it works nicely for me.
5. Bring up command line or terminal, and set the following path first:
set path=%PATH%;C:\directory to your JDK\bin
set path=%PATH%;C:\directory to your android-sdk\tool
set path=%PATH%;C:\directory to your apache-ant-1.9.2\bin
6. Now the keytool (a JDK command) should work, create a key:
keytool -genkey -v -keystore nameOfMyKey.keystore -alias nameOfMyAlias -keyalg RSA -validity 10000
7. Find the file “nameOfMyKey.keystore” generated and move it into the android folder generated by Processing in your project folder for easy access.
8. Find ant.properties in the android folder, open it in the text editor, and add the following lines:
key.store=path/to/nameOfMyKey.keystore
key.alias=nameOfMyAlias
9. finally,ant release, 2 apk will be generated 1 release and 1 release-unaligned, they both work for me. If there is error(s), check path variables in ant.bat.