Tyler – Week 2 Progress Report

Goals for the week:

  • Design overall project class architecture
    1. Design core classes/inheritance (similar between client/server — for easy networking/sync)
    2. Design clientside classes/inheritance (extending core to provide graphics support)
    3. Design serverside classes/inheritance (extending core to provide gameplay support)
  • Create project directory layout
  • Create makefile/build support (for ease of compilation outside of VS)
  • Barebones implementation of classes
  • Divide project classes into subdirectories (shared, client, server)


  • Overall project class architecture
    1. Core class Entity, extended by specialized Entities (Ship, Asteroid, Base, etc.)
    2. Client-side interface, Renderable. Clientside Entity classes extend this class (R_Ship, R_Asteroid, etc.) to provide render support.
    3. Server-side abstract class, virtual implementation of Entity — ServerEntity. Server-side specialized Entity implementations extend both ServerEntity and the specialized Entities (e.g. S_Ship extends ServerEntity and core.Ship)
  • Create project directory layout
  • Separate project classes into subdirectories (shared, client, server)

Not completed:

  • Makefile — Still learning how to create a proper makefile with subdirectories and multiple build configurations (client vs server, run vs test)
  • Barebones classes — Partially completed (Kristina implemented Server-side and Andrew implemented client-side Ship classes).

Goals for next week:

  • Implement all core classes
  • Object-specific rendering (per entity)
  • Create makefile/Simplify build


Excited — a large-scale project with multiple development groups is an interesting challenge.

Posted in Tyler Reports