Archive for Examples

13 Sep 2011

Playing with “Game Feel”

No Comments Examples, Games, Research, Unity3d

I am currently taking on the dual task of researching “game feel” for a Game Modding class at NYU’s Game Center, and teaching myself Unity3d. As part of my course work, we have been asked to read “Game Feel: A Game Designer’s Guide to Virtual Sensation”.

In this book, the author talks about 3 specific areas that effect the “feel” of a game. He describes feel as being, “Real-time control of virtual objects in a simulated space, with interactions emphasized by polish”.

Real-Time Control
This is comprised of a interactivity between at least tow participants. Each participant actively communicates with each other though a combination of input and output feedback. Bellow, Swink describes this process as it pertains to computer games and their participants.

The user has some intent, which is expressed to the computer in the form of the user’s input. The computer reconciles this input with its own internal model and outputs the results. The user then perceives the changes, thinks about how they compare to the original intent, and formulates a new action, which is expressed to the computer through another input.

Simulated Spaces
These are are comprised of physical interaction that take place in a virtual space. Through the use of level design, collision detection, and physics, the game designer is able to give meaning to the games movement. The surrounding visuals offer a frame of reference for the player to get the impression of speed. “Using the avatar as a channel for expression and perception, we experience game worlds at the tactile, physical level of the world around us.”

Polish
Polish is comprised of all this tiny details that “artificially enhance” a players interaction without changing any of the games core functionality. Examples of these could be dust particles on ground, sound effects, camera shakes. These effects, add the games overall appeal and allow for the game to seem more “real”.
Read more

Popularity: 2% [?]

27 Sep 2010

Prototyping a Networked Family

4 Comments Design, Education, Examples, Physical Computing, project, Social Media, Technology

Being a first time dad has been the most amazing experience of my life. Watching my daughter grow, and witnessing her constant exploration of the world around her has been extraordinary. Unfortunately when Mondays roll around, it is time for me and many other parents to drop off our kids at the babysitter.  The amount of time we get to interact with each other is very minimal, and pretty sad.

In a world where we all feel so “connected”, the people that matter most have no method of remotely interacting with us.  My 1 1/2 year has no twitter, or Facebook account to update.  She doesn’t check into fourSquare every time we go to grandma’s house. Even with mobile phones and Skype video conferencing, there is no direct method of me interacting with her without the assistance and supervision of an adult. So basically, we could only interact with each other when another adult has both the time and is willing to put in the effort to set up an environment for us to communicate.

This got me thinking “how can my daughter and I interact during my work hours?”  The first thing I did was identify the main characteristics of my daughter, back when I first started working on this project:

  • My daughter was one year old.
  • Her vocal communication ability was in the preliminary stages of development
  • Her motor skills where still not fully developed, so complex tasks like using a keyboard or mouse where not possible.
  • She needs adult assistance to use our everyday communication tools that available to us (moble and land-line phones, computers, etc).

At this young age, children are extremely dependent on their parents and other adults for just about everything.  However, there are also several activities that come as naturally as breathing and eating to a child. Two of those activities that i observed where exploration and play, many times triggered by a common catalyst of curiosity.

Children gradually explore their environment and toys and interacted with them, mastering the new skills that they learn along the way. Quickly they are able to identify all sorts of toy input locations which triggered various types of output, such as audio and visual feedback.
Read more

Popularity: 6% [?]

18 Aug 2010

Handling External SWF Events in Flex using SWFLoader

6 Comments Examples, Flex/Flash, programing, Uncategorized

It has been a while since i’ve written about Flex development so I figured i would post up some useful code for anyone interested. Recently I have been dealing with a lot of 3rd party code which relies on a huge amount of external SWF assets which load into Flex using SWFLoader. The issue i ran into is that the developer getting access to <mx:Application /> from external SWF using the MovieClip(root) approach. This approach is a slight change to the old _root of the gloomy AS2 days. This created an extremely tightly coupled app, with mysterious methods scattered around the Flex project. There was no way of knowing who was calling these methods, if they where deprecated, or if it was actually being used by some external SWF. Did I mention that there are 60 SWFs all with code in the timeline. It is like finding a needle in a haystack. Unfortunately for me, I wasn’t aware how tightly coupled these external swfs where and quickly proceeded to break the application whenever I attempted to refactor any code.

Obviously, calling <mx:Application /> to fake the old _root method of communicating with nested SWFs is not exactly the best way to go about this. Instead I favor using and Event driven approach.

This the code to create a simple external SWF with 5 textfields. Each textfield is clickable and will dispatch a custom event which broadcast the value of the textfield.
Read more

Popularity: 17% [?]

05 May 2010

Multi-Master Arduino Setup using i2c

1 Comment Examples, Physical Computing, programing

I working on a project, I was faced with a challenge of creating a serial bus via multiple Arduino which could communicate with each other. My first intuition, after a little push in the right direction by Tom Igoe, was to create a Master/Slave setup where a Master micro-controller polls all the slave micro-controllers, and dispatches an action. Although this answered one of my question, polling didn’t allow for complete 2-way communication. It tuned out that the answer was mainly an oversight of my interpretation of the Wire documentation.

From Arduino Site:

Wire.begin()
Wire.begin(address)
====
Description
Initiate the Wire library and join the I2C bus as a master or slave.
====
Parameters
address: the 7-bit slave address (optional); if not specified, join the bus as a master.
====
Returns
none

I interpreted this explanation as Wire.begin(SomeAddress) would default as a slave, and not be allowed to be a Master. Being as curious, and stubborn as I typically am, i decided to forget what I thought I was being told, and instead try to break the library, so I could then see where it broke, and attempt to adjust it in a way that better suited my need. Surprise, surprise, it worked, and not need to change anything at all! The address parameter is optional and defaults as a master role if no address is set. However if you do plan on sending messages to the master, you could switch speaker and listener roles via a slaves Wire.onReceive(handler) rather then polling using onRequest(handler). Read more

Popularity: 8% [?]

20 Mar 2010

Initial Test of my Expandable/Interchangeable Circuit

1 Comment Examples, Physical Computing, programing

So what do i mean by expandable? Basically the idea is that I would like the cheapest possible way to be able to create a circuit that I could chain sub circuits too (those are the 2 sub circuits in the video). After lots of trial and error, I was able to put on my crafty hat to make these darn electrons work the way I wanted them too.

In the accompanying video, I give a quick run through of how the circuit works. Essentially, the main goal that I was able to achieve was that I would be able to clone one the inner circuits and add it right in the middle. All I would need to do is connect them to the 2 digital pins, 2 analog pins, one ground, and one 5V series, and it should work without any additional rewiring (although the idea is to make the sub circuits slightly different in their interaction, yet the same in their communication), asides from programing the EEPROM (I used the 24LC256 from SparkFun for $1.95) to contain a unique identifier. The secret to success…diodes..lots of them.

I based my code on a great snippet of code to help me get the I2C communication working on my EEPROMs. I also checked out a helpful tutorial which also helped me out substantially.

One quick tip: Keep in mind that Arduino has an EEPROM mounted on the chip. I intially made the silly mistake of using the EEPROM code that is found on the Arduino tutorial page. This code was reading and writing data on my Arduino’s board mounted EEPROM, which i quickly realized once I realized that the unique data I was writing on each external EEPROM chip did not seem to be working properly.

So why go through all this extra effort? Read more

Popularity: 3% [?]

26 Feb 2010

Update Twitter Status w/ Arduino & Processing

8 Comments Examples, Physical Computing, programing

The next phase of my project was to send the serial communication from my Arduino, over to Processing, which then would formulate a status update based on the button you pressed and send it over to Twitter. I’ve worked with several Twitter API’s in the past, so I decided to go with Twitter4J, the “J” in this case stands for Java, which works perfectly with Processing.

Bellow is an updated version of my previous Arduino coding. I plan on switching the status updating to the Processing side, instead of the Arduino side. If this where to be a real product, it would be easier to download a software update, then to have to reprogram the toy itself. I will add that to my todo list, once i get all the major Read more

Popularity: 12% [?]

24 Feb 2010

Arduino: Print a Single Serial Message per Button Press

No Comments Examples, Physical Computing, programing

So I’ve been working on a new project and have run into a bit of an issue. I plan to send a serial message over to Processing, however it very important that I don’t send multiple values stating the same button press. Since Arduino is in a constant loop state, when i press a button using something like:
Read more

Popularity: 8% [?]

09 Feb 2010

DIY Simon with Arduino w/ Source and Diagram

No Comments Examples, Physical Computing, project


So i finally had time to tinker around with this Simon Sez project again. Turns out there wasn’t an issue after all with my circuits, it was an issue in my code. I also did some house keeping on the code, and created a nice little diagram using Fritzing, an awesome app that was recommend to our class Read more

Popularity: 3% [?]

07 Feb 2010

DIY Simon with Arduino: Take 1

1 Comment Examples, Physical Computing, programing, project

This past week I was trying to figure out what i could work on for my Physical Computing class. My professor mentioned, Simon, so why not take on the challenge. Simon was one of my favorite game, I even have it on my iPhone. For those that may not remember the Simon game check out this commercial.

Anyhow, armed with some basic knowledge of electronics, and some programming knowledge, why not! Bellow is my stab at Simon Read more

Popularity: 1% [?]

23 Sep 2008

A* Pathfinding and Away3D game

No Comments Examples, Flex/Flash

I created a very simple game using Away3d and with a A* pathfinding class which is called Detour with some help from Peter Kapelyan, who helped me tweak some of my code to make it 3D friendly.  It’s only a prototype of a game which i probably won’t enhance anytime soon, so I included the source code for anyone that is interested.  If you does anything with it drop me an email so I could check it out.

The game is pretty much a maze that gets created “on the fly” (I really hate that phrase) by intersections that close off on each turn. The goal of the game is to beat the computer to the your homebase which is the space that the computer starts on (sort of like Chinese Checkers, but with one marble and maze) The first person to get to their homebase wins.  Use your arrow keys to move around.

Source View is here, so go bananas (I like that phrase).

Popularity: 4% [?]

Get Adobe Flash playerPlugin by wpburn.com wordpress themes