Skip to content

ChristianWeeks/416-SDL-Game

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Name: Christian Weeks	
Clemson Email Address: caweeks

Project no: 5
Project due date: 4/23/2014
Project description: FINAL PROJECT!!!!

LINUX DEPENDENCIES - you will receive compilation errors unless these libraries are installed:

	libsdl-gfx1.2-dev
	libsdl-ttf2.0-dev
	libsdl-image1.2-dev
	libsdl-mixer1.2-dev

	After these are installed, running
	>make
	>./run
	should be all you have to do

TO BEAT THE GAME:

	Retrieve the item at the far right end of the level and bring it back to the starting location.
	Don't die.


/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
NEW FEATURES:

	*Collision map generated from foreground.  Player successfully runs along the ground and is pulled down by gravity while in the air.  Player can jump, although it doesn't work when he is running downhill because of the way gravity and foot support works.

	*Game world is 4x larger than before (6400 px).  Unique art for all 5 layers for entire length. Viewport code modified so that smaller images may be used for the background since the background moves slower.

	*new AggroSprite class.  Inherits from MultiSprite.  AI implementation. Some enemies spawn at pre-determined locations.  If the user gets within their aggro range, they will follow the user until they reach their leash length, at which point they will return to their home spot (if the user is also out of range). Uses observer pattern.

	*New EffectSprite Class.  Inherits from MultiSprite. Contains a reference to a "host" drawable as well as offset variables so that different effects can be drawn around the host sprite.  Used on the player and the collection item.

	*New CollectibleSprite Class.  Inherits MultiSprite.  Added behavior to react and be "collected" when the user comes into contact with it.

	*Player Health.  ENEMIES DO DAMAGE AS THEY CONTACT THE PLAYER

	*Press r to reset the game.  Resets player and victory item positions.

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
TODO:
	*fix jumping and gravity mechanics so the player isn't technically considered falling / unsupported when moving downhill

	*player->updateVelocity is called in the manager::draw() because it draws the pressed keys to screen.  Should be called in manager::update().

	*backgrounds do not align perfectly at the very end of the game world.  The math says it should align perfectly, so this could be a rounding issue that accumulates as the planes move 1 pixel at a time as the viewport moves.  Quick fix could be to just make the images larger or slightly decrease the constant that dictates the planes' rate of movement relative to the viewport.

	*More interesting AI + custom enemy animations and attacks would be nice

About

Game Project

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors