Post

 Resources 

Console

Home | Profile | Active Topics | Members | Search | FAQ
Username:
Password:
Save Password
Forgot your Password?

 All Forums
 VBGamer
 VBGamer
 Come ride the Bullet Dodger Hijack Experience
 New Topic  Topic Locked
 Printer Friendly
Next Page
Author Previous Topic Topic Next Topic
Page: of 5

DeaDb0Lt
Squire

USA
20 Posts

Posted - Mar 20 2005 :  10:32:47 PM  Show Profile  Visit DeaDb0Lt's Homepage  Send DeaDb0Lt an AOL message
This is the most current build of Bullet Dodger as of 4/28/05.
NEW IMPROVEMENTS:
- Flicker free Graphics thanks to BITBLT
- Time Based Modeling (for Animation)
- 18 Modes of Unique Gameplay
- 6 POWERUPS! (2 INTERACTIVE)
- Dynamic Scoring System
- 1 Score File (BINARY!) NO MORE HACKING SCORES!
- Sound Effects
- Frame Limiter Option
- Sound Off Option
- A HELP screen

BUG FIXES:
- PAUSE works properly
- Fixed any KEY Repeating Issues
- No graphics display off-screen
- Fixes the Windows XP Skin issue
- Menu's now dont interfere with game timing

DOWNLOAD IT HERE.
http://www.jacobsonfarms.com/aaron/BulletDodger.zip

KNOWN BUGS:
- The Frame Limiter only works properly if you get above 63 FPS.
If you see FPS goes below 63, UNCHECK THE FRAME LIMITER.

THE MAIN SCREEN:


THE HIGHSCORE WINDOW:


THE HELP WINDOW:



Feedback on the game's presentation would be nice
ie: Gameplay, Sound, Graphics

- Have fun.




Edited by - DeaDb0Lt on May 06 2005 10:16:50 AM

VBBR
Moderator

Brazil
617 Posts

Posted - Mar 21 2005 :  10:26:15 AM  Show Profile
Hm, looks interesting. Good for a quick break. (I scored 800 :P)

Are you using GDI to do the drawings?


Whatever. Who knows...
Go to Top of Page

DeaDb0Lt
Squire

USA
20 Posts

Posted - Mar 21 2005 :  11:14:25 AM  Show Profile  Visit DeaDb0Lt's Homepage  Send DeaDb0Lt an AOL message
No, just using VB's Top and Left properties to move the controls and images.

Wanna take a stab at using GDI to draw the graphics?

Then I could make a more interesting player cursor....
Go to Top of Page

VBBR
Moderator

Brazil
617 Posts

Posted - Mar 21 2005 :  11:37:25 AM  Show Profile
Hm, that explains the relative sharpness of the movements. I might add GDI drawing code to it, seems very easy (just a matter of using BitBlt, nothing too fancy ).

Whatever. Who knows...
Go to Top of Page

DeaDb0Lt
Squire

USA
20 Posts

Posted - Mar 21 2005 :  3:19:50 PM  Show Profile  Visit DeaDb0Lt's Homepage  Send DeaDb0Lt an AOL message
I'm willing to do the GDI programming myself, however, I need to learn BitBlt first. :)

I am hugely interested in learning, just need to find a nice tutorial that I can learn from.

I'd like to eventually change my Player "icon" to something of interest, like a plane, or something. I can do it was a GIF with Transparency, but then the balls still "collide" with the transparent part of the image.

Again, I need to learn. Can you point me to any nice tutorials? When I get a chance, I'll scan google for one. Just havent done it yet.
Go to Top of Page

Lachlan87
Moderator

USA
160 Posts

Posted - Mar 21 2005 :  3:32:28 PM  Show Profile
Well, there's always the one on the site your at right now.
Go to Top of Page

VBBR
Moderator

Brazil
617 Posts

Posted - Mar 21 2005 :  4:26:52 PM  Show Profile
You can use circle collision detection and a circular "player" sprite.


Whatever. Who knows...
Go to Top of Page

DeaDb0Lt
Squire

USA
20 Posts

Posted - Mar 21 2005 :  10:13:55 PM  Show Profile  Visit DeaDb0Lt's Homepage  Send DeaDb0Lt an AOL message
Circular collission detection?

I'm really not even sure how I would go about programming that.

Is there a way in with Bitblt to do rotations of images, or even stretching?
I could do some interesting things with those features.

Oh, and I'm trying to code the graphics with Bitblt now. We'll see how it goes.
Go to Top of Page

dxgame
Knave

USA
73 Posts

Posted - Mar 22 2005 :  03:31:50 AM  Show Profile  Visit dxgame's Homepage
I thought your game was fun! I love these kind of old school ideas. It's amazing how much fun games like this can be. Seriously, after doing a lengthy coding session I stumbled upon this game and it immediately took the edge off. If this is your first project released, I'm sure you're going to do some pretty cool stuff in the days to come. ;) Yah, bitblt would let you have irregular shaped "sprites" with transparent sections in them via "masks". Check out the tutorial link given, it's a good one. Bitblt does allow you to do stretching but no rotations. A common "trick" is to simply rotate your graphics ahead of time in a paint program and use them in your program as needed. Keep at it... :)
Go to Top of Page

DeaDb0Lt
Squire

USA
20 Posts

Posted - Mar 22 2005 :  11:25:43 AM  Show Profile  Visit DeaDb0Lt's Homepage  Send DeaDb0Lt an AOL message
I worked on the Bitblt portion of drawing the Background layers, and the Player cursor. It works quite well, and I'm happy with the result. I AM using a backbuffer to draw the graphics onto before they print on-screen.

However (the big HOWEVER), I don't know how to resolve the flickering of the labels on the form being drawn over the Bitblt images. I'm sure there are a of ways I can rearrange the on-screen text to not draw over the Bitblt images, but I like the layout as it is now, and do not wish to change it.

Should I use graphics for the text, and draw them along with the other graphics, or is there a way I can manage so I don't have to create separate graphics, and keep the labels?

Here is the Bitblt alpha version:
http://www.jacobsonfarms.com/aaron/bd_bitblt.zip

Suggestions anyone?
Go to Top of Page

Eric Coleman
Gladiator

USA
811 Posts

Posted - Mar 22 2005 :  1:04:42 PM  Show Profile  Visit Eric Coleman's Homepage
If your backbuffer is a picturebox, then you can use the .Print method to print text at different locations. For different colors, sizes and fonts, you would change those properties on the picturebox before using Print. To specify the location of the next Print, you would use .CurrentX and .CurrentY properties of the picturebox.

  
'Print text top center
Picture1.ForeColor = RGB(255, 0, 0)  
Picture1.Font.Bold = True
Picture1.Font.Italic = False
Picture1.CurrentY = 0  
Picture1.CurrentX = Picture1.ScaleWidth / 2 - Picture1.TextWidth("hello world") / 2  
Picture1.Print "hello world"  
  
'Print text bottom left
Picture1.ForeColor = RGB(0, 0, 255)  
Picture1.Font.Bold = False
Picture1.Font.Italic = True
Picture1.CurrentY = Picture1.ScaleHeight - Picture1.TextHeight("bottom left")  
Picture1.CurrentX = 0  
Picture1.Print "bottom left"  
  


As for your game, I played it and I thought it was really well polished for a first game. The code is also formatted nicely and is easy to read, which is very rare for freshman games. Overall it's really amazing for the first game you've ever created. Keep up the good work.
Go to Top of Page

VBBR
Moderator

Brazil
617 Posts

Posted - Mar 22 2005 :  1:45:35 PM  Show Profile
Hm... how about drawing the game on a picturebox instead of the for itself? This might work if you're drawing to the form currently.

Whatever. Who knows...

Edited by - VBBR on Mar 22 2005 1:45:57 PM
Go to Top of Page

Eric Coleman
Gladiator

USA
811 Posts

Posted - Mar 22 2005 :  3:35:29 PM  Show Profile  Visit Eric Coleman's Homepage
Another option is use to use VB's "paintpicture" method of pictureboxes and forms. It's essentially a wrapper for bitblt and on today's multi gigahertz computers I can't tell the difference. The benefit to useing this method for drawing is that you don't have to worry about creating and destroying Device Contexts since VB handles those for you automatically.

You can even mix the different drawing methods quite easily. Instead of creating a DC via the API for the backbuffer, use an offscreen Picturebox. Instead of using this
BitBlt myBackBuffer, playerX, playerY, 33, 33, picBox, 0, 0, vbSrcCopy  

use the picturebox dc,
BitBlt picBackBuffer.hDC, playerX, playerY, 33, 33, picBox, 0, 0, vbSrcCopy  


I almost forgot, when using the API functions for drawing sprites on a Picturebox or Form, make sure that ScaleMode is Pixel instead of the default of Twip. Also, AutoRedraw needs to be True I think.
Go to Top of Page

Lachlan87
Moderator

USA
160 Posts

Posted - Mar 22 2005 :  4:19:09 PM  Show Profile
Bitblt can be a pain on NT/2000/XP, because of the way most tutorials have you load the picture. I don't remember the details anymore (it's been quite a while since I've used bitblt), but it's worth considering when choosing between paintpicture and bitblt.
Go to Top of Page

VBBR
Moderator

Brazil
617 Posts

Posted - Mar 22 2005 :  4:51:04 PM  Show Profile
AutoRedraw must be set to on if you're redrawing the screen X times per second, and off if you're just redrawing when you need to. AotoRedraw on is VERY slow however.

Whatever. Who knows...

Edited by - VBBR on Mar 22 2005 4:51:25 PM
Go to Top of Page

DeaDb0Lt
Squire

USA
20 Posts

Posted - Mar 22 2005 :  7:16:07 PM  Show Profile  Visit DeaDb0Lt's Homepage  Send DeaDb0Lt an AOL message
So far, with drawing the Backgrounds, Player Cursor, and Bullets, I've had good results. Speed is good, even with 200 balls on the screen.

Drawing is done is this order in my main game timer:
- Background
- Logo (if in demo mode)
- X Number of Bullets (Drawn inside for-next loop)
- Player Cursor
- Draws buffer to Form.

I'd like to try to use an "offscreen picturebox" and get successful results. I made one, and used it as my backbuffer, but when it painted to the form, it drew this:

Not sure how what properties to set on the picture box, or where to place it to get the desired results.

Go to Top of Page
Page: of 5 Previous Topic Topic Next Topic  
Next Page
 New Topic  Topic Locked
 Printer Friendly
Jump To:
VBGamer © Go To Top Of Page
This page was generated in 0.16 seconds. Snitz Forums 2000

Copyright © 2002 - 2004 Eric Coleman, Peter Kuchnio , et. al.