Important alert: (current site time 7/16/2013 3:37:49 AM EDT)
 

winzip icon

aMAZEing 3D

Email
Submitted on: 6/8/2000 7:45:27 PM
By: Simon Price  
Level: Intermediate
User Rating: By 48 Users
Compatibility: VB 5.0, VB 6.0
Views: 45249
author picture
(About the author)
 
     RARE! Look @ the screenshot NOW. These are actual screenshots of the in game graphics - in LOW resolution so that this page didn't take forever to download!!! It IS possible to make a 3D, lighted, perpective texture mapped game in VB! And this game does NOT use any C++ DLL's (like I see some others do), does NOT use any special controls apart from a few plain old pictureboxes. It does NOT use DirectX or OpenGL. Yet the game still runs fast enough on my 400Mhz PC with huge 3D textured levels when it was written in pure VB code! Has this ever been done before? If it has - I haven't seen it! At least one of the techniques used here is totally original and invented by me. Then download includes ten levels ranging from small to huge, plus you can draw your own in any paint program!!! This is so simple and powerful code YOU WILL BE BLOWN AWAY. This all started last month when one of my friends said that a 3D game in VB was not possible so I spent a long time racking my brains and then 2 weeks programming. These are the results so far, and the game will get better. PLEASE SHOW THAT THESE EFFORTS ARE APPRECIATED. If this code is helpful, well done or simply aMAZEing then please vote for me. Feedback is also welcome but please do not complain that it is too slow - what do you expect? How many other games have graphics like this? It would be an achievement if it ran at 1 frame per second! Other people send in a boring old 3D cube, I give you a whole 3D textured level with two choices of graphical style - realistic or surreal. Enjoy, and when this game is faster, has enemies and guns, and looks just like Doom, I'll send in the finished game.

 
winzip iconDownload code

Note: Due to the size or complexity of this submission, the author has submitted it as a .zip file to shorten your download time. Afterdownloading it, you will need a program like Winzip to decompress it.Virus note:All files are scanned once-a-day by Planet Source Code for viruses, but new viruses come out every day, so no prevention program can catch 100% of them. For your own safety, please:
  1. Re-scan downloaded files using your personal virus checker before using it.
  2. NEVER, EVER run compiled files (.exe's, .ocx's, .dll's etc.)--only run source code.
  3. Scan the source code with Minnow's Project Scanner

If you don't have a virus scanner, you can get one at many places on the net including:McAfee.com

 
Terms of Agreement:   
By using this code, you agree to the following terms...   
  1. You may use this code in your own programs (and may compile it into a program and distribute it in compiled format for languages that allow it) freely and with no charge.
  2. You MAY NOT redistribute this code (for example to a web site) without written permission from the original author. Failure to do so is a violation of copyright laws.   
  3. You may link to this code from another website, but ONLY if it is not wrapped in a frame. 
  4. You will abide by any additional copyright restrictions which the author may have placed in the code or code's description.


Other 30 submission(s) by this author

 


Report Bad Submission
Use this form to tell us if this entry should be deleted (i.e contains no code, is a virus, etc.).
This submission should be removed because:

Your Vote

What do you think of this code (in the Intermediate category)?
(The code with your highest vote will win this month's coding contest!)
Excellent  Good  Average  Below Average  Poor (See voting log ...)
 

Other User Comments

6/8/2000 8:15:51 PM\/îÞè® Tè¢.

Awesome phuken code
(If this comment was disrespectful, please report it.)

 
6/8/2000 8:18:55 PMMichael Heath

I'm running Duel 400 Celerons and the engine was running extremely slow. I found a real good engine called Prometheus at www.goodnet.com/~andrewa It does use Direct X which is the way you should really go if you want speed and able others to play on slower machines. I still think you did a pretty good job on the engine for not using direct x so I'll give you a pretty good rating. You should seriously consider doing this with Direct X.
(If this comment was disrespectful, please report it.)

 
6/8/2000 8:45:58 PMMau The Man !!!

To be more precise the code I talked about is :
A 3D Generator - by Jesse McAllister, posted on May 7th this year .... http://www.planetsourcecode.com/vb/scripts/ShowCode.asp?lngWId=1&txtCodeId=7923

I
am not saying that you copied him, but... he posted it first :)
(If this comment was disrespectful, please report it.)

 
6/9/2000 12:36:06 AM\/îÞè® Tè¢.

If you ever want this to be a real game, like doom, you will have to use direct X. This runs too slow without it. If you don't have directx, E-mail me(at viperc4335@aol.com) and I'll hook you up. There is no way this would be fun for a game, no offence. To have the graphix, the tiling, the 3d and all is slow enough, but to have enemies? That would be WAY too slow.
(If this comment was disrespectful, please report it.)

 
6/9/2000 4:52:21 AMSimon Price

Thanks for the feedback guys, I did tell you that it was slow. I'm planning DirectX 7 version, although I've never made a DX game b4. This time it'll have baddies and guns and the rest of it! It'll probably be done by the end of the month. Keep those votes coming in!
(If this comment was disrespectful, please report it.)

 
6/9/2000 5:20:05 AMMaruis

I’m interested in game programming and this is a prime example of what you need to start learning the basics of game programming. It might be slow but its what I need. Thanx.
P.S. I agree with Shoots … excellent code.

(If this comment was disrespectful, please report it.)

 
6/9/2000 7:26:43 AM[peer]

I have a copy of the exact same thing for QB4.5... And if you're going to make a Doom game, do it in C... If you're the elite coding wizard you say you are, learning C shouldn't be any problem to you. Don't do it in VB, because VB is slow. I'm learning C right now, and the only reason I'm still using VB is because I don't have visual c++
(If this comment was disrespectful, please report it.)

 
6/9/2000 10:34:33 AMRodolfo Motta Saraiva

This code is great. I simply loved it. You are a VB genious! :) Creating 3D without DX and OpenGL is hard job, and you did it! I`m waiting for your game... But... You should consider use DX in this game! DX is really great, fast and not so hard do use!
(If this comment was disrespectful, please report it.)

 
6/9/2000 10:37:01 AMAgainst C++

hey [peer],
VB is the best language for whatever you are doing. It is much easier to use and learn than Visual C++. I know both C++ and VB. I personally don't encourage people to use VC++, mostly because you spend months learning the language, when in that amount of time you could have made tons of awesome programs in VB. This code is a great example of hard work and dedication to VB. Way to go Simon. Keep it up!
(If this comment was disrespectful, please report it.)

 
6/9/2000 11:40:15 AMLP-S

Are you guys sure that you arent blind?
I have a P2 333 with 49 MB of ram, and it ren smooth
Maybe some people here needs glasses
(If this comment was disrespectful, please report it.)

 
6/9/2000 12:54:27 PMEric Sullivan

This looks great but when i wnet to play the game it just hung...
(If this comment was disrespectful, please report it.)

 
6/9/2000 2:02:51 PMMike Canejo

Ok guys, I really don't know C++ that much but it has it's advantages and disadvantages over VB.

1.) VB totally depends on the .DLLs to function
2.)VB was made in C++ don't forget
3.) The C++ language can work on both PC and MAC(80% alike) and other OS's are compatible.
4.) The best of all, C++ programs don't need the darn .DLLs :)


I like VB better still because I know it and have used it longer but If I never learned VB and learned C++, I would say C++ is better.

-MiKE
(If this comment was disrespectful, please report it.)

 
6/9/2000 2:03:59 PMMike Canejo


dont work anymore :)
(If this comment was disrespectful, please report it.)

 
6/9/2000 2:04:36 PMMike Canejo

PSC always messes up feedback, oh well i aint repeating it again :)
(If this comment was disrespectful, please report it.)

 
6/9/2000 2:07:09 PMbmg300

It does run slow... Other than that it is execellent! Check for a 3d engine that uses direct X in the c++ section (I might submit one).
(If this comment was disrespectful, please report it.)

 
6/9/2000 3:10:33 PMMike Canejo

Ok simon. Found a minor glitch in the game. If i go throgh one of the back walls it says i beat the level thinking its the one with the X and this happened on the .exe :) Also, on my 800mhz P3 and a 256 bit 3d accelerator card this game runs perfect with a little noticable lag when u move. BUt still good considering Pictureboxes. Simon you should try using BitBlt in this game, would be perfect and twice as fast.
(If this comment was disrespectful, please report it.)

 
6/9/2000 11:50:41 PMCool33

Ok, just one quick thing. After reading all these peoples comments, I'm curious to see the game, but one problem first.... I run the EXE and I selected Level 1, no collision detection, normal graphics. When I clicked "Start", the options went away and the screen remained grey, no game ever came up. I held forward, knowing it was a maze, and it eventually said, "Level 1 Complete" or whatnot. But the point is, no graphics came up. I'm on P3 450, Voodoo 3 3000, 128 megs RAM. Any ideas as to why no graphics show? Thanks
(If this comment was disrespectful, please report it.)

 
6/10/2000 1:01:17 PMPeter

It's good... unless anyone that has criticed this code can come up with something better?
(If this comment was disrespectful, please report it.)

 
6/11/2000 9:28:15 PMJethro

Simon, awesome am looking forward to the next installment.

Peer, ok whats your point. A) This is a vb forum not a C forum, B) C was written in assembly so should Simon therefore recode this in assembly.

Excellent work
(If this comment was disrespectful, please report it.)

 
6/12/2000 1:37:52 AMSimon Price

Hello peoples - what's all this talk of assembler and C? I don't know those languages yet (well, not much). I didn't even know how to use DirectX - until I got all this feedback telling me to re-write using DirectX 7 so I spent this week learning it and rewrote the game with DirectX 7 on Sunday. So look out for it! Please keep the votes coming in on this one though, because it's currently in second place! Thanks for all the feedback.
(If this comment was disrespectful, please report it.)

 
6/14/2000 3:53:30 PMDustin Davis

Well, i have not ran this code yet, but it looks good for being built in VB! Assembly + C/C++ are the best languages to develop video games in and yes, they are very hard to learn, i happen to know all three of them plus VB and 4 other languages. VB was designed to be an easy language for software development, not video games. So i think what he has done is great. Slow or not, if your a TRUE programmer, not a little b!tch, then you'd appriciate the coding behind this thing. Even though it has flaws, its the code that counts along with the effort. So before you criticize some one for making an effort, think about how much they put into this, and then after that, willing to share it with everyone! I know i wouldnt want to share my hard work with ingrates such as your selves! Good job man.
(If this comment was disrespectful, please report it.)

 
6/14/2000 5:25:54 PMSimon Price

Thanks for sticking up for me!
(If this comment was disrespectful, please report it.)

 
6/14/2000 6:35:45 PMDaz B

In the C++/VB battle, i'd have ta side with VB for app dev but C++ is much better if yur lookin to make a game. An engine like yurz in VB is some wicked sh!te though, so sweet progging there :)
I also agree with the others though...a DX ver of the prog would be interesting ta see...drop me a line if you ever get that game up...
(If this comment was disrespectful, please report it.)

 
6/15/2000 3:12:34 AMSimon Price

The games already been up for a while! The DX 7 version is out there somewhere, but unfotunately it comes in two parts. Click on my other submisssions to see that, or you could go to my website www.VBgames.co.uk because it's available in just one big zip there. It's in the 'advanced' section of downloads.
(If this comment was disrespectful, please report it.)

 
6/15/2000 10:12:17 PMRodolfo Motta Saraiva

I`ve tested the pure VB code version and the DX version. Both are great. But, the DX version has more bugs than the first one. You should destroy them :). I`m trying to do something like your engine... Whell, actually, I`m just trying, because I can`t understand the math that you`ve used! But, forget it, this is a great 3D engine. You made an excellent job.
(If this comment was disrespectful, please report it.)

 
6/21/2000 3:41:20 PMRJ Soft of West Tennessee

Runs great on my PII 450. I'm not into games but this is a good 3D engine for those who are...
(If this comment was disrespectful, please report it.)

 
7/6/2000 8:16:09 PMIcebox

I'm speechless! I never thought you could do such a thing with VB.

Very well done! Look at the other progs made by this guy, they're awesome!
(If this comment was disrespectful, please report it.)

 
7/9/2000 3:56:39 AMJason Campbell

I've seen something like this for qb4.5 in dos. Anyway, now that we've sustained that 3d is actually possible, why not enhance the engine towards graphics designe (away from low qualty high speed and toward high quality, slow speed) just a suggestion. There are so many game engines out ther, it aint even funny. However, I am appaled at the fact that there are practically no graphic design engins out there, let alone open source versions. Good code though.
(If this comment was disrespectful, please report it.)

 
7/10/2000 5:02:31 PMMark Hamilton

Nice Game, good graphics. Making levels with Paintbrush is pretty easy, but wouldn't it be better if it came with a level editor? I could make on in less than an hour if you want. Another thing-you should use an ImageList control to keep all the graphics in. That way, you don't have stray files. Excellent code though.
(If this comment was disrespectful, please report it.)

 
7/19/2000 4:10:42 AMjosh

www.micogames.com made something similar.pretty nifty.
(If this comment was disrespectful, please report it.)

 
7/19/2000 8:59:35 AMMichael Barnathan

Reminds me of that screen saver... though if you want to make it doom-like, I suggest DirectX or at least BitBlt... picture boxes are not good for games :). Nice code.
(If this comment was disrespectful, please report it.)

 
7/21/2000 1:39:48 AM\\'est_§!der

I'm sure it's a great piece of work as soon as i can run it.
(If this comment was disrespectful, please report it.)

 
7/22/2000 3:48:30 PMJotaf98

It's a great code! Do as they say, use DX, but if you take out those effects from the floor and ceiling, it will be much faster (I didn't download it yet, I looked at the screenshot and some comments).
(If this comment was disrespectful, please report it.)

 
7/22/2000 3:49:08 PMJotaf98

Also, know that I love ALL your submissions ;)
(If this comment was disrespectful, please report it.)

 
7/24/2000 2:37:26 AMDino

Great Code. Very Useful.
(If this comment was disrespectful, please report it.)

 
7/28/2000 6:12:52 PMRussell

When I played the game and noticed the
(If this comment was disrespectful, please report it.)

 
7/29/2000 7:36:57 AMRussell

[resubmitted - double quotes messed up the previous submission]

When I played the game and noticed the 'curving' walls, I said - he's using the vector approach! I looked through the code and saw the tell-tale sine and cosine tables, and even the analogy to shooting rays. I'm curious, did you come up with that yourself? If not, where did you hear about it? The neat thing about that method is that the more stuff in the maze, the faster it works.

Back in the dark ages (I had a <2 MHz Atari!) I wrote some similar code for a maze game. I used single bytes in a 2-D array to represent the colour of the wall - doors were a special pulsing colour. Anyway, it took everything I had in assembly to get it to work in reasonable realtime. I then adapted the code to work in semi-3D (you couldn't turn up or down, just go up or down).

Good work!

Russell

(If this comment was disrespectful, please report it.)

 
7/31/2000 4:14:30 PMMr Tofu

ick! to those of you wanting to use VC++, please don't! Use Borland, VC++ is NOT ANSI (I don't think), while Borland is. Besides, you don't want to fuel MS's takeover of thw orld, do ya? ;)
(If this comment was disrespectful, please report it.)

 
9/9/2000 2:25:48 AMdopepope

actually i want to fuel it.
(If this comment was disrespectful, please report it.)

 
11/25/2000 11:23:56 AMJosh

VB is an excellent language for some tasks. But for CPU-intensive algorithms (such as on-the-fly 3D), C++, C, or (the best) Assembly is the way to go. If you rewrote this program in assembly, it would run faster on a 233MHz machine than VB on a dual PIII 1.2 GHz machine (well, maybe not, but it would still be fast)
And VC++ is bad because its not C++, its MFC. If you want better games, use straight C++/C with low-level calls for the graphics. It will take ALOT more work, but the games will run alot better.
(If this comment was disrespectful, please report it.)

 
12/13/2000 5:54:36 PMBurbble

Wow! I can't believe how great this is!! It runs GREAT with NO delays on my little celeron processor, so people complaining about it being slow please get an intel and not a 286!!

Congrats on the contest!

-Burbble
(If this comment was disrespectful, please report it.)

 
1/7/2001 8:44:47 AMNiall Mooney

Burrble, there were only intel 286's your comment was lacking in the department of sence.
(If this comment was disrespectful, please report it.)

 
4/23/2001 8:22:28 AMDondata

On my little tesm machice (P-II 266)
This ran great!!

Really shooh, and no flicker!
Thanks :]
(If this comment was disrespectful, please report it.)

 
11/18/2001 10:00:06 AMKain

Actually... Most of your comments make no sense whatsoever. First off in VB 5+, you can compile programs in native code, no p-code, which means the dll's are normal windows files that are installeed with the OS. Secondly the reason C++ works on more than one platform, and VB does not, is simple, its been transferred to those platforms. Do not forget VB is an adaption of qbasic, and the original basic languages... and C++ does not have the same core files on all platforms, for example in linux all include files are changed, which can be a hassle in porting,
(If this comment was disrespectful, please report it.)

 
11/18/2001 10:02:02 AMKain

and alot of other things are changed as well. Now onto bigger things, a programming language cannot be judged by what you see commonly. I started in C++, and then went on to learn Delphi. Now I'm working with VB and its actually a nice compiler, its YOUR coding that counts, not the compiler, a compilter doesn't make a program... and besides, assembly takes along time to learn, its such a low level language, its used for DOS programs, not windows anyway =P. Finally, Microsoft Visual C++ isn't MFC, it works exactly like any other compiler, it INCLUDES MFC, as an option. You see, there is a little thing, calls #DEFINE WIN32_LEAN_AND_MEAN
which removes any reference to MFC at build time, making it build faster, MFC is also slower for gaming, but thats why you use lean and mean, its the same language as C. Finally I want to compliment you Simon, this is excellent code... excellent, keep up the good work, compilers do not make a program, the person and the code do. Good job!
(If this comment was disrespectful, please report it.)

 
12/16/2001 12:30:06 PMJames Dougherty

First of all, Simon you rock. Second of all it is much better to learn VB before you get your feet wet in C++. For the person who said to use Borlan..LMOL..WTF..Borland S¿?ks. Try to compile quake in Borland and see how many errors you get. :) Anyway Simon you still rock you go where other people dont even try to go, you take VB Gaming a whole step further.. Maybe we can team up on something :)
-James
(If this comment was disrespectful, please report it.)

 
2/16/2002 3:39:27 AMkewlaid_82@hotmail.com

Simon, Great job. I wanna see yur DX7 project :) This is sweet code for no DX!

(If this comment was disrespectful, please report it.)

 
3/16/2002 9:00:54 AMA Huge Fan

You are wrong Simon. This is not amazing, it is mind-boggling. Never thought this could happen without DirectX. Wish they'd let me give you 50 globes.
(If this comment was disrespectful, please report it.)

 
3/30/2002 2:05:01 AMSOLID4K TEAM

A Huge Fan, LOL--so right. I just got this nice azz computer (XP, 68 GB, Top-of-the-line Graphic Card), and geez, this runs like you are using DirectX--fasssssssssssssst. Truely aMAZEing ;x. P.S. you spelled amazing wrong, by the way.
(If this comment was disrespectful, please report it.)

 
8/23/2002 4:11:53 AMJames Kelly Jr.

This is a good try but on my Intel 550Mhz Nvidia GeForce 2 MX 32 Meg video card this runs much to slow other wise its very good. Playing it was like playing Half-Life online with a latency of 400
(If this comment was disrespectful, please report it.)

 
11/2/2002 7:12:52 PM

I like. One thing I found though, if you window it, it looks sharper and runs muck quicker.
(If this comment was disrespectful, please report it.)

 
3/18/2003 3:38:59 PM

hi i could edit this mazing i am a very experienced 3d texture maker im going to edit this ill post some screeshots tell me what u think very nice coding btw no wonder u won the contest.
(If this comment was disrespectful, please report it.)

 
11/17/2003 9:13:08 PM

vc++ is ansi and it is c++. mfc is classes you don't have to use that are designed to help. burble you don't make sense. borlnad is slower at making games. get a game industry mag to find out why it is. and simon just for trying to do the nightmareish task of 3d in pure vb 5 globes
(If this comment was disrespectful, please report it.)

 
12/14/2003 6:27:44 AMAlex C. Barberi

I've got a copy of this game from when you were 15-16 and I never can get a hold of you. What is your email address? Also, unlike the others, for me this ran fast. (But, I have AMD Athlon XP 2500+, 256 MB PC2700 RAM, a GeForce FX 5200 128 MB, and all that slop needed for making games) ;-) Oh, and it's incredibly funny that you had only been making games for 6 months and you planned to turn this into Doom. :p
(If this comment was disrespectful, please report it.)

 
12/14/2003 6:30:40 AMAlex C. Barberi

Hey. I went to your site, or rather, I tried to go to your site after posting the above comment but it said "Site no longer available. If you are the administrator, click here." What's wrong?
(If this comment was disrespectful, please report it.)

 

Add Your Feedback
Your feedback will be posted below and an email sent to the author. Please remember that the author was kind enough to share this with you, so any criticisms must be stated politely, or they will be deleted. (For feedback not related to this particular code, please click here instead.)
 

To post feedback, first please login.