penn siggraph games development game

13
Presenting “Unnamed Game”

Upload: ianp622

Post on 13-May-2015

462 views

Category:

Technology


0 download

DESCRIPTION

Presentation slides for a cell phone game currently in development.

TRANSCRIPT

Page 1: Penn Siggraph Games Development Game

Presenting “Unnamed Game”

Page 2: Penn Siggraph Games Development Game

Basic Mechanics Overhead space shooter

Control ship with arrow keys

Press fire button to fire all of your guns at once

Cells

break off as a ship takes damage

enemies are built from cells

must be directly hit to be destroyed

You must protect your brain cell – if it takes 3 hits, you’re dead!

Page 3: Penn Siggraph Games Development Game

Cell Types Basic Cell Does not shoot

Provides cover for other cells

Gun Cell Shoots a fast projectile in one direction

Missile Cell Shoots a seeking missile

Short lifespan

Melee Cell Sword-like cell that must touch a cell to kill it

Page 4: Penn Siggraph Games Development Game

Behind the Scenes Multiple Child tree structure for ship

Brain Cell is the root

Hitting a cell destroys it, but releases children cells back into environment

Can be retrieved by you or enemy

Traversal used for most cell operations

Drawing

Shooting

Collision detection

Rotation and translation

Page 5: Penn Siggraph Games Development Game

Behind the Scenes Collision Detection

Every bullet from every ship can collide with every other ship

Time-based collision needed with high projectile speeds and small cell sizes

Bounding circles used to minimize collision checks

Page 6: Penn Siggraph Games Development Game

Challenges Faced Mobile Game Development

Pros:

Easy to get started

Java-based

Netbeans Game Development tools

Cons:

Little memory (~1-4 MB heap size)

Small screen

Awkward controls

Not completely portable among J2ME phones

Page 7: Penn Siggraph Games Development Game

Challenges Faced No floating point arithmetic

Floating point math is not on all J2ME phones

Used an open-source fixed-point library

We use 64-bit fixed-point longs

With 32-bit we did not have enough precision or range

Page 8: Penn Siggraph Games Development Game

Memory Use of the new keyword was expressly forbidden

without a good reason to back it up

Operations on vectors to avoid allocating memory

Pair a plus with a minus

Pair a multiply with a divide

Minimize vector normalization (slow)

Garbage collection is actually reasonably fast, but we still want to avoid using it

Page 9: Penn Siggraph Games Development Game

Challenges Faced Management Team members have other priorities (school work, jobs,

etc.) Long term goals are ineffective

Members come and go Code in small pieces to avoid losing work when a member

leaves

Short jamming sessions more effective Declare goals to reach at the end of a 5 – 10 hour session

Fosters team atmosphere

Peer coding helps members become familiar with code

Page 10: Penn Siggraph Games Development Game

Bugs and Hax

Page 11: Penn Siggraph Games Development Game

Bugs Can keep up with your

own bullets

Phantom ship

Page 12: Penn Siggraph Games Development Game

Hax The fixed-point arctan2 function has a bug

Good solution – do some math and checks to compensate

Bad solution – reorder the sprite rotation array so that the rotation works anyway

Guess which one we did?

Page 13: Penn Siggraph Games Development Game

Future Plans Improve collision detection (esp. for melee cells)

Work on single-player experience

Tighten up the graphics on level 3…I mean, import the rest of the sprites and get a background

Multiplayer over Bluetooth

Port to Flash (better graphics, online multiplayer)