Need input from experts with PB. :)

Advanced game related topics
Hatonastick
Enthusiast
Enthusiast
Posts: 149
Joined: Wed Apr 27, 2005 11:50 am
Location: Adelaide, Australia
Contact:

Need input from experts with PB. :)

Post by Hatonastick »

Here goes. I like PB, and have done since I first found out about it and registered. However, it does seem to require almost (not the same) amount of effort to write games in as say C or C++. Which is why I also have Game Maker. I know I can't compare the two as one is designed for games, the other is more a general purpose language (not to mention one is scripts, the other is compiled code). However if it required as much effort as C, I'd stick with C since I've been programming in it for around 14 years or so. Having said that, the whole reason why I started on my quest for a replacement language (and one that would allow me to write games) is that I wanted something a little more RAD than C will ever be even with the myriad of libraries that are out there. So after all my wandering, the ones I like the most are Game Maker, and PureBASIC.

Anyway, I recently took a step into the unknown for me and started to play with the simple 3D commands that have been added to Game Maker and have decided I really would like to make a simple 3D game. This is after years of ear bashing from my professional 3D game programmer cousin who tried unsuccessfully to convince me to try. Anyway, the problem is that due to GM's speed limitations (which can be gotten over to a certain extent through various methods), I would be very limited in what I can do - which would also in turn limit what machines my game ran on. So having rambled on, what I would like to know is:
a) Has anyone written some decent 3D examples in PureBASIC using the Ogre engine? With commented code (in English - I'm afraid its the only language I'm almost totally familiar with). :)

b) Has anyone written a complete 3D game in PureBASIC, and was it something they would do again? ie. they didn't hate it totally. :) Is there source for it available (with comments in English)?

c) How hard is a 3D game to write in PureBASIC compared to say something like Blitz3D?

This isn't meant to be a whinge - I would like to know what I could do to get around any issues I have.

As far as I see it (although I'd like to be proven wrong), the comparison between GM and PB for 3D games (or indeed games in general) is as follows:

GameMaker:

Pros:
a) Easy to learn.
b) RAD - development time for a small demo is very quick.
c) Can make your own (simple) models in code, and don't actually need to muck about with a modeller and importing them.
d) A bazillion tutorials, and well documented source code examples on pretty much anything you can think of.

Cons for GM:
a) Lack of running speed as it is scripted (uses a virtual machine). I hear that some of the other popular game making BASICs such as DarkBASIC and Blitz3D are scripted as well.
b) 3D commands are very limited. Doesn't include any physics or collisions for 3D, although almost all 2D commands can be used (minus the z plane of course).
c) Any models you load in must first be converted to the GM or d3d format.
d) 3D is not Mark Overmars main aim, it is more of an after thought and supposedly always will be.

PureBASIC

Pros:
a) Compiled = speeeeeeeeed. Zoom, zoom, zoom!
b) Ogre 3D library. Far more powerful than GM and its simple D3D commands.
c) Friendly forum people, whereas GM attracts a lot of bratty people. I like to get a useful answer instead of being called a "Noob" or a "dufus". Something I am aware of being without being told. ;)
d) I really, badly want to write a game with PB but don't want to fight a completely uphill battle like I did with my last attempt. However I'm willing to learn if I can find the right examples.

Cons:
a) Not really designed for games, although has plenty of libraries included that should ease (to a certain extent) the woes. You have to write a lot of things that people who use software designed for making games take for granted. eg. making a game run at a consistent FPS between various archetecture machines. This was my biggest gripe and something I never fully sorted with my attempt at a game called Netrunner 2033 which due to the many problems I encountered, never got past the intro demo stage.
b) As far as I can tell from Ogre documentation, all models have to be made in an external designer. You can't make models on the fly. I really, really suck at using 3D designers - even nice friendly free ones like Anim8or. I'm not too shabby with a normal paint package though - or at least thats what I'm told.
c) A lack of examples in some areas. At least, ones in English. Sorry guys.
Please forgive my poor English, I'm an Australian.
Kale
PureBasic Expert
PureBasic Expert
Posts: 3000
Joined: Fri Apr 25, 2003 6:03 pm
Location: Lincoln, UK
Contact:

Post by Kale »

After my current project i am planning on writting a game using Purebasic's 3D commands. At the minute i reckon the 3D commands leave a lot to be desired but v4.0 will bring the 3D engine some love. :wink:

I would wait until PBv4 then re-evaluate your position. :)

P.S. I think PB wins every time over C for ease of use, especially with v4 but C wins in available libs and possibilities in 3D.
--Kale

Image
Hatonastick
Enthusiast
Enthusiast
Posts: 149
Joined: Wed Apr 27, 2005 11:50 am
Location: Adelaide, Australia
Contact:

Post by Hatonastick »

I won't ask when that is due, Fred might shoot me. :)

Ok, I guess a better way to ask is how hard would it be to do something like this in PureBASIC. A small (in the time it took to write, unfortunately not small in file size :roll: ) 3D demo that uses an infinite grid. Also uses the beginnings of my own very simple collision engine which erm needs proper vector addition, physics etc. before it work properly - but is ok as it is right now.

w,a,s,d and mouse for movement - U.S. keyboards I'm afraid. Haven't gotten far enough to allow you to define your own keys yet.

Infinite Grid Demo
Please forgive my poor English, I'm an Australian.
User avatar
netmaestro
PureBasic Bullfrog
PureBasic Bullfrog
Posts: 8452
Joined: Wed Jul 06, 2005 5:42 am
Location: Fort Nelson, BC, Canada

Post by netmaestro »

Well, I'm no 3d expert, but I'd stay away from gamemaker. It's not true 3d and you'll quickly outgrow it. Maybe you could try a small project in PB to start with and see how that goes. Then graduate to something bigger. The higher the level language you use, the less control you have over it. Does that make sense?
Last edited by netmaestro on Tue Feb 21, 2006 10:38 pm, edited 2 times in total.
BERESHEIT
Hatonastick
Enthusiast
Enthusiast
Posts: 149
Joined: Wed Apr 27, 2005 11:50 am
Location: Adelaide, Australia
Contact:

Post by Hatonastick »

Well the whole point is I want to get away from low(er) level languages, not head towards them. :) I realise I'm going to lose speed the higher I go - what I guess I'm really looking for is a happy medium between the two. ie. things like Game Maker, Blitz3D, Dark BASIC etc. and C/C++ and assembler. That was why I purchased a license for PB in the first place. I've been programming 22 years now, in a lot of different languages but you eventually get sick (or maybe it's just me) of writing all the lower level stuff all the time. Ahh maybe I'm getting to be like some of the young-uns on the Game Maker forum who expect to have a big red button to push called "Create Game" which generates the next Halo/Half Life 2/whatever with little effort. :? J/k I'm not that deluded. ;)

Ahhhh doesn't matter. Everybody ignore this topic and move along. Nothing to see here. :) I'm going to have to work out what I'm trying to do and choose from there.
Please forgive my poor English, I'm an Australian.
Straker
Enthusiast
Enthusiast
Posts: 701
Joined: Wed Apr 13, 2005 10:45 pm
Location: Idaho, USA

Post by Straker »

I hate to validate your position, Hatonastick, but its true. I actually learned about PureBasic from the DarkBasic forums. I have searched myself for the best cost-effective solution for 3D development and have come to the conclusion that PureBasic is not it (yet) for RAD, unless I want to build my own engine. I do however, use PureBasic for many other things now, and find it indispensable in my coding efforts.

Regarding 3D, however, hobby development can be achieved rapidly using Blitz or Dark, but for any serious development, I think Torque offers the best solution within financial reason. But you'll have to learn C++.

Or you could write a 3D Game Environment (PureGamer?) in PB and sell it back to the rest of us, then retire to the Whitsundays...
Please forgive my poor English, I'm an Australian.
Oy!
Hatonastick
Enthusiast
Enthusiast
Posts: 149
Joined: Wed Apr 27, 2005 11:50 am
Location: Adelaide, Australia
Contact:

Post by Hatonastick »

I'm only looking from the hobby point of view - games are and always will be a hobby for me.

Just been looking at Blitz3D, might buy a copy tommorrow - I like what I saw in the demo version. I'm aware it has issues though. I'm also concerned that it might be on the way out as far as support (if BR ever did support it properly) goes.

So it could end up looking like: Game Maker for 2D games, Blitz3D for 3D, PureBASIC for anything that gui and multi-platform (but not games - might use it to make a server for something Im working on), and C (yes I can do C++, but I'm an odd-ball who prefers C - just suits my way of thinking better) for any extensions I need to add to any of them in the form of DLLs.

Heheheheh, well most of us aussies are impaired when it comes to speaking English. :) Assuming you aren't an aussie who has migrated of course. :)
Please forgive my poor English, I'm an Australian.
sigi
User
User
Posts: 79
Joined: Fri Apr 25, 2003 7:16 pm
Location: Germany

Post by sigi »

Maybe You can look at this:
http://www.coldsteelengine.com
Athlon X2 7850 - Geforce 8800 GTS 640mb - 8 GB Ram - Vista Home Premium 64 bit SP2
User avatar
blueznl
PureBasic Expert
PureBasic Expert
Posts: 6172
Joined: Sat May 17, 2003 11:31 am
Contact:

Post by blueznl »

coldsteel may be an irrlicht wrapper, dunno, but if it's decently wrapped i could be interested :-)

in the long run i'd still want to write some 3d games, but that's in the long run... i'm considering purchasing an engine and bolt that one atop purebasic, but dunno yet how...

i doubt pb4 will bring us where we want to be, but who can tell...
( PB6.00 LTS Win11 x64 Asrock AB350 Pro4 Ryzen 5 3600 32GB GTX1060 6GB - upgrade incoming...)
( The path to enlightenment and the PureBasic Survival Guide right here... )
Fable Fox
User
User
Posts: 29
Joined: Fri Dec 12, 2003 4:52 am

buy torque

Post by Fable Fox »

i forgot now who said what - but do not buy blitz3d, yet. download torque demo first. www.garagegames.com.

anyway, my word of warning is - blitz3d is easy to start and use. while torque is powerfull, and hard & complex. i mean, it a AAA game engine. obviously in require AAA programmer. but if you plan to create complex games, go choose torque. at least you get the source code, you can fix & add whatever you want.
Hatonastick
Enthusiast
Enthusiast
Posts: 149
Joined: Wed Apr 27, 2005 11:50 am
Location: Adelaide, Australia
Contact:

Post by Hatonastick »

Maybe, but their license is far more restrictive. Anyway doesn't matter now - I already bought Blitz3D and regretted it. Going to stick with PB 4.0 and try my hand with Ogre. I don't need any of the high end stuff that people rave about with DirectX9.0 etc. The newer version of Ogre should do me fine. Anyway I've got a simpler game to get out of the way first. :)
Please forgive my poor English, I'm an Australian.
Post Reply