Initial Reality

by:
Tian Li
Nate Hansen
[Home] [Group] [Proposal] [Update 1] [Update 2] [Presentation Slide 1] [Presentation Slide 2] [Report] [Status]



just read the word document for updated version for now

Project Proposal

Tian Li

Nate Hanson

Project abstract

A one paragraph description of the project and why it is should be useful to someone.

Our project is a game called ___ In short this is a game which brings RPG into the real world. Instead of moving your character in a virtual world, you move in the real world, interact with real people, and trigger events by visiting real locations.

The character will level up and interact with its environment without much control from the user. Therefore this game is rather passive and do not demand the attention of the player. It will therefore be very suitable for users who has work or school during the day time and can only spend time customizing his or her character at night. The main purpose of ____ is to provide entertainment. One possible extension of this game is to provide an interface so users can design their own scavenger hunts, which will be great for learning locations.

Project scenario

A scenario that highlights how the product will actually be used by and end-user.  Approximately 0.5 pages.

Imagine the following scenario: Tim just got accepted to the cse department. He excitedly awaits the arrival of his ACM officer, Sara, to arrive to take him on an exciting tour of the cse building. Sara greets him and hands him a personal server running ____. Sara has designed a scavenger hunt for Tim so that he could master the floor plans of Paul Alan Building.

Tim excitedly plugs the personal server into one of the lab computers. He reads the quest description written by Sara, and an explanation of how the game works. "This is fun!", thought Tim as he quickly creates a character for himself which he names "cool_timmy", sets some stats, and starts his quest to obtain the 5 key items.

He first runs down to the basement. When he walks by the undergraduate lab 006, he gets a notification that an event has occurred. What could it be? Did he just fight a monster preprogrammed by Sara? Wondering about the well being of cool_timmy, he continues on. Next he walks into the lounge, and hears the notification and realizes he has found his first item. Sara must have wanted him to remember the lounge well!

On his way to the third floor, Tim passes by Tom, who is also on a similar scavenger quest. Tim knows that a battle has occurred between cool_timmy and Tom’s character. He really wanted to beat tom because that would give cool_timmy enough experience to level up. To view the result of the battle, and all the other events which have occurred, Tim would have to go to one of the computer lying around the building. First things first though, there are 4 more items to go, and numerous places to visit!

Design strategy

Provide a description of the overall design, it's major components, and their purpose. Describe any special constraints (e.g., cost, speed, size, storage, power) your design needs to satisfy. State clearly the tradeoffs that will need to be evaluated. Approximately 2 pages.

We see this project has having 4 major components, with the last one optional(due to time constraints)

Component #1 - Game logic

This is going to be a single piece of software application that runs full time on the personal server. Its functions includes: Keeping track the state of the game. For example, the name, health point, and level of your character. Listens to events from other components to correctly update the game state. For example, when it receives acknowledgement that the user is in a special location during a scavenger hunt, it will update the user’s inventory with a new item. The major constraint for this piece is size and speed. We envision our game to be a small and compact application running passively on the personal server. It should not excessively demand resources from the personal server because the personal server is used to do more important things for the user. An analogy is that solitaire does not consume much resource on a computer nowadays.

Component #2 Location Awareness

This is going to rely on the PlaceLab technology and detect key locations. It needs to know when a user is within proximity of a certain location that was preprogrammed to drop an item. Once it successfully detects such an event, it needs to notify the game logic. The primary concern is the speed and accuracy of which it can detect a particular location. The user may be walking relatively fast. Also the user may only walk near a location but not right on top of it. A reasonable sensitivity is desirable.

Component #3 - Game Manager

This is an application that will run on a computer. When the personal computer connects to the desktop computer, it will dump its game state onto the desktop computer which will process it and display it graphically to the user. Its second function is to present a GUI for the user to select some options that affect the game. For example it may give a screen which will let the user equip its character with the item it found

Component #4 (Optional if there are any time remaining) - Scavenger Hunt Builder

This is going to be a Editor that lets users build their own customized scavenger hunt and upload it onto personal servers. So dungeon masters may build their own question for a group of friends/employees to use.

The main concern here is usability and friendly interface. It does not have to be powerful, but it should be fast and easy to use.

Design unknowns

Describe the features of your design that your group is least familiar with and with which there is no prior experience. For example, an input sensor for which you may have to deal with sensitivity and signal noise issues or a development environment with unfamiliar APIs. Approximately 1 page.

A. Our group is least familiar with the network component of the personal server. We have little experience programming networking capability of both the personal server and regular computers.

B. PlaceLab:We have never used this type of feature before

Implementation plan and schedule

Outline a plan for implementing your project describing the pieces to be implemented and tested and how they will be integrated. Try to come up with a rough timeline for your work and a rough division of labor between group members. Approximately 1 page.

Step 1: Successfully send messages between two personal servers

Step 1.5: figure out a way for the personal server to notify the user an event has happened, this can either be a beep or a light flashing or something… not sure what additional hardware we will need for this

Step 2: Fundamental working module of the game - A single playable character with states - Game logic which updates this character’s state on certain events

Step 3: Make PlaceLab work

Step 4: Incorporate Location Awareness in the software -recognize key areas and make updates to the character’s state, for example, pick up items and fight a monster

Step 5: Write software component which runs on a computer -download the game state from the personal server -outputs graphics and user interface

Step 6: Write simple program for user to implement their own scavenger hunt

Step 7: test usability and make improvements to user interface

*Each of these steps will take between a day to a week to complete, if there are extra time left it will be spent to prepare an impressive demo

Resource requirements

Specify the resources you'll require for your project. These should focus on the needs you expect to have that are not met by the standard equipment available in the lab. For example, any special programming environments, components, evaluation boards, computing platforms, signals sources (e.g., video or audio), etc.  Think of this as a parts and software list.  Approximately 1 page.

Parts: 2x Intel Personal Servers
Some sort of notification system which we will need to attach to the personal server to alert the user some event has occurred. This could be something that simply beeps or a simple led flashlight, to a more complicated piece of hardware like a led screen.

Software requirement:
PlaceLab software