Search the Community
Showing results for tags 'graze'.
-
Note: Gameplay has changed a bit compared to what's explained below. I'll try to rewrite this to make sense later! For now keep in mind that the timer is increased a bit while you graze enemies. If it drops to 0 it's game over instantly! Object of the game is to try to tag the enemies flying and bouncing around the screen without getting hit directly. scoring will certainly change between now and then along with bonuses awarded between waves. Currently you gain points by grazing against enemies (Trying to touch the edges of the enemy without letting the enemy touch the center pixel of the player), or outright destroying them if your graze power is high enough. If you can manage a long enough graze you'll get more points than just destroying the enemy! Different enemies give different points for destroying them. Additionally you gain bonus points at the end of each wave based on the number of enemies you successfully touched without destroying, as well as a survival bonus for not dying during the wave that's relative to how much grazing you've managed to do! The waves included are mostly for testing. Enemies have different colors each wave, although they will all share the same palette due to the screen mode. Once the end of the wave data in the rom has been reached, it will begin looping. Enemies: Gears - simple bouncing enemies. Some wiggle in their path to make it harder to avoid/graze. (100pts) Heli-pod - A propeller based cannon. They can fire a variety of bullets. Their propeller can not be grazed so be careful when trying to graze the enemy! (500pts) Lancer - A simple two pronged spear enemy that flies, quickly, in a straight line. If it hits you, it'll take you with it and try to pin you to the wall for a time! Try to dash to make it release you! Bullet Types: Small bullet - simple energy shot that will despawn after hitting a player. Large bullet - A stronger punch compared to the small one. In effect it pulls a double-hit. If the player dies from the first hit, then the bullet will continue on as a small bullet. Paralyser - Grazing this bullet drains your Graze Charge instead of fills it. Quickly! If you're hit, it will slow the player for a couple of seconds. BossBullet - A rather large bullet that will crawl along the walls and occasionally attempt to jump across the screen at the player. Named because usually it will be bosses using them! (For now the helipod uses them but in the final game it won't.) Power Ups: Points (P) - simply awards a larger bonus for destroying the enemy. 1000 instead of the usual 100-200. Graze Bonus (G) - increases the points/enemy awarded at the end of the round for grazed enemies by 9pts. Reset at death. Minimum 9pts, maximum 99. Speed Bonus (S) - Increases player speed slightly. Reset at death. After 4 bonuses, you'll reach maximum speed. Regeneration ® - Causes the graze power to charge automatically for about 10 seconds. It'll stop automatically on death however! Right now G/S/R increases the points-to-destroy bonus of the gear from 100 to 200. When you've saturated the bonus of the powerup, the bonus will increase to 500pts since you won't get an increase in graze or speed bonus. In the case of Regen, you'll get the 500 bonus as well as reset the timer on the Regeneration to max. Controls: joystick moves the player. Fire Button 1 (or was it 2...): Dash! Fire Button 2 (or was it 1...): Slow speed! Console switches Reset - reboots the game. Select - returns to the title/menu screen. Right Difficulty: Enables/Disables Life Stealing in 2 player games. (If one player runs out of lives, they can take a reserve from the surviving player so long as they have more than 1.) Pause - should work with the default 7800basic behavior. Two-Player Modes: (Old versions only) Standard - the default mode. Basically no benefit or penalty is presented. It's pretty much like it is in 1-player. Co-op - Players share graze charge to help stay alive longer. It won't a player's charge go below 40, but above that it will attempt to share out the charge power between players. Versus - Players compete each round for points. Whoever has the higher bonus point score at the end of a round takes a spare life from the losing player, assuming they have one to spare. At present I can't test on real hardware so if anyone finds anything that seems weird let me know. Binaries for 2016-06-09 are the last ones with 2-player modes available. Leaving them here. 2016-06-09-graze.bas.a78 2016-06-09-graze.bas.bin 2017-09-21-graze.bas.a78 2017-09-21-graze.bas.bin
-
I had the goal for the revive mode being done for this Sunday, but since I added Revive, added GameOver, added 2nd player and implemented the console switches... I might as well do an update now Left Difficulty will eventually turn on/off the background music if I get around to adding any. It sets it's flag properly but there's obviously no sound in the game yet. Sound effects will be unaffected by this setting. Right Difficulty only matters in a 2-player game. It allows a player that's lost all it's lives to steal a life from the other player if set to Expert. To do so, they have to press both fire buttons during the active or revive modes. It won't work between waves since that'll complicate things a bit, and obviously it won't work during gameover since neither player should have any lives left if you get to that state. Reset will warm boot the game using "reboot". Select will move the game to Title Screen instead. Since both the intro section ("Loading...") and Title screen are just place holders for now these don't really have much of a difference. When I get to highscore saving/loading that would be done during the intro section. The pause function is just whatever's built in to 7800basic for now. I'll try to work on a temp but less placeholdery Title screen next so that you can actually select a new game properly, change from a 1 player game to a 2 player game, etc. It won't be fancy.
-
Let's see if we can do a weekly release on here until I get it to the point of it being fully playable, at which point I'll officially switch over to the 7800 forum. This doesn't look too different from last week, but it's now able to load waves from a sdata structure. Easy to add new waves by setting things like time to the wave, maximum enemies at one time, what types of enemies, what AI the enemies can have, the colors of the enemies (And status bar as a result) etc. Not everything is actually functional from the wave data, but it's loaded anyway. For instance there's still just the spinning gear enemies, and there's only 1 AI function currently done. (I've got plans for more already written down, and I'm pondering how to do boss type characters.) Right now the game jumps between master loops based on it's game state. When it finishes a frame it basically checks to see what the current state is suppose to be, and if it's not the current loop, it throws it back to a state_selector at the start of the program. Seems to work well so far. In between waves, as enemies are cleared from the screen, there are no collisions being calculated. This is intentional. Over the next week I plan on getting the game to actually let the player die when hit by an enemy. When a player dies, it'll cause the enemies to clear the screen like in between waves, but they'll still be lethal in case there's a second player also playing. This is to help ensure the players won't be revived just as another gear slams into them. Something I always hated in Asteroids.
-
The name of this game will likely change before it's finished. It just describes the goal of the game for the most part. Right now it's showing the maximum number of free-roaming enemies the engine can do before causing slowdown. The plotvalues and boxcollisions are a big cause of this but there's a lot of 7800basic commands I can re-write into assembly to get that number up again. In case it isn't obvious from playing it a bit, a successful graze flashes the background blue. A hit, which would normally cause a loss of a life, flashes it red. I don't have the second player in yet. When it's added, it will have a second color to flash the background on a graze. When both players graze at the same time, a third color will be used. I'm pondering doubling the size of the player to make it a bit easier to graze (plus give more detail.) but we'll see. That will be done before a second player is added at any rate. The game is running in 320B. The green backdrop on the status bar is using the same colors as the enemies so it'll change color as the enemies change. Most likely enemies will change with the Wave. What you see so far is a weekend of coding... well, not quite a weekend since I was visiting family most of the weekend.