Skip to content

A PLAY EXPERIENCE MAKER'S WORK LOG FOR FUTURE SELF©2001 – 2023 Kyle Li 李肅綱 All Rights Reserved.

Category: games

Safety Scenario (Game Slice)

Posted on May 18, 2013December 27, 2020 by Kyle Li

I had a meeting with Hyunjee Koo, a student in Anezka’s Major Studio II, about a game she is making for her final. It is about raising awareness of crimes specifically targeting women who are commuting late at night.

Her second iteration has great potential to be a fun serious game. Her research brought a few interesting elements into the mix. She found a color-coded alarm system used by the military to acknowledge different states of awareness for the soldiers in combat. She put together amazing assets of different sites to stage the potential crime scenes. She has information about the crime and how to prevent them. Her attempt was simple and straight forward. When the game starts, a potential crime scene is shown. The player has to pick what state of awareness does the potential crime scene implies. However, the moment of meaningful choice is broken here because what the scene implies is really up to the player’s interpretation but there is only 1 correct answer for each scene.

The quickest fix is to define the meaningful choice better by switching a few elements around and maybe bring in a timer. She has information about the possible threats and how to eliminate them in potential crime scenes – underground parking garage, household, shopping mall, and late-night park. We can design each scene with these threats embedded in the graphics. The player has to circle these possible threats out under a timer, the original mechanic but with a kick, to prevent the crime from happening. Here is the next iteration.

05/20/2013 stop the time when player find all threats before time is up.

PORTALCADE

Posted on April 17, 2013March 12, 2023 by Kyle Li

PORTALCADE is a mystic portal and a joystick game controller!

—–In PORTALCADE, after a creature figurine is read and loaded into the game, the figurine itself becomes the joystick of the game! I am a big fan of physical video game pieces and recently I’ve been playing with Skylander and Infinity figurines. However, like many of their Japanese predecessors, once these nicely made game pieces are loaded into the game, they are left aside throughout the remaining gameplay. I want to do more with these cool toys! I decided to make a game and a game controller that keeps player interact with the collectible toys throughout the the entire play experience. PORTALCADE controller is my first working prototype based on this concept.

precedents:

DSC07521

 

Webdiver Gradion
This is a transformers + plug’n play TV game playset with semi-real time transformation detection. During the gameplay, the player has to hold the Gradion in his/her hands and transforms it to a robot or a locomotive based on the game. There are also transformable weapon accessories sold separately.

Game Inspirations:

Interactive demo application shown at Maker Fair. The demo actually went for a more exploratory approach than what’s shown in game inspiration. Giving the fact that PORTALCADE is essentially an Atari joystick, a D-Pad and a button, I am building something simple to test the interaction before going crazy with it.

1262851_10151932939943745_2008588822_o

1274774_10151636826110036_922057653_o

Screen shot 2013-09-20 at 1.06.03 PM

Screen shot 2013-09-20 at 1.06.18 PM

MAKER LOG:
3/21/2013  Our nanny bought us a set of 4 nicely design animal character eggs and it struck me that it is time to realize this idea of mine.

3/27/2013  Bought button light from Home Depot, took one apart and removed all the cheap guts, including the buttery box. People may not know, usually the space of a 4 AA bettery box is perfect fit for 1 Arduino board.

4/7/2013   Reed switches finally arrived. Tested them on a small breadboard as pull-down switches. First attempt to read RFID reader TX with Arduino. It worked like magic.

4/10/2013  Designed a small breakout board for all my inputs/outputs, also leave some extra pins open just in case I am going to light this up.

4/11/2013 Made a circular structure for reed switches and used 2 3M clip hook to mount it under the button light cover.

4/12/2013  Finish soldering, testing and writing Arduino code. 4 directions work perfectly but there are some noise in between adjacent reed switches.

4/18/2013  Unsoldered the BUZZ pin on the RFID reader, official end the annoying buzzing sound. Was thinking adding a switch to the pin for debugging purpose, didn’t bother.

4/21/2013 Serial port only works with Processing 2.0+ 32-bit version (otherwise 1.5.1). Experienced a huge delay with my old sample code, fixed by using the serialEvent(Serial port) function. I also get ride of out the delay(30) in my Arduino code, not sure if it was necessary.

6/8/2013 Start making the interactive demo

11/4/2014 Coming back to this project and polishing the demo application.

Dorkshop 2013: Dynamic Level Management with Google Drive and Unity 3D!

Posted on March 15, 2013March 13, 2021 by Kyle Li

Resources & Requirements:

  • Internet connection
  • a Google drive account
  • Unity 4: I will be using this game creation tool for the dorkshop, but the backend will work with other web players such as FLASH. Yes, FLASH rules. (FLASH no more.)
  • jQuery javascript Backend: The code is partially based on Mike Mikay’s google-spreadsheet-javascript example. Only needed for the Unity 3D Web Player.
  • in-shop sample code: a Unity package.
  • notepad
  • some webspace.

Overview:

external spreadsheet

something, something level design
mini-game jam [live demo]

[Still compiling notes from the Dorkshop]

[ Part 1 ] Create and publish a Google spreadsheet
1. All we need is a Google spreadsheet, adding a form is just more fun and help us collecting data more easily.
2. Once the spreadsheet is up, publish it to the web.
3. The default output format is Web Page, change it to CSV (Comma-separated values)
4. Copy the link to the CSV file and save it for later.

[ Part 2 ] Unity 3D platformer in a flash:
I. Scene setup:
1. Go to Main Camera’s Inspector window. Change Projection to Orthographic, and Size to 4.0. (Main Camera and other newly created GameObjects can be found in the Hierarchy window.)
2. Create a Cube from Menu/GameObject/Create Other/, and rename it to “Player” in the Hierarchy window.
3. In the Inspector window, change Player’s Position to (-2, 2, 0) and Scale to (1, 1, 1).
4. In the same window, find the Box Collider component and remove it with the Remove Component option.
5. Create another Cube and named it “Platform”. In the Inspector window, change its Position to (0, -4, 0) and Scale to (8, 8, 3).

II. Import package files:
1. In the Project window, right-click on the Assets folder and go to Import Package/Character Control.
2. A pop-up window will show up, import PlatformInputController.js and CharacterMotor.js two files only.
3. Go back to the Player’s Inspector window. At the bottom of the window, click [Add Component]. In the drop-down menu, go to Character and add PlatformInputController.js and CharacterMotor.js to Player.
4. Now click the play button on the top. On the keyboard, press A to move left, D to move right, and space bar to jump. It should work like a magic!

You might not notice this due to the orthographic view, but the Player is still moving 3 dimensionally and will eventually roam off the platform on the Z-axis. To fix that, a few lines of code needed to be added to the CharacterMotor.js to eliminate the motion on the Z-axis.

5. Open CharacterMorot.js in MonoDevelop or other editors you prefer. Do a search (Command + f ) on “return velocity;” and replace both lines to:

return new Vector3(velocity.x, velocity.y, 0.0f);

[ Part 3 ] Data parsing
1. Import the Unity package file downloaded earlier. (Ok to all overwrites)
2. Create an empty GameObject and name it “lvlManager”
3. In the scripts folder under your Asset, add javaListener.js and javaParser.cs two scripts to the lvlManager.
4. Keep lvlManager opened in the Inspector window, go to the prefabs folder under your Asset, assign Platform and Marquee to javaParser’s Platform prefab and Text prefab.
5. The set-up we just did was designed to work with a web player, and you won’t be able to test it by the Unity itself.
6. Check the build type: go to file/Build Setting. Make sure the current build is on the Web Player. If not, select the Web Player and click on the build button.
7. Drag the filename.unity3d file from your build folder to our jQuery Javascript backend folder (download earlier and unzipped). Rename your file to dorkshop.unity3d for the purpose of testing (and awesome too.)

[ Part 4 ] Javascript
Find the following code block in the dorkshopEmbedded.html and replace the highlighted values with yours:

Replace Value 1 = link your Google CSV file
Replace Value 2 = The name of the GameObject in the Hierarchy window that has the javaListener script attached.

function myFunction()
{
     localStorage.clear();
     var sample_url = "Replace Value 1";
     var url_parameter = document.location.search.split(/\?url=/)[1]
     var url = url_parameter || sample_url;
     var googleSpreadsheet = new GoogleSpreadsheet();
     googleSpreadsheet.url(url);
     googleSpreadsheet.save();
     googleSpreadsheet.load(function(result) {u.getUnity().SendMessage("Replace Value 2", "GiveID", cdata);
                                              url = result.data; $('#results').html(JSON.stringify(result.data).replace(/,/g,",\n"));});
}

[ Part 5 ] test it All together
Now save the HTML file and open it in a browser. After the unity web player is fully loaded, click on the “Update level” button. (ノ◕ヮ◕)ノ*:・゚✧*:・゚✧ Magic moment! If not, make sure all the steps are done correctly, check for typos and casing. Good luck! ( ´ ▽ ` )ノ

[ Update ] 4/30/2014 The new Google drive, the option to publish .csv is no longer visible, however, the function is still there. Go to the share screen of your spreadsheet and copy the key and replace it in the following link and you are all set!

CSV file : https://docs.google.com/spreadsheets/d//export?format=csv

Mini Game Jam!

Posted on March 7, 2013February 16, 2021 by Kyle Li

Screen shot 2013-03-15 at 12.40.40 AM
The plan below is an overall view of the map in this demo game. As you can see it is empty between the lower-left platform and the upper-right platform. Use the Google Form below to create a platform for the game. When you are done submitting the form, launch the game below, once the web player is fully loaded, click the “Update level” button underneath the web player. To update again, just refresh the page and the button will show up again. CAUTIONS: The level creation here is a collaborative effort, everyone’s contribution will show up all in 1 game.

[CAUTION] Please don’t enter “,” in the text field.

== Launch the demo game v1.0! ==

lvelmap

Change Log:
[03-19-2013] Update Google form, change checkbox to multiple choice for Ramiro.

something, something level design

Posted on March 6, 2013February 16, 2021 by Kyle Li

basic guidelines:

1. Understand the genre
In our demo game, the main character “cube” can only move left or right and jump. The character doesn’t grow stronger over time, doesn’t level up, and doesn’t have any massive destructive weapons available in-game. There are tons of game characters like ours throughout the history of video games. In fact, the cube is not the weakest, Spelunker is – click the image to find out different ways the main character in Spelunker can die. However, from the point of view of play experience, the weaker it gets, the greater the satisfaction is after beating a difficult level.

Cabbage Patch Kids - Adventure in the ParkCabbage patch kids MSX (83′)spel1Spelunker (83′)
lbp1
Little Big Planet 1 (08′)
spelunky-pc-screenSpelunky (08′)
Week2.009
Week2.011

2. Be Experimental
Understand every one of your game elements and different ways they can work together to create new gameplays, build game levels for those elements and combos to thrive. Check out this link on the 4 step level design in Super Mario 3D world that covers onboarding, habit-building, and mastery in building a fun and challenging player journey.

3. Offering options and keeping secrets
Get players involved in making choices. Even tho only 1 door leads to the next level, let’s give them 5 doors to choose from.

megaman


4. Keep them focus
Mix and match your game elements to create different Immediate Goal (combo gameplay) e.g. Exploration = traversal + stomping + exterior. Doing so will give limited game mechanics a fresh spin.

  1. Immediate Goal: Exploration, Defending, Puzzle Solving, …
  2. Mechanics: Traversal, Stomping, Brawling, Flying kicking, …
  3. Environment: interior/exterior, weather condition, urban/rural, …

5. Alternation:

LEVEL
levelDesign

6. Break your rules in case of fun!
“Rational game design repeats rational gameplay.” and “Irrational game design lead to new experiences.” – If Sol LeWitt designs games.

Harry Potter Adventures Through Hogwarts Electronic 3D Game

Posted on November 23, 2012November 23, 2022 by admin

[MATTEL, 2001] Mysterious and magical adventures await you at Hogwarts Castle! Secure your Hogwarts letter, collect your money from Gringott’s, buy school supplies in Diagon Alley, then board the Hogwarts Express. Once there, you’ll try to out-wizard your opponents as you journey through 11 magical rooms on your quest to capture the Sorcerer’s Stone! DESCRIPTION Players travel through a 3-D version of Hogwarts Castle as they search for the Sorcerer’s Stone. There are eleven rooms to explore. Electronic sounds and lights enhance the game play. The “castle” rotates so that players have easy access to their pawns. Players can cast spells to slow down their competition. The first player to capture the Sorcerer’s Stone wins.

CONTENTS: 1 Electronic game base 1 Entrance hall arch 1 2-Piece plastic center column 4 Vertical walls 7 Floor panels 4 Outer board sections 1 Roof 26 Cardboard tokens 4 House tokens 10 Broom tokens 4 Caldron tokens 4 Owl tokens 4 Wand tokens 24 Coin tokens 8 Galleons 8 Sickles 8 Knuts 30 Spell book cards 4 Plastic movers 1 Standard 6-sided die Rules

https://boardgamegeek.com/boardgame/12823/harry-potter-adventures-through-hogwarts-electroni

SMALLab: Game of π

Posted on March 14, 2012June 7, 2020 by Kyle Li

“The children really got into the game, and you could hear good reflection statements and questions. they were learning.”  – Daniel O’Keefe, Curriculum Designer, Institute of Play

CIRCLES is a multi-player territorial game that reinforces the concept of Circumference = 2 x π x Radius. In this game, players are divided into 2 teams and each team holds the correct value of π in their controllers. Teams are competing to capture as many circles as possible with matching circumferences. Each circumference is created by pairing their π value with a roaming radius in the space. The process of creation is companied with a robotic voice saying “1, 2, 3, and a little more!” which is directly connected to the π lesson prior to the SMALLab experience. If the circumference matches the target circle perfectly, the team captures the circle and scores! However, a mismatch offsets the team’s π value and deactivates their controller temporarily until the value counts back to π again.

SMALLab Team:
Kyle Li <SMALLab PL/Game Designer>, Lena Kotani <Math Teacher>, Daniel O’Keefe <Curriculum Designer/Learning Expert>, Shulamit Ponet <Mission Lab Game Designer>, Richard Bowman <SMALLab IT>

Run Run Drazo!

Posted on March 7, 2012October 27, 2018 by Kyle Li

Run Run Drazois a game prototype inspired by inheritance and nature selection. In order to help Drazo complete its journey through time, the player has to manipulate Drazo’s traits strategically for the beaten path ahead.

Older prototype:

Screen shot 2012-04-28 at 2.10.08 AM

oldproto

Screen shot 2013-03-03 at 2.44.29 AM

05/05/12 Cyclop prototype done, need to improve eye blinking animation.

SAT Math game

Posted on October 21, 2010 by Kyle Li

This was a side project for an online SAT prep company. I was the game designer on the project and parsed most of the math data myself for the level design. In my memories, this project was supposed to be short but ended up last more than a year and I was spaced out on the project after a while. Do math or Earth (cows + people) will be destroyed!

Mobile Quest 2010

Posted on July 23, 2010October 17, 2023 by Kyle Li

01_4860646135_570afd201e_oMy most characteristic team: “Justin Bieber’s No.1 fan” Chelsea, “Call of Duty Expert and his snapper called Intervention” Nicholas, “the quiet Olympic Gold Medalist” Catlin, and “the next Steve Job Basquiat” Brendan.

08_4862700383_7b7302b4ea_o02_4860649589_a289000206_o-1
18
10_4863313550_4c94c20b78_o

Half way through the camp we decided to swap all the NOKIA phones with iPads for better performance and bigger screen. It was difficult when we tried to cast the magic of mobile games to kids but the wands didn’t work most of the time.  This is crucial to the camp experience since we spent most of the time playing and designing analogue games. We have built up the exceptions for kids for mobile devices, we wanted the technology to work when they go the into digital game design which the last portion of the camp.

Posts navigation

Older posts
Newer posts

Recent Posts

  • BMP – Rearrange Colormap
  • Reset Allow USB Debugging? Notification
  • 8-bit Notes
  • AT29C256 90PI
  • Super-Toys Last All Summer Long

Archives

Proudly powered by WordPress | Theme: MiniZen by Martin Stehle.