Home > Starwings

Starwings

Starwings is a project mainly written in JavaScript, it's free.

2D top down spaceflight/combat game written in js using the crafty js game engine

Starwings (working title) Last-modified: 08 May 2011 11:26:36 PM

Created by

Zachery Chin - Programming Chris Victoria - Art

Current Version

Description

2D top down space flight/battle game in javascript for HTML5 canvas using the Crafty js game engine.

LEFT OFF

next steps:

  • begin work on helm control built out the impulse and yaw thruster controls, add in broadsideThruster controls then begin work on helm control
  • add animations to the player ship (and allow animations to be easily attached

TODO

Flesh out the helm controller to apply thrust properly BUILD AND INSTALL NODE.JS to use this js vim plugin thingy. Write tests for physics component Build the engine component or object which attaches to the ship Create a function/system which converts from game units to screen units. see if I can use foo.Prototype to add functionality to objects? Tweak inertial dampner so it operates proportionally to veloctity. Actually might not want to do this, depends on how the feel of flight is when in use Attach animations to the player ship

In this Version

Added unit tests (JS unit) Added main impulse drive engine Added inertial dampener to ship Added a few tests for util, sign function Worked out and integrated inertial dampener v1

Code Quirks

Crafty uses _var as a convention to denote private variables for components. I've read that this isn't a good practice and have avoided using it in my own classes. However, as I don't know enough to extend crafty components yet I'll stick with their conventions for now.

Questions

What is the scale of the game? I'm not talking about the scope but what is the relationship between one pixel on the screen and game dimensions in kilometers ? I'm sure most games don't worry about this unless they're complex simulations but in order to get the right feel I do want some simple physics to apply to the objects in space. With that we have to think of formulae. With that we must think of units. With units we must think of scale. Am I overthinking things? maybe...

Currently working on/TODO ver - 0.2.1

  • Wrote unit tests for util functions

ver - 0.2

  • Thinking about adding unit tests for vector and physics classes
  • Create the controller which takes input vector and determines how to apply engine thrust (Ship component)

Changelog

ver - 0.2

  • Upgrade to Crafty 0.4
  • Previously, player ship data and controls were stored in a special player component. In the process of generalizing this to it's own ship component and keeping player specific information in the player component.
  • Abstract out the ship inputs into a single vector (helm vector)
  • Be sure all component declarations/definitions are capitalized. Crafty 0.4 changed this.
Previous:pastiche