wyrd Posted August 11, 2003 Posted August 11, 2003 (edited) EDIT: You can download the new version at the bottom of this post (I just replaced the link with the new version). I Took the advice of my fellow dotnetters and did the following; - Made the controls more responsive and you can now fire, turn and speed/slow down all at the same time. Be careful though, the ship is a little bit harder to control. I actually like that, since it offsets the fact that you can spin & fire now. - Added a scoring system. Hopefully this will make the game more fun. It now keeps track of how many missiles you fired, how many missiles hit, and your overall hit percentage. I changed one of the screenshots below so you can see the new game over screen. - Fixed a few bugs where missiles would auto hit each other and explode while holding down the fire key, and also where they'd end up hitting you if you held down the fire key and warped to another part of the map. If there are any other comments - good or bad - please let me know. Everything you need to know is in the readme.txt file (which is pasted below and included in the .zip), but I'd like to add a few comments. Back when I was a kid there was a game I played on the Mac. I forget the name, but basically you flew around in a ship blowing up enemy ships and asteroids. I believe someone on the VB6 forums made a version of it a while back as well, which from what I remember was a most excellent game. Basically that's where the idea of this game came from, and it's probably fairly similar to them as well. When you first start up the game it'll probably run a bit slow for the few 5 or so seconds (depending on how fast your system is). I assume this is because of the JIT compiler as it doesn't ever happen again until you reboot your system. If anyone has any suggestions on how to minimize this I'd appreciate it. The game is set to run around 35-40 FPS. It shouldn't go any slower then that (on my 800mhz 256mb g2 mx machine, which is fairly ancient for today, runs the game at a solid 34 FPS regardless of what's going on in the game). If for some reason the game continues to run slow, you can go into form designer for the game and resize the form to a lower resolution. It's currently set at 640x480. Or if you've got some insane 3ghz machine you can increase the size. :P The graphics aren't all that great. I got the effects (explosions, smoke, etc) from some sprite site, and made the rest myself. If anyone would like to take the time out and improve my pathetic attempts at game graphics, you're more then welcome to. I'm not going to offer much information on the map editor. It's there just for you to toy with if you want, and I only built it so I could quickly make maps for this game and maybe my next few games. As usual, go ahead and reply with criticism. ;) If you find any bugs or possible performance issues let me know. Here's a few screenshots of the game: http://www.danpeverill.com/siscreens/screen1.jpg http://www.danpeverill.com/siscreens/screen3.jpg And the readme.txt for the lazy; -- ABOUT -- Sharp Invader was created by me, Dan Peverill. E-mail me at dan@danpeverill.com with any questions or comments that you may have. -- STORYLINE -- Your mission was simple; head out to enemy territory and test out the new cloaking device. It was suppose to be a routine mission, just fly in and fly out to be sure the cloaking device couldn't be detected by the enemy. But something went wrong. For some unknown reason the cloaking device went offline, and as soon as that happened you were detected by an enemies radar. The obvious choice would be to quickly fix the device and get out, but unfortunately that's not an option. The enemy doesn't know you have this device, and activating it would tip them off and negate any future surprise attacks by your people. Letting your ship or yourself be capture is also not an option for the same reasons. With no other options left, your only choice is to run. But what fun is that? You're already detected and chances of escape is slim as enemy ships close in on your position. You know you're probably going to die, so why not just take as many of them s with you as you can? Buckle up, you've got enemies to kill. -- COMMANDS -- Up Arrow: Speed up. Down Arrow: Slow down. Right Arrow: Turn right. Left Arrow: Turn left. Spacebar: Fire missile. Enter: Starts game or pauses/unpauses game. Esc: Exit game. -- MISC. INFORMATION -- When your shields hit 0 (shown in the lower right hand corner of the screen) your ship will blow up. You can replenish shields by flying over "powerups," which are left behind by asteroids when they explode. Be careful as missiles can blow up powerups, and both enemies and asteroids can benefit from powerups as well. Ships do not collide with each other, however asteroids do collide with ships. Missiles collide with anything and everything (including other missiles). Be sure to use this info. to your benefit. -- SPECIAL THANKS -- Thanks to everyone at http://www.xtremedotnettalk.com for their help when I had questions about .NET. Special thanks to Nerseus for slapping me around when I needed it, and mutant for tossing around ideas with me. sharpinvader.zip Edited August 12, 2003 by wyrd Quote Gamer extraordinaire. Programmer wannabe.
pjv Posted August 11, 2003 Posted August 11, 2003 Hmm.. Controls seem kinda jerky? Are you rotating the ship bitmap? If so why not move in smaller increments so holding an arrow key will move more smoothly? All things considered I preferred the last game, but this one's good too. Nice job. Pete Quote
wyrd Posted August 11, 2003 Author Posted August 11, 2003 (edited) No I'm not rotating any bitmaps. What do you mean by jerky? There's a slight delay if you hold down a key rather then tapping it. Not sure why, but it's probably because I'm using the forms KeyPress event rather then DirectInput or Windows API. The last game I made also had this side effect (if you hold the down arrow key the block will take a second before speeding down to the bottom). EDIT: BTW, why did you like my last game better then this one? Edited August 11, 2003 by wyrd Quote Gamer extraordinaire. Programmer wannabe.
*Experts* mutant Posted August 11, 2003 *Experts* Posted August 11, 2003 Good job wyrd. And about key input. DirectInput is so much faster then normal KeyDown, KeyUp, KeyPress events. The speed gain is great. Quote
wyrd Posted August 11, 2003 Author Posted August 11, 2003 I didn't really want to get into DirectX until I started making some insane games that actually required that kind of speed. Does the Windows API offer a good speed improvement over the key events in .NET? Quote Gamer extraordinaire. Programmer wannabe.
*Experts* Volte Posted August 11, 2003 *Experts* Posted August 11, 2003 [api]GetAsyncKeyState[/api] allows you to check the sates of multiple keys at once, and at any point in execution; not just at a certain event. It will probably help your speed a bit. Quote
Diablicolic Posted August 12, 2003 Posted August 12, 2003 Great job Wyrd. I'm creating an RPG after I get done with Pindlebot, you see I really want to center my character on the game, but I don't know how :( How did you center your spacecraft on the bitmap background? And what did you do to display the background? Did you just move the picturebox when the spacecraft moved? Quote "Reality is fake, Dreams are for real"
wyrd Posted August 12, 2003 Author Posted August 12, 2003 Quick note: Updated game based off of feedback. ;) If it's still not fun let me know.. suggestions would be good. :) Great job Wyrd. I'm creating an RPG after I get done with Pindlebot, you see I really want to center my character on the game, but I don't know how :( How did you center your spacecraft on the bitmap background? And what did you do to display the background? Did you just move the picturebox when the spacecraft moved? I can't wait to see your game. :) We need to liven this place up a bit. I made a map engine which handles what part of the map is shown on the screen. If you download my game, take a look inside the Source/SharpInvader folder. Open up the SharpInvader solution and go to the Map class. It's basically an array of 32x32 tiles, and has a "camera" which is nothing more then a Rectangle that determines which part of the map is drawn. So, in short, after the game loop updates all the game objects, it centers the map "camera" on the player sprite. If you want you can rip the map engine right out of my game and use it. I built it with future games in mind, and it actually has a few features which I didn't use in this game (map collision and hindrance). I'm planning on expanding it and reusing it for my next game. The classes that the map engine requires is Map, MapArea, MapAreaBuilder and the GDI.dll (source code for that is Source/GDI). You can look at the map editor to see how it can be manipulated to build maps, and the game to see how it was used in the game. Quote Gamer extraordinaire. Programmer wannabe.
bpayne111 Posted August 12, 2003 Posted August 12, 2003 fun i can't see the ship well though powerups would be cool Quote i'm not lazy i'm just resting before i get tired.
Diablicolic Posted August 12, 2003 Posted August 12, 2003 Sweet! Thank you :) Yeah the powerups are pretty hard to get lol. But I think Sharp Invader is a pretty fun game! The AI is very nicely done. Quote "Reality is fake, Dreams are for real"
pjv Posted August 12, 2003 Posted August 12, 2003 Some extra criticism for you, no offense intended :) Okay you solved the jerkyness nicely, now it's just too fast (at turning) which makes the ship difficult to control. Also the bad guys seem to pop out of nowhere at times (maybe my eyes aren't quite working correctly, I don't know) and follow you just a little too closely (hard to hit -- just end up flying over them). The start screen says game over??!!? This game is interesting overall, but I just didn't find it as fun as the last one.. not sure why. Pete Quote
wyrd Posted August 12, 2003 Author Posted August 12, 2003 Some extra criticism for you, no offense intended :) Okay you solved the jerkyness nicely, now it's just too fast (at turning) which makes the ship difficult to control. Also the bad guys seem to pop out of nowhere at times (maybe my eyes aren't quite working correctly, I don't know) and follow you just a little too closely (hard to hit -- just end up flying over them). The start screen says game over??!!? This game is interesting overall, but I just didn't find it as fun as the last one.. not sure why. Pete No offense taken. I'd appreciate more criticism from you or anyone else. Ship turning speed; Yeah it turns a bit fast now. Personally I like it, because it requires a minor amount of skill to control your ship correctly. You can simply tap left or right if you want to turn slower. It also offsets the fact that you can fire + turn now (which you wouldn't before). If the turning speed was slower then you could just not move and hold down turn + fire to create an endless ring of missiles. It does have an advantage though, enemy ships are easy to out maneuver. However, I will consider slowing it down a tad, just for you. ;) Enemies coming out of nowhere; I have no idea what's up with this. It's a bug I've been tracking. I have code which checks if a ship coming into the game is within the camera view, and if it is it shouldn't come into play at all. Unfortunately it doesn't seem to be working. I'll keep looking into it. It's an odd one. Enemies flying to close and being to hard to hit; Your ship turns fast now, and the enemies don't. It shouldn't be to hard to pull a 180 and lose an enemy. Once they are behind you though and you aren't constantly trying to lose them, they will unload insane amounts of missiles and kill you. Fun factor; I realize the game may not be all that fun. Heck it's only the second game I've ever made. :P However I am a little shocked that you found the last game more enjoyable then this one. I'd love to hear ideas about how to make this game more fun. I had some discussions with bpayne over AIM last night and he suggested adding the following; ship upgrades (so you can get different looking ships), different weapons (you get through powerups), couple different enemies rather then just one. I'm also going to add a radar, and maybe enemy bases which create enemy ships rather then having them appear at random points in the map. ;) Whether or not any of the above will make the game more fun is beyond me. I've been playing games for most of my life, and before a game is released I can predict whether it's going to be a flop or the next big thing. Unfortunately, creating my own games blinds me to this, as my opinion is obviously clouded and biased towards something which I created. I suppose this is a good thing, because to be honest if I was as harsh on my own games as I am on commercial games, I would of never finished them, let alone post them on these forums (which arguable is a good or bad thing). Basically what I'm saying is that criticism is good. You can be down-right harsh and it wouldn't phase me in the slightest. So keep it coming. :) Quote Gamer extraordinaire. Programmer wannabe.
ThePentiumGuy Posted August 12, 2003 Posted August 12, 2003 hey wyrd, how did you create that startup bitmap, its looks great! btw where's the updated version of your game? nice job wyrd! btw, what other games are u making in the future? what i mean is, what kind of games are u making? adventure, RPG, action, 3d Quote My VB.NET Game Programming Tutorial Site (GDI+, Direct3D, Tetris [coming soon], a full RPG.... you name it!) vbprogramming.8k.com My Project (Need VB.NET Programmers) http://workspaces.gotdotnet.com/ResolutionRPG
wyrd Posted August 12, 2003 Author Posted August 12, 2003 I made the startup graphic mostly in Bryce. I added the lettering with Photoshop. Someone said I should of had a background for my last game, and since I didn't I added a startup graphic to this game. After I'm done with this one I want to make a multiplayer action game similar to Gauntlet (old school arcade game). Quote Gamer extraordinaire. Programmer wannabe.
*Experts* Nerseus Posted August 13, 2003 *Experts* Posted August 13, 2003 Looks good (haven't tried it yet, but will tonight) from the screenshots, plus anyone with the name Dan can't be all that bad (my name, too). :p As for the pause on a keypress, there's a nifty trick you can use that really helps (I stole the idea from MS). Create an array of bool[256] and initialize all values to false. In the key down event, set the appropriate value to true (so the letter a, which is 65, would set keys[65] = true). On key up, set it back to false. In your game loop (I assume you have one), you can check what keys are currently down and take an action based on that. Then you don't need GetAsyncKeyState. One note: I only noticed a Shields value and a Hits value displayed while playing. But when Game Over came up, I had a score. No "real" shoot-em-up would NOT give you a score while playing :) -nerseus Quote "I want to stand as close to the edge as I can without going over. Out on the edge you see all the kinds of things you can't see from the center." - Kurt Vonnegut
wyrd Posted August 13, 2003 Author Posted August 13, 2003 Heh, there's also DiverDan on these forums. Lots of Dans floating around. :P Interesting trick with the keydown/up. I already added the GetAsyncKeyState though. :/ Definitely good info. for later. The score is based off of kills + hit percentage. You get 5 points for a kill and 10 points for every hit percentage. If I showed the score during the game it'd be going up and down a lot, which is why I decided to show your kills instead, then the final score at the end of the game. Should I still replace the kill counter with the score? If you're going to try the game out tonight, check back here first. I'll more then likely have another update by then. I've added and tweaked tons of stuff that I need opinions on. Quote Gamer extraordinaire. Programmer wannabe.
ThePentiumGuy Posted August 13, 2003 Posted August 13, 2003 (edited) I made the startup graphic mostly in Bryce. bryce sounds cool, where can i download the Trial version of Bryce? I wanna try it out. For 3d i use Rhino (http://www.rhino3d.com) but i cant do 2d in it, i tried photoshop and realized that it was better for editing rather than drawing (in my opinion) and sorry i didnt realize that you had an updated verion of your game on the first post edit: 4 suggestions if u dont mind: 1)enemies should be able to kill themselves(friendly fire) 2) there should be a "Boost" key to boost yourself 3)it should take a little less time to get killed(like more health) 4)dont say gameover when you start the game ;) 5)ugpgrade weapons/armor/powerups overall: its a good game, a little hard to control :p i like how when you push down, it doesnt turn down, it "goes backward" ;) improve on it a little add music, i posted a link to your "game graphics/sprites" post there's great midi's on that which u can add to ur game gauntlet's classic, i hope u make it :) ill be waiting (its similar to Zelda - IIRC) good luck Edited August 13, 2003 by ThePentiumGuy Quote My VB.NET Game Programming Tutorial Site (GDI+, Direct3D, Tetris [coming soon], a full RPG.... you name it!) vbprogramming.8k.com My Project (Need VB.NET Programmers) http://workspaces.gotdotnet.com/ResolutionRPG
wyrd Posted August 13, 2003 Author Posted August 13, 2003 Huge game update: Added a radar to the upper right corner of the screen. You can toggle it on/off with the R button. Green = you, Red = enemy ship, Orange = enemy space station, Blue = asteroid, Yellow = missile. Added enemy space stations, which enemy ships will appear out of. Yes, you can destroy the space stations.. but it's very hard. Toyed with the player movement some more as requested by pjv. Changed the stars so they aren't flying around at random, but rather give your ship the appearance of flying through space (I hope). Enemy ships and asteroids can no longer gain powerups by moving over them, only the player can. Missiles will also no longer destroy powerups. I also reduced the health of Asteroids. This should make it a lot easier to get powerups. Toyed with the scoring system as requested by Nerseus. The player ship should now be easier to see. Fixed the bug where objects seem to appear out of nowhere. Tore into a lot of code, reorganizing and reprogramming areas where needed. Along the way I fixed a few bugs which weren't noticable (ie; objects being drawn when they weren't in the camera view) Please give me opinions on the updated version. Is it more fun? Does it still suck? Are the updates good? What other improvements can I add? etc. I plan on adding more powerups and another type of enemy ship later on. You can d/l the updated version via this link; http://www.danpeverill.com/SharpInvader.zip I figured it'd be easier for future updates since I cannot update old posts. ThePentiumGuy: I wouldn't recommond bryce for game graphics. :P It's been a pain to work with. I only use it because I don't feel like taking the time out to learn another program (which I probably should of considering the amount of time it took me to make the pathetic graphics I have now). The one that most people seem to use is Blender, which is free. Search google for Blender, the URL for it will pop up. Quote Gamer extraordinaire. Programmer wannabe.
wyrd Posted August 13, 2003 Author Posted August 13, 2003 1)enemies should be able to kill themselves(friendly fire) 2) there should be a "Boost" key to boost yourself 3)it should take a little less time to get killed(like more health) 4)dont say gameover when you start the game 5)ugpgrade weapons/armor/powerups .. i like how when you push down, it doesnt turn down, it "goes backward" 1) They can. ;) 2) Interesting idea. 3) I reduced player health to 200 in the latest update. There's also more enemy ships flying around too though. 4) Fixed in latest update. 5) Working on it. I actually removed "going backward." You're now always going forward, you can't even fully stop. Let me know how the new controls are and I'll fix accordingly. Quote Gamer extraordinaire. Programmer wannabe.
pjv Posted August 14, 2003 Posted August 14, 2003 I can't seem to download that link (page not found?) Pete Quote
Diablicolic Posted August 14, 2003 Posted August 14, 2003 Try again pjv, it works fine for me. btw my high score is 535 :) --I think you should have the highest high score posted on a website or something lol. Quote "Reality is fake, Dreams are for real"
wyrd Posted August 15, 2003 Author Posted August 15, 2003 Game Update + Source: http://www.danpeverill.com/SharpInvader.zip I went ahead and updated the screens on the first post and uploaded the source to here as well "just incase" someone can't d/l it from my site. A crazy update this time: LEVELS! There are now levels, which are based off of the space stations. For every two space stations your destroy, you gain a level. Each time a space stations reappears, it'll be more difficult to destroy then the previous and also produce superior enemies. Bonus points are awarded for levels gained at the end of the game. CLOAKING! You can now cloak, which is based off of your power. You start with 0 power and can only gain power through powerups (more about that below). When you're cloaked, enemies won't notice you at all, but also note that your power drains while cloaked. NEW WEAPONS! There are 3 weapons total; - Basic weapon, which fires missiles out the front of the ship. - Double shooter, which fires missiles out both the front and rear of ship. - Big weapon, which fires homing missiles out the front of the ship. You start with the basic weapon (which is the average of the other two), and can only gain other weapons through powerups (more about that below) POWERUPS! Tons of powerups now, which are gained by destroying asteroids. If you don't want a powerup (ie; you like your weapon and don't want a different one) just leave it be, it will disappear after a certain amount of time. Since I don't have screenshots I'll try and describe each powerup; - Red Static: Increases max speed. - Blinking Purple: Increases shields. - Blinking Pink: Increases power. - Swirling Blue: Basic Weapon. - Swirling Yellow: Double Weapon. - Swirling Green: Big Weapon. Please check out the latest update and give me some feedback. :) I'm still all ears for further ideas to imrpove the game. PJV: Is the game fun yet? How's the difficulty? Ship control good? Details. :)sharpinvader.zip Quote Gamer extraordinaire. Programmer wannabe.
pjv Posted August 15, 2003 Posted August 15, 2003 I still have a problem with the controls.. if I tap an arrow key once it turns a long way (makes it difficult to fine tune my aim when needed for some of the more stubborn bad guys). As for fun this time is a big improvement, but if this were running on an arcade machine I probably wouldn't be wasting more than a couple of my precious coins on it :). Not sure what direction you can take it from here either, sorry not much help today *shrug*. Pete Quote
wyrd Posted August 15, 2003 Author Posted August 15, 2003 Okay, one more (and probably last) update. Mostly just balancing issues that I tweaked to make the game start off easy and gradually increase in difficulty. Once again you can d/l the updated version at http://www.danpeverill.com/SharpInvader.zip - All objects now give points for being destroyed or collected (in the case of powerups). - No more speed powerups, I felt that making the player go faster was more of a disadvantage then it was an advantage, plus the enemy ships flying at warp speed made things way to difficult. - Enemies now give points based off the stations level that made them, also adjusted their missile damage, missile speed, firing rate and speed to gradually increase. - Altered double weapon and big weapon damage so they do more. - The red static powerup is now dropped by space stations after they're destroyed, and gives the player shields and power based on the stations level. - I put bonus points back to the way there were previously (which is based off of your overall hit %) pjv: It's all good , thanks for the opinions. Quote Gamer extraordinaire. Programmer wannabe.
ThePentiumGuy Posted August 16, 2003 Posted August 16, 2003 the game seems to run kinda.. slow now, the only one feature that i disliked(if u dont mind), is when your own bullets die when u hold space. They collide with each other and your bullets get destroyed :( a small suggestion, how about ou make our ship more ... 3d-looking, it looks kinda flat, just add more depth to your ship bullet limit - to prevent you from firing too many bullets (just by holding space), you have to get bullet-refills (idk, by destroying enemies?) boss - at the end of each level, it would be cool if there was a boss, this time its not in all-range mode, the boss remains at the top of the screen, and you move left and right, and shoot at it do destroy it, i dunno, for a suggestion for the boss battle, the map shouldnt scroll. when you push up, you go up, but you dont stay at that speed.. you go up or down, and dodge the boss's bullets by going left and right (the name of the game in talking about is on the tip of my tounge, i cant remember it, but in that game the boss battles were like how i described. music - (i played the game with my speakers off so i duno if tere is music) sound effects - again, i played with my speakers off Quote My VB.NET Game Programming Tutorial Site (GDI+, Direct3D, Tetris [coming soon], a full RPG.... you name it!) vbprogramming.8k.com My Project (Need VB.NET Programmers) http://workspaces.gotdotnet.com/ResolutionRPG
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.