Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

34 check-ins

Added Photoshop 7 templates. Leaf check-in: 0550bf85e8 user: Donny tags: trunk
cleaned up a bit of the game logic, namely checking for win/loss conditions and loading initial data for GameObjects (which isnt complete yet) check-in: 51b5178f61 user: tags: trunk
colors can now be assigned to blocks in edit mode using right click! right clicking a block will cycle through all the available colors check-in: 06e2db82a3 user: tags: trunk
minor bugfix to drawing the outline for a box (StateEditing::UpdateGame()) check-in: 1ba914670e user: tags: trunk
in editmode, boxes can be created by dragging in any direction. there is also a minimum dimension that must be satisifed to create the block. an outline will also draw to show you the box you are dragging out. check-in: e2d78ca550 user: tags: trunk
work on level editor has begun. start game with -edit. all you can do right now is drag blocks with the left mouse button. drag from top left corner or i dont know what will happen. work on more functionality like right click to change colors for example. then finally make a button to output the block data to a text file. maybe figure out how to choose your own background image check-in: d5c0385b9f user: tags: trunk
balls now bounce off of blocks but if the ball collides with the corner of the block the ball will pop because im unsure how to handle collision reaction thereyet... check-in: 63298900b4 user: tags: trunk
blocks are now more implemented, no collision detection yet but they can be added to the game and even have their own color specified which will be reflected properly. due tot he drawing order, sometimes they may overlap or be overlapped but in the end this should be no problem because the final product should have no overlap at all (things will bump into each other and either blow up or bounce off check-in: 8de903fae6 user: tags: trunk
made it so that GameObjects game state info such as lives left, ammo, and blocks left are stored in the GameObjects variable. however these values are modified by the respective objects' constructors and destructors (such as when a block is destroyed, its destructor will decrement the numBlocks in GameObjects. i tried having the GameObjects add and remove functions take care of this but since the objects list is referring to all of the objects as the base class GameObject, im unable to access the child functions that i need such as isSoft for blocks [since that is not defined in GameObject but rather in Block]). block was implemented and should work but has not been tested yet. it needs to be cleaned up as it was all code copied from aircraft. the StatePlaying class must also check to see if all the blocks are destroyed in a level or not. check-in: 4baf7fb5f0 user: tags: trunk
balls shot from the paddle now die when they reach the bottom of the screen. you have a setnumber of balls to shoot (controlled by a global constant). when all balls are lost, gameplay ends (right now just exits the game since i have no menus check-in: 0136eaa04a user: tags: trunk
paddle can now slide left and right with 'a' and 'd' keys. check-in: 791f4a7279 user: tags: trunk
fixed bug where a calculated paddle angle of 360 would cause the game to crash check-in: d81e4b369e user: tags: trunk
added boundary collision detection to bullets. going to go back to the original vision of creating a breakout game. bullets should be very limited and you have to clear all the blocks with your balls, so its also like peggle. the paddle doesnt move but it will deflect balls. if the bullets touch the bottom of the screen they are killed (right now they bounce off the bottom but this must be removed). so shots have to be planned carefully to clear all the blocks or get as many as possible for points (or just a stat recorded as 'number of blocks taken out') check-in: 898a45b3f1 user: tags: trunk
added a health damage system to the aircraft. different projectile types will do different amounts of damage. when the aircraft hp reaches 0 or below, its destroyed check-in: f0c6ffdaa9 user: tags: trunk
no real changes here, just trying to get reacquainted with the code after a long hiatus. work right now consists of giving the aircraft health points and having them patrol across the top of the screen. then have them drop bombs or parachutes or something. then those objects falling would take away your hp if they reach the ground before being shot. check-in: a1d8fecb8b user: tags: trunk
made it so that the angle calculation for the paddle is rounded now. ball class cleaned up a little bit and renamed Aircraft check-in: 3e5da8e2c2 user: tags: trunk
removed the fixangle functions as they are now obsolete check-in: 5d032bf725 user: tags: trunk
machien gun bullets now collide with balls and destroy them. I will now base an airplane class off of the ball with the intention of it flying back and forth on the top of the screen. the player can destroy it by hitting it a few times check-in: efcb02db80 user: tags: trunk
the weapon now shoots balls correctly. the weapon data such as velocity and sprite are still hardcoded however. next i should try making it so that the bullets can destroy the balls moving across the screen if i hit them. check-in: 1960c4efa3 user: tags: trunk
working on shooting projectiles. the correct velocity must be calculated. also the the projectiles must spawn at the tip of the center of the paddle's current facing instead of the origin of the paddle. implementation seems slow, possible memory leaks check-in: 9473450a38 user: tags: trunk
the paddle now shoots blanks while the left mouse button is held down. the cooldowns are harcoded but once i get level data moved to external files, i will also move the cooldown data to an external text file so it can be modified more easily. this also requires that i have all of my guns implemented (at least a skeleton of them) so i can fill out the text file as well as complete the function for reading in values from the text file. check-in: 1970183314 user: tags: trunk
there now exists a GameObjects class which keeps track of the list of game objects and is the one stop shop to loading level data, unloading level data, and interacting with the objects (drawing and updating them). im leaning towards having the gameplay be one of two things. 1. resemble paratrooper, shoot down falling people (balls) 2. 'protect yourself', use the paddle to deflect incoming balls so they dont hit somethign in the center check-in: a93ecad517 user: tags: trunk
the ball now detects if it has collided with the paddle. the distance between the ball and the center of the paddle is compared to the sum of their radii, and the dot product of the mouse vector and ball vector is used to see if the angle is within the paddle's current arc. the vector for the ball runs straight through the center of it so its possible that the ball is slightly inside the paddle but not detecting a collision, so ill have to expand the arc of the paddle a few degrees to account for this check-in: 881b4a1098 user: tags: trunk
changed the way moving the paddle works. now the mouse pointer is visible on purpose, and the paddle simply points to where the pointer is. this was very simple to implement, and may solve my problem of the game not being fun by changing the core gameplay to require you to deflect balls that are heading toward the center (where a core of some such will be) by moving the mouse to make the paddle face these objects. also the paddle will not move if the mouse pointer is inside of its area, to prevent players from positioning the mouse pointer in the very center to move the paddle in any direction by just moving a few pixels. the goal of this design is to get the players to move the mouse around considerably as the number of objects flying towards the center increases. check-in: 107dc2419d user: tags: trunk
the ball now bounces off the screen boundaries correctly. what i must research now is the possibility of making the screen boundary a circle to see if that helps the ball return to the center more, since having square boundaries means the ball doesnt always fly into paddle range which makes the game boring. also look into collision detection with the paddle, which i should probably do first because calculating the right angle to bounce the ball off will help me make a circular screen boundary check-in: a40f829d8d user: tags: trunk
set up preliminary infrastructure for storing game data. its stored in breach.cpp and accessed by other source files via globally prototyped functions. currently just the array containing game objects is stored. i had an idea of having a custom background image for each level included in the level binary file as well. in the future ill experiment (in the level editor) converting a (background) image to an SDL_Surface and then writing that SDL_Surface into the level binary file. that way I can load it from the file and display it during that level's gameplay check-in: 12ae0e2892 user: tags: trunk
a ball now appears in the bottom left corner of the screen and begins moving at a constant velocity. it currently has no collision detection, but next i will make a function to call every frame that will check for collision against the screen borders, and then bounce off accordingly (angle in = angle out). check-in: 5ffb9c724c user: tags: trunk
Paddle::DoMove is now functional. the function simply takes the mouse movement from the last frame and makes the paddle point in that direction. so just a 1 pixel movement will change the angle of the paddle. a person on suggested to update the angle every 4 or 5 frames to smooth it out so ill try that soon check-in: da18852a26 user: tags: trunk
Paddle::DoMove is an absolute mess. the function must take the relative x and y mouse movement since the last frame (which is accurate to my knowledge, calculated in StatePlaying::HandleInput) and calculate the new angle to display the paddle at for that frame. currently this function fails miserably check-in: 8cfac02cb1 user: tags: trunk
added some graphics to test the rotating the paddle in a level. the paddle is rotated and displayed corretly. it moves continuously in a circle in 1 degree increments. check-in: 1d10f47a25 user: tags: trunk
implemented the StateSplash class. setup gameloop and main function to load and unload the game properly. the game currently starts up and shows the splash screen for 60 frames before exiting. no art has been added yet so there is just a black screen, but the program is protected from segfaults due to missing images. next things to do are to add some basic art, implement STATE_PLAYING (jump straight there from splash, skip menus for now), and see if i can get the paddle on screen and rotating to mouse input check-in: 08b33617a4 user: tags: trunk
condensed the gameobject subclasses into 1 header/source pair check-in: 4a58ed9d53 user: tags: trunk
initial import of repository structure check-in: b1c379662d user: tags: trunk
initial import of repository structure Leaf check-in: 8995ea1f37 user: tags: trunk, release