Difference between revisions of "Ethan Pilot"

From WLCS
 
(34 intermediate revisions by the same user not shown)
Line 1: Line 1:
Dates are currently being modified as well as more details being added
 
 
 
==Overview==
 
==Overview==
 
===Projects===
 
===Projects===
PHP - Learn PHP to a basic proficiency and maybe some MySQL<br>
+
*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
+
*SDL - learn the cross platform cpp api as well as re-learn cpp as it was all long forgotten
  
 
===References===
 
===References===
*http://www.w3schools.com/php/default.asp<br>
+
*http://www.w3schools.com/php/default.asp
 
*http://lazyfoo.net/SDL_tutorials/index.php
 
*http://lazyfoo.net/SDL_tutorials/index.php
 
*http://www.cplusplus.com/doc/tutorial/
 
*http://www.cplusplus.com/doc/tutorial/
Line 25: Line 23:
 
**username is username password is password
 
**username is username password is password
  
==Quarterly Breakdown==
+
==First Quarter==
===First Quarter===
+
===By-Date Goals===
 
9/17<br>
 
9/17<br>
 
*Install ftp client and prep webhost with directory &#10003;<br>
 
*Install ftp client and prep webhost with directory &#10003;<br>
Line 55: Line 53:
 
*Start relearning some CPP &#10003;
 
*Start relearning some CPP &#10003;
  
===Second Quarter===
+
==Second Quarter==
*Complete C++ Tuturoial on cplusplus.com &#10003;
+
===Goals===
 +
*Complete C++ Tutorial on cplusplus.com &#10003;
 
*Get SDL installed and configured for netbeans &#10003;
 
*Get SDL installed and configured for netbeans &#10003;
*Start working though SDL turorials on lazyfoo
+
*Start working though SDL tutorials on lazyfoo
*Migrate to Linux Mint install on Flashdrive &#10003;
+
*Migrate to Linux Mint install on flashdrive &#10003;
 
**install mint &#10003;
 
**install mint &#10003;
 
**install libraries and such &#10003;
 
**install libraries and such &#10003;
Line 66: Line 65:
 
*apply skills with small projects
 
*apply skills with small projects
 
**bouncing ball &#10003;
 
**bouncing ball &#10003;
**pong
+
**pong &#10003;
===Long Term Goals===
+
[[File:pongscreen.png|thumb|alt=pong screenshot|Screenshot of the completed pong game]]
*Port Void to SDL, ameliorate
+
*Skill Prerequisites before void can be totally finished
 +
**basic SDL &#10003;
 +
**mouse tracking &#10003;
 +
**fonts with ints and stuff &#10003;
 +
**keystates &#10003;
 +
**sound playing
 +
**framerate tracking/limiting &#10003;
 +
** timing and timers &#10003;
 +
*install Mercurial for easier working on of project at different locations as well as management of code &#10003;
 +
*replicate and report gasp bug on launchpad &#10003;
 +
 
 +
==Third Quarter==
 +
===Goals===
 +
*migrate to OSX &#10003;
 +
**find/switch to new IDE (Xcode) &#10003;
 +
**Install mercurial, modify repo accordingly &#10003;
 +
**Install SDL, other libraries &#10003;
 +
**Become acclimated to new environment &#10003;
 +
*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 &#10003;
 +
*Ship that moves, bound inside of window &#10003;
 +
*Scrolling background &#10003;
 +
*FPS limited at 60 FPS &#10003;
 +
*shooting alternating from side to side with adjustable speed &#10003;
 +
*randomly placed enemies with random speeds &#10003;
 +
*collision detection &#10003;
 +
*fixed transparency &#10003;
 +
*implemented score counting + drawing &#10003;
 +
*health bar &#10003;
 +
*collisions of aliens with your ships &#10003;
 +
*sprite sheets &#10003;
 +
*enemies return fire &#10003;
 +
*bitmap font used for drawing score &#10003;
 +
*particle engine &#10003;
 +
===Fourth Quarter Progress===
 +
*highscore list with external file I/O &#10003;
 +
*upgraded particle engine with more configuration options &#10003;
 +
*upgrades and health packs &#10003;
 +
*menu with play/quit and mouseover detection &#10003;
 +
*improved HUD &#10003;
 +
*pause/resume &#10003;
 +
*real explosions for enemies &#10003;
 +
*Fullscreening &#10003;
 +
*Explosion sounds &#10003;
 +
*Shields &#10003;
 +
*Music and sound effects &#10003;
 +
*second enemy type &#10003;
 +
*laser powerup upgrade progression &#10003;
 +
===Todo===
 +
*bosses/levels
 +
*background things (planets, nebulae, etc)
 +
*upgraded particle effects (burst, multiple sprites per fountain)
 +
*ingame menu
 +
===Void Image Gallery===
 +
{|
 +
|[[File:voidscreen113.png|thumb|alt=void screen 1/13|Void as of 1/13]]
 +
|[[File:voidscreen217.png|thumb|alt=void screen 2/17|Void as of 2/17]]
 +
|[[File:voidscreen35.png|thumb|alt=void screen 3/5|Void as of 3/5]]
 +
|[[File:voidscreen314.png|thumb|alt=void screen 3/14|Void as of 3/14]]
 +
|[[File:voidscreen327.png|thumb|alt=void screen 3/27|Void as of 3/27]]
 +
|[[File:voidscreen41.png|thumb|alt=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<br><br>
 +
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.

Latest revision as of 00:26, 18 June 2011

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.