views:

238

answers:

5

I am developing a game in VB6 (plz don't ask me why :) ).
The storyboard is ready and a rough implementation is underway.

I am following a "pure-software-rendering" approach. (i.e. no DirectX, no openGL etc.)

Amongst many others, the following "serious" problems exist:

  • 2D alpha transparency reqd. to implement overlays.

  • Parallax implementation to give depth-of-field illusion.

  • Capturing mouse-scroll events globally (as in FPS-es; mapping them to changing weapon).

  • Async sound play with absolute "near-zero-lag".


Any ideas anyone. Please suggest any well documented library/ocx or sample-code.
Plz do suggest solutions with good performance and as little overhead as possible.

Also, anyone who has developed any games,
and would be open to sharing her/his code would be highly appreciated.
(any well-acknowledged VB games whose source-code i can study??)


UPDATE: Here is a screen shot of GearHead Garage.
This picture ought to describe what i was attempting in words above... :)

alt text

A: 

Have a look at DxIce : http://gamedev.digiapp.com/

zaf
A: 

I think you will find no well-acknowledged written games in VB6 for precisely the reasons you state above.

It was not designed to be a high performance language. For that you NEED to use the graphics libraries (DirectX, OpenGL) you said you didn't want to use unless you want to BitBLT everything yourself using API calls which is probably not going to get what you need.

VB6 is interpreted, outdated, and I'd be surprised if it runs on Windows 7.

I think you need to seriously re-evaluate the methodology here.

Jeremy
CVS-2600Hertz
VB6 is not interpreted, it is compiled to native code. It runs on Windows 7 - in fact it is fully supported by Microsoft on Windows 7. Still, I won't give you -1, because choosing VB6 to develop a 3D game is pretty odd, and I wouldn't do it myself. But people have done odd things - see my answer for an open source VB6 3D rendering engine http://stackoverflow.com/questions/2690656/vb6-game-development/2692088#2692088
MarkJ
@MarkJ - are you sure it is "fully supported" by Microsoft? Or are you thinking of VB.Net? Everything I've read indicates that official VB6 support ended back in 2005. Also, VB6 can be interpreted or native-compiled according to developer choice so it's not a "is/is-not" so much as a "maybe/maybe-not".
GalacticCowboy
@MarkJ You were right, VB6 can be compiled to native code, but it does compile to P-Code by default. http://msdn.microsoft.com/en-us/library/aa240840(VS.60).aspxIt also looks like MS will maintain an "it just works" philosophy on Win 7, but will not be officially supported. http://msdn.microsoft.com/en-us/vbrun/ms788708.aspx
Jeremy
@Jeremy If you read a bit further down: "The core Visual Basic 6.0 runtime will be supported for the full lifetime of... Windows 7". Like it says in this Stackoverflow answer from Feb 09 by, well, erm, cough, blush, me :) http://stackoverflow.com/questions/447007/will-windows-7-support-the-vb6-runtime/592740#592740
MarkJ
@GalacticCowboy yes I am sure VB6 is supported, see the other comments which link to the official Microsoft statement.
MarkJ
+3  A: 

EGL25 by Erkan Sanli is a fast open source VB 6 renderer that can render, rotate, animate, etc. complex solid shapes made of thousands of polygons. Just Windows API calls – no DirectX, no OpenGL.

alt text

VBMigration.com chose EGL25 as a high-quality open-source VB6 project (to demonstrate their VB6 to VB.Net upgrade tool).

Despite that, and despite my opinion that VB6 is often criticised too harshly, I can't help thinking there must be better options for game development in 2010?

MarkJ
I never heard about EGL25 before. +1 Thanks for sharing.
Xavier Ho
how do i create the objects i.e. models for EGL25??
CVS-2600Hertz
I have no idea, you'll have to download it and find out.
MarkJ
A: 

You may want to check out the Game Programming Wiki -- it used to be "Lucky's VB Game Site" (and we're talking a LONG time ago) but all of the content (VB5/6 centric) moved to the Wiki with the addition of other languages.

It appears that much of the legacy VB6 content is still available on the site.

Nate Bross
Thanks. Been following the site for a while now... Good for starters-->intermediate.
CVS-2600Hertz
A: 

For audio playback, I have used http://www.fmod.org/ in the past. This, and other libraries like BASS, are only free for non-commercial use. I also suggest avoiding the built-in multimedia playback object.