Zania week 9: Physics overhaul

I am trying to adapt to the agile type of thinking in order to push out a prototype as soon as possible to get feedback. Yet, at the same time, I understand the histories of hyped up games released too early with Duke Nukem forever at the opposite spectrum. In my mind I am thinking: “Maybe startup methodologies should NOT be applied to making games. Games needs to be polished to catch on because it is used as relaxation instead of productivity.” I was plagued with these two opposites the whole time I was working in the past two weeks on both the migration to CS5 and upgrading the physics engine. These are things that are not essential to a release, but have been bugging me for a long time. It’s a matter of overhauling now when the code base is still small (If you can call this small) or overhauling later, when the code base expands exponentially. I chose now, for the sake of being able to focus in the future. So that I have less things clogging up my thoughts. The result, I have to say, is much improved physics. Bullet momentum now transfer to ship’s main body and collisions feels more realistic. Machine gunning space ships and watching the bullets bounce off have never felt this satisfying.

I also started making the next weapon type as I move to flesh out the Inventory and equipment interface. The result is as you can see: A mess. The red laser is being drawn, but at the wrong angle and wrong offset to where the ship is pointing. A problem due to my radian to cartesian coordinate system conversion. I will have to scratch my head a bit on this one.

As my site move has completed and I have one extra free ad-supported hosting sitting there without being used. I will be dedicating it to host my projects in development soon.


  • Physics system overhaul
    • What started as some menial task to do while depressed turned out to be a complete overhaul. I seem to be doing this a lot.
    •… done
    •… done
    •… done
    • First compile …. assertion failed
    • Tried compile with simple shapes and failed. Proceed with simple universe.
    • DebugDraw restored. Physics body and graphics created, but everything is stuck at the center… this is so depressing.
    • Dynamic body rendering fixed…Force application is still wrong. Ship body forces goes to infinite and bullets has no force.
    • Added ClearForces() at each world compute step. Change bullets to dynamic bodies…Physics simulation fixed! The power of sleep!! 2 days detour
    • Realized that bullet needs to be moved to actor constructor. Added to incomplete list.


  • Equip function for different type of ammo
    • Overhauled weapon.xml structure
    • Created test function RayCast for lasers
    • Lasers created, but at the wrong offset, wrong rotation and wrong length.
    • This is related to the radian to cartesien translator I made for bullets creation. Looks like math time.
  • Move bullet creation to actor construction.
  • AI calculation on where to turn is a bit off when player is positioned at the 2nd quadrant compared to the AI.
  • GUI health bar not decreasing correctly fully, also, health count drops to negative before counting is terminated
  • Improve physics engine
  • Determine which class should be the one retaining weapon ID
    • Actor? Ship? Player? AI?

Reviewed milestone

  • Core: Physics based space shooter
  • GUI: Health, ammo, radar, inventory
  • Graphics: B/W vector graphics
  • Music: 1 track repeated

Original Milestone

  • One player ship and one ai ship artwork finished along with their xml data (Art + some programming)
  • Hitpoints, body existence timer and actor destruction (Hardcore Programming)
  • One planet orbiting the sun. (Hardcore Programming)
  • GUI placement (Art + menial Programming): Health bar, ammo count, radar, inventory
  • Booster animation (Art + Math + some programming)
  • Populated galaxy (menial programming)
  • Dynamic graphics loader for background? (Cleverness)

Features for next release

  • Genetic AI
  • Secondary gravity fields for planets large objects and black holes
  • Multiple galaxies

Features for future release

  • Base building
  • Market systemZ

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>