Ethan Pilot

From WLCS

Overview

Projects

  • PHP - Learn PHP to a basic proficiency and maybe some MySQL
  • SDL - learn the cross platform cpp api as well as re-learn cpp as it was all long forgotten

References

Testing Sites for PHP

First Quarter

By-Date Goals

9/17

  • Install ftp client and prep webhost with directory ✓

9/21

  • Complete PHP basic on w3 ✓

9/23

  • Dynamic Stylesheet project with php ✓
  • Basic login page ✓

10/1

  • Complete PHP advanced ✓

10/5

  • "frames" without frames in php ✓
  • Research/Pick More advanced PHP project using things from PHP advanced ✓
    • I chose CMS

10/22

  • Complete the project
    • basic working order ✓
    • have content page use same layout/stylesheet as index ✓
    • better overall styling ✓

10/26

  • Choose IDE for cpp and install it ✓
    • Code::Blocks
    • Netbeans ✓
    • KDevelop
    • Anjuta
  • Choose CPP book or online tutorial [1]

11/1

  • Start relearning some CPP ✓

Second Quarter

Goals

  • Complete C++ Tutorial on cplusplus.com ✓
  • Get SDL installed and configured for netbeans ✓
  • Start working though SDL tutorials on lazyfoo
  • Migrate to Linux Mint install on flashdrive ✓
    • install mint ✓
    • install libraries and such ✓
    • install codeblocks ✓
      • this was chosen due to space constraints, as netbeans is huge and has more dependencies
  • apply skills with small projects
    • bouncing ball ✓
    • pong ✓
pong screenshot
Screenshot of the completed pong game
  • Skill Prerequisites before void can be totally finished
    • basic SDL ✓
    • mouse tracking ✓
    • fonts with ints and stuff ✓
    • keystates ✓
    • sound playing
    • framerate tracking/limiting ✓
    • timing and timers ✓
  • install Mercurial for easier working on of project at different locations as well as management of code ✓
  • replicate and report gasp bug on launchpad ✓

Third Quarter

Goals

  • migrate to OSX ✓
    • find/switch to new IDE (Xcode) ✓
    • Install mercurial, modify repo accordingly ✓
    • Install SDL, other libraries ✓
    • Become acclimated to new environment ✓
  • work on void, refer to Void Progress Monitor
    • all goals in void progress monitor took place in the 3rd quarter unless otherwise noted

Fourth Quarter

Goals

  • Continue working on void
  • maybe a java review

Void Progress Monitor

Repository is at https://bitbucket.org/UrbanAlloy/void

Third Quarter Progress

  • Basic gamestate manager ✓
  • Ship that moves, bound inside of window ✓
  • Scrolling background ✓
  • FPS limited at 60 FPS ✓
  • shooting alternating from side to side with adjustable speed ✓
  • randomly placed enemies with random speeds ✓
  • collision detection ✓
  • fixed transparency ✓
  • implemented score counting + drawing ✓
  • health bar ✓
  • collisions of aliens with your ships ✓
  • sprite sheets ✓
  • enemies return fire ✓
  • bitmap font used for drawing score ✓
  • particle engine ✓

Fourth Quarter Progress

  • highscore list with external file I/O ✓
  • upgraded particle engine with more configuration options ✓
  • upgrades and health packs ✓
  • menu with play/quit and mouseover detection ✓
  • improved HUD ✓
  • pause/resume ✓
  • real explosions for enemies ✓
  • Fullscreening ✓
  • Explosion sounds ✓
  • Shields ✓
  • Music and sound effects ✓
  • second enemy type ✓
  • laser powerup upgrade progression ✓

Todo

  • bosses/levels
  • background things (planets, nebulae, etc)
  • upgraded particle effects (burst, multiple sprites per fountain)
  • ingame menu

Void Image Gallery

void screen 1/13
Void as of 1/13
void screen 2/17
Void as of 2/17
void screen 3/5
Void as of 3/5
void screen 3/14
Void as of 3/14
void screen 3/27
Void as of 3/27
void screen 4/1
Void as of 4/1

Playing The Game

download link for WIndows Binary with all necessary dependencies except .net 4 stuff: http://sandzone.co.cc/Void.zip

Updated binaries should be in the repo, as of 6/17 the windows binary is not quite up to date but should be by this evening when I can get home that and upload it. The linux binary is very old at this point and hasn't been updated in a while. It's only a matter of compiling on the different platforms, but it requires additional libraries to be present on the computer to install/run. All platforms will need the SDL, SDL_TTF, SDL_MIXER, and SDL_IMAGE libraries. On windows, all of the necessary dlls for these is included in the directory with the exe. However, since i compile with visual studio 2010, you will need the .NET 4.0 framework (http://www.microsoft.com/downloads/en/details.aspx?familyid=0a391abd-25c1-4fc0-919f-b21f31ab88b7)

in terms of instructions for playing - menu is pretty self-explanatory, button in lower right is mute/sound on, it can be a bit weird sometimes. Pressing 'f' on the main menu will take you to fullscreen. In-Game, pressing the 'p' key will pause the game and pressing the 'r' key while paused will resume the game and pressing 'esc' any time (including when hiscores are being shown) will bring you back to the menu. Spacebar is shooting, it works best to just hold down space imo since there is no negative consequence to endlessly shooting. The red bar is health and the green bar below it is power. When the power bar reaches full, you can press 's' to activate your shields, which will temporarily render you invincible and drain your power. At any time while shielded, you can press 'p' again to disengage the shields, but you will not be able to re-engage until power is once again full.

There are 3 powerups - the power boost which boosts the amount of power reserves you have, the health pack which can regenerate some of the health you lost, and the laser upgrade which increases the firepower of your ship in various stages. This last powerup will stop appearing once your ship has reached its maximum firepower.

The Game is open ended and the only point is to not die and get the highest score possible.