JAWS - PowerPoint PPT Presentation

1 / 16
About This Presentation
Title:

JAWS

Description:

This would require making a languages like C++ or Java RPG Adventure a ... The Solution JAWS Eliminate the need of in-depth game programming knowledge such as ... – PowerPoint PPT presentation

Number of Views:81
Avg rating:3.0/5.0
Slides: 17
Provided by: Gue245
Category:
Tags: jaws | game | java | programming

less

Transcript and Presenter's Notes

Title: JAWS


1
JAWS
  • Space-Shooter Game Design Language
  • Justin Lu
  • Guoxin Andy Lin
  • Winston Chao
  • Shoaib Anwar

2
The Riddle of all Riddles?
  • Why do kids become comp sci majors?
  • Answer To program financial software
  • FALSE
  • Real Answer To make GAMES of course

3
The Problem
  • So what the Motivation behind a Game Programming
    Language?
  • Designers VS Engineers
  • Pros Pros
  • Creativity - Able to implement technical
    Details
  • Innovative Ideas
  • Cons Cons
  • Lack of Technical/Programming Skill -Dull and
    uncreative in Game Design
  • -Ideas too nerdy to appeal anyone

4
The Solution
  • JAWS
  • Eliminate the need of in-depth game programming
    knowledge such as graphics manipulation,
    collision detection etc.
  • Allow casual game designers to create games

5
Original Ideas
  • JAWS should be able to create ANY kind of video
    game.
  • Ha
  • This would require making a languages like C or
    Java
  • RPG Adventure a la The Legend of Zelda (original)
  • Thats very similar to space shooters in terms of
    collision and movement. Generalize to a Space
    shooter language

6
Goals of the JAWS Language
  • Create a simple language with easy syntax similar
    to popular languages such as Java so it can be
    picked up easily
  • Allow the designer/programmer the most freedom
    and power and design while still keeping the
    language simple

7
Data Types
  • The usual
  • int, double, string, boolean
  • New
  • entity represents an interactive entity (player
    ship, enemies etc.)
  • point represents a point in 2D space (x ,y)
  • movement describes the AI of an entity
  • attack describes the attack algorithms of entity
  • map a layout of the background of a level

8
Special Features of JAWS
  • Distance Operator
  • Can be applied interchangeably between point and
    entity types
  • Facilitates collision detection while still
    leaving freedom for the programmer
  • Example
  • if((playerShip0enemyShip0)0)
  • statusBar0s label YOU LOSE

9
Special Features of JAWS
  • Entity type implemented as an array
  • Why?
  • Because.
  • In space shooters you are dealing with a large
    number of enemies at once.
  • Example
  • Entity small_alien10
  • small_aliens locations x 5 //move all 10
    small aliens 5 //spaces to the right
  • small_alien3s locations x5 //move a
    single //small alien 5 space to
    //the right

10
Super Funk Accessor Operator
  • s
  • We tried the old . operator
  • It makes more sense to a non-programmer this way.
  • Example
  • Bob.hat ugly
  • Bobs hat ugly

11
First an Example
  • Heres a code example defining movement of
    metroid monsters in the game
  • // now lets create some enemy aliens, lets make 5
  • entity metroid6
  • alien()
  • Image metroid.gif
  • // we will set their AI to dumb_ai,
  • // a movement class we will define
  • ai dumb_ai
  • // lets set our enemy AI now
  • // it will be a dumb AI which just moves the
    enemy downwards
  • movement dumb_ai( )
  • locations y - 1

12
Program Structure
  • A JAWS program is divided into two main parts
  • The declarations sections
  • The engine section
  • //A sample JAWS program
  • declarations
  • //all code and no play
  • //makes jack a dull boy
  • engine
  • //all play and no code
  • //makes jack fail PLT

13
Program Structure
  • Declarations
  • all point, entity, movement, attack and map
    classes are defined here
  • Basically the rules and tools of the game are
    implemented and coded here
  • Engine
  • engine is the main game loop which keeps
    iterating during the execution of the game.
    Generally, you would use this section to describe
    the level progression of a game, the winning
    conditions etc.
  • Really Simple games can even leave this part out

14
Implementation
  • Language designed and specified using ANTLR
  • Output Language JAVA
  • Platform for graphics JAVA Swing/Java2D

15
Testing Plan
  • PHASE 1
  • component testing to examine basic functionality
    of each module parser, lexer, walker, and
    graphical engine.
  • PHASE 2
  • component integration testing.
  • PHASE 3
  • functional testing with sample codes.
  • Incremental testing was implemented throughout
    all phases of the project.

16
Lessons Learned
  • Trying to make another assignment operator and
    getting rid of sign is a bad idea.
  • Difficult to get out of config trap while
    making a game language.
  • Having a group member with access to the EE comp
    lab and the ability to install any application
    you want is key.
Write a Comment
User Comments (0)
About PowerShow.com