Irrlicht + VB6
Irrlicht + VB6
I have a really good knowledge of vb6 where as my oop in c++ really sucks, so its nearly impossible for me to make a good game. So is it possible to irrlicht with vb6. I know its possible to connect c++ and vb6. I have done that a few times my self. But how to connect irrlicht with vb6. If this can be done then 3 million vb users can make use of irrlicht too you know.
-
- Posts: 142
- Joined: Sat Dec 11, 2004 8:13 am
- Contact:
microsoft has released visual basic 2005 express, and visual studio 2005 express as a whole, for free at http://msdn.microsoft.com/vstudio/express/
Well again i see that spark which i am trying to stop. Everyone says vb is no good for game programming. So i have started on a game engine for visual basic. The idea is huge, and i even have hosting at sourceforge for it. About to release the first pre-alpha edition. And i know c++ but i always have problems when i have more than one header. I mess it up at the oop part. Ok so back to the topic, anyone interested in helping me? Anyone has any experience? Anything???
-
- Posts: 31
- Joined: Mon Sep 05, 2005 4:47 pm
- Contact:
Sigh.
>>You should learning C++. VB really not good developing game.
VB is perfect for developing games. That is a biased comment, and from what I can tell, you've never tried to create a game in VB. Production is much much quicker, and its much less hassle than in C++. The only problem is that there is a lack of engines for VB6. Most are for C++. So I use C++, becuse I'd rather NOT take time to create an entire 3D engine from scratch. However, whenever I make 2D games, I ALWAYS use VB. It's so much faster production-wise.
It would be nice to have Irrlicht available for VB. It could help spawn a little more respect for VB games. VB is not meant to create engines. It is meant to tie together different libraries into a fully functional application. VB is slower than C++ code-wise, so any core functionality of a game needs to be written in C++. But other than that, VB is just as good a language as C++.
Also, people say that VB produces bad coding habits. Bullcrap. The coder produces bad code and coding habits. VB is just leaniant enough to let you do so.
So, back on topic, I would like to see Irrlicht have VB support, it would be very nice. Prehaps someone could create a smallteam that would make Irrliocht into an ATL object library, so B can partake in it.
I would join, also. However, I am busy creating a game. However, I could help the process of conversion.
>>You should learning C++. VB really not good developing game.
VB is perfect for developing games. That is a biased comment, and from what I can tell, you've never tried to create a game in VB. Production is much much quicker, and its much less hassle than in C++. The only problem is that there is a lack of engines for VB6. Most are for C++. So I use C++, becuse I'd rather NOT take time to create an entire 3D engine from scratch. However, whenever I make 2D games, I ALWAYS use VB. It's so much faster production-wise.
It would be nice to have Irrlicht available for VB. It could help spawn a little more respect for VB games. VB is not meant to create engines. It is meant to tie together different libraries into a fully functional application. VB is slower than C++ code-wise, so any core functionality of a game needs to be written in C++. But other than that, VB is just as good a language as C++.
Also, people say that VB produces bad coding habits. Bullcrap. The coder produces bad code and coding habits. VB is just leaniant enough to let you do so.
So, back on topic, I would like to see Irrlicht have VB support, it would be very nice. Prehaps someone could create a smallteam that would make Irrliocht into an ATL object library, so B can partake in it.
I would join, also. However, I am busy creating a game. However, I could help the process of conversion.
GMan
Black Ninja Games
Black Ninja Games
hehehe! So, to develope 3D game engine, you choose C++ or VB ?.BlackNinjaGames wrote:Sigh.
VB is not meant to create engines. It is meant to tie together different libraries into a fully functional application. VB is slower than C++ code-wise, so any core functionality of a game needs to be written in C++
.
I hate VB. VB is procedure language and only good for developing some Microsoft's products, such as : Database App, 2D game...(on Windows)
-
- Posts: 31
- Joined: Mon Sep 05, 2005 4:47 pm
- Contact:
I'd write the core (graphics, sound, physics) in C++, for speed. But then I'd tie them together into a game outside of C++. I'd just rather be lazy and use C++ and Irrlicht, than write an entire 3D engine for VB...Anonymous wrote:hehehe! So, to develope 3D game engine, you choose C++ or VB ?.BlackNinjaGames wrote:Sigh.
VB is not meant to create engines. It is meant to tie together different libraries into a fully functional application. VB is slower than C++ code-wise, so any core functionality of a game needs to be written in C++
.
I hate VB. VB is procedure language and only good for developing some Microsoft's products, such as : Database App, 2D game...(on Windows)
GMan
Black Ninja Games
Black Ninja Games
-
- Posts: 340
- Joined: Wed Sep 28, 2005 4:38 pm
- Location: Canada, Eh!
re:
I think there's a reason there aren't any engines out there for VB, because all the people that are serious about coding an engine do so in C/C++ because it's:The only problem is that there is a lack of engines for VB6
- Faster
- More portable
- More encapsulated
I for one, think that VB is only good for windows applications, not for 3D games. Now for some Bash quotes!
<DAL9000> VB is like fingerpainting.
<Epitaph> except it's not fun.
<foo-busy> besides, saying you're a vb programmer around true geeks is like saying you're gay at the mormon's men convention. seeya later
<mungbean> using VB is like masturbating with a cheese grater.
<Queued> It must be late -- "perl5" is looking like "penis"
<Boinger69> Stay up until "VB" looks like "a good idea"
The real reason nobody uses VB is because VB is Windows-Only.
Other than that, there is nothing wrong with using VB. Games usually have a scripting layer where most of the game logic exists. It might as well be VB.
People that say VB isn't object oriented have never really used the language. Almost everything is an object in VB.
VB can be very powerful when used correctly. The problem is a lot of people start learning how to program using VB, so that's what you are used to seeing: crappy beginner's programs and code.
In order to use Irrlicht in VB, you'll need a COM interface. To do that, you'll need to do some C++
In DevStudio, select New->Project-> C++ Project -> ATL project. Under settings, select "DLL".
Right click on your new project in the class view and select "add->New Class". From the available templates, select "ATL Simple Object". You'll need to pick some names for your classes and interfaces. Under the options section, make sure to check the connection points box. You'll need that to make the callbacks work from irrlicht to VB.
Now you have your COM class. From here, you'll have to basically wrap all of irrlicht's functions
I've greatly over-simplified making a COM interface, especially for something like Irrlicht. It would probably take months if you are new to COM, longer if you are new to C++. Also, if the COM interface was finished, Irrlicht.NET would pretty much be finished, as .NET can use COM interfaces.
Other than that, there is nothing wrong with using VB. Games usually have a scripting layer where most of the game logic exists. It might as well be VB.
People that say VB isn't object oriented have never really used the language. Almost everything is an object in VB.
VB can be very powerful when used correctly. The problem is a lot of people start learning how to program using VB, so that's what you are used to seeing: crappy beginner's programs and code.
In order to use Irrlicht in VB, you'll need a COM interface. To do that, you'll need to do some C++
In DevStudio, select New->Project-> C++ Project -> ATL project. Under settings, select "DLL".
Right click on your new project in the class view and select "add->New Class". From the available templates, select "ATL Simple Object". You'll need to pick some names for your classes and interfaces. Under the options section, make sure to check the connection points box. You'll need that to make the callbacks work from irrlicht to VB.
Now you have your COM class. From here, you'll have to basically wrap all of irrlicht's functions
I've greatly over-simplified making a COM interface, especially for something like Irrlicht. It would probably take months if you are new to COM, longer if you are new to C++. Also, if the COM interface was finished, Irrlicht.NET would pretty much be finished, as .NET can use COM interfaces.
Ok! Firstly off topic, the biggest problem with vb is speed other than that alls great and if you are wise enough to do some good vb coding and mix it up wid a little asm and c++ then the engine can really kick ass. The reason why most people dont make good engine is vb is because vb is so simple. A person draws a button on a form and thats it. There is nothing more. But if you research and practice you can do lots of tricks with vb not known before like u can use pointers in vb if you know how to.
Now back to topic. I took advice of some of you guys and tried vb.net. And i must say i am impressed. Damn good speed, more object oriented with stuff like inheritance and more or less the same vb coding. In the past week i have completed call of duty 2 ...... oh i forgot that was for the gaming forum, i mean i have used irrlicht terrain node, md2 and bsp meshes, and lots of stuff with vb.net . Now what i want to know is how to make a dll in vb.net that could be linked with vb6. If anyone has any knowledge do share mean while i will go googling.
Now back to topic. I took advice of some of you guys and tried vb.net. And i must say i am impressed. Damn good speed, more object oriented with stuff like inheritance and more or less the same vb coding. In the past week i have completed call of duty 2 ...... oh i forgot that was for the gaming forum, i mean i have used irrlicht terrain node, md2 and bsp meshes, and lots of stuff with vb.net . Now what i want to know is how to make a dll in vb.net that could be linked with vb6. If anyone has any knowledge do share mean while i will go googling.
I'm not very sure, but I know that all .net languages can share code or part of programs made with different languages.
For Example you can write a function with VB.net, a class with Delphi.net and the rest of program with C#. Finally you link all together in one program.
If this is true, simply use Irrlicht.net in VB.net ( Microsoft has released it for free with the Express edition). In this way you don't need to reimplement all of Irrlicht stuff your self.
For Example you can write a function with VB.net, a class with Delphi.net and the rest of program with C#. Finally you link all together in one program.
If this is true, simply use Irrlicht.net in VB.net ( Microsoft has released it for free with the Express edition). In this way you don't need to reimplement all of Irrlicht stuff your self.
Have you tried to use preprocessor definitions? It could solve your problem:Umar Nizamani wrote: And i know c++ but i always have problems when i have more than one header...
Just use in each headerfile something like that:
Code: Select all
// At begin of header with name e.g. "header_name.h"
#ifndef _HEADER_NAME_H_
#define _HEADER_NAME_H_
// Here comes your cool C/C++ code
// ...
// ...
// At the end
#enddef
// Newline after it
My Irrlicht&ODE-Project: http://www.lofing.de/myworld/