Log in

View Full Version : Introduce your dev platform!


KNau
07-24-2003, 05:43 AM
When I joined this board I assumed I was the odd man out because I didn't program in C++ and Direct X. Much to my surpise I've seen a huge variety in dev platforms and I'm curious to know more about all the options that are out there.

I've hesitated posting this for a long time because I've seen how product loyalties take on a religious fervor and I don't want to see a flame war break out on the most civil and professional developer board around :) In the end curiosity has won and I've decided to risk it.

If you've FINISHED a product then here's your invitation to step up and tell everyone about your dev platform and why you chose it. Specifically I'm looking for a rational pro / con summary without the sales pitches or comparisons to other competing products, which would only lead to arguments. I'm going to start us off and if you want to follow my formatting, that's cool.

I'm really curious to hear about what all is out there from Flash, MMF, 3D Game Studio, Blitz, Java, Turtle Graphics ;) etc. Please keep it civil, though ;)

KNau
07-24-2003, 05:44 AM
Development Platform: Dark Basic
Website: www.darkbasic.com
Personal Experience (completed projects): Power Mad, Scrambled Knights (alpha)

Pros:
Core engine compatibility is a no-brainer. Dark Basic .exes do a system check when they start up and if a user doesn't have the required specs the program won't run. It also means that any crashes are a result of my code and not the core engine. In 20,000+ downloads of Power Mad we've only had one incompatibility / bug report.

The verbose nature of the syntax makes it easy to learn as each command does exactly what it says.

Dark Basic Classic (as opposed to the new incarnation, DB Pro) is around 4 years old and based in Direct X 7 so the system requirements are realistically low enough for the casual gamer. The price reflects the age and the entire suite (DB plus all expansions) can be had for < $100

Flexibility. Dark Basic is meant to conform to any project - 2D or 3D, single or multiplayer - so no matter what game concepts you come up with it's ready for the job.

Cons:
2D performance is buggy and ultimately pointless. No matter what you produce the minimum system requirements will always be the same. PRINT "HELLO WORLD" will require a 3D accelerator card to run. There are a lot of problems with sprites and the 2D drawing commands are extremely slow. If you are making a 2D game then I would *definitely* choose a different platform.

While compatibility of the .exes you create is virtually assured, the stability and compatibility of the development platform itself is sketchy. Error reporting is virtually non-existent.

The syntax is verbose to the point of comedy with commands like SET OBJECT TO CAMERA ORIENTATION or PERFORM CHECKLIST FOR GRAPHICS CARDS. Good for beginners but it starts to become a pain with experience.

Large .exe files. Dark Basic is an interpreted language so it includes the interpretor in each .exe. The minimum .exe size is about 2MB, even for PRINT "HELLO WORLD"

Slow (relatively) performace. The majority of complaints regarding lack of speed and bugginess come from sloppy coders, but ultimately it is slower due to the interpreted nature of the language. You must optimize ruthlessly on complex projects.

Summary:
Having an art background, Dark Basic was the perfect platform for me to get into programming. It's ease of use and flexibility gave me a way to present my designs without having to hire or rely on a professional programmer. Claims of bugs and speed issues are vastly overstated and I've never seen report of or personally encountered any such problems that couldn't have been fixed with a little creativity and disciplined optimization.

In the long run users will eventually outgrow the verbose nature of the language and lack of good error reporting . It is a good stepping stone language and I know I will continue using it for many years at least as part of my early prototyping process.

Dexterity
07-24-2003, 06:11 AM
I've been using C/C++ for quite a while. Dweep was written in Visual C++ 6, and for earlier games I used Borland C++ 4 & 5. Before that I used to use Turbo C++ and Turbo Pascal. I'm currently using VC++ 6 to write my next game.

I supposed C++ can be a challenging language to learn, but when I learned it, I already knew C, BASIC, Assembly, Pascal, Lisp, Prolog, Modula-2, and several other languages. So I picked up C++ relatively quickly.

I like the OOP nature of C++, and I use OOP extensively. When it first came out, I liked VC++'s IDE, but now I find it dated, so perhaps after my current project I'll upgrade (but I don't plan to develop any .NET games in the near future).

I'm something of a control freak when it comes to coding, and I'm generally distrusting of 3rd-party libraries because I often find them too buggy and unstable. I use DirectX only for the minimal functionality -- initialize the graphics mode and then give me a pointer to the back buffer surface. I write all my own drawing functions from scratch, since that gives me total control over how everything looks. I credit this decision with helping make Dweep extremely stable. Compared to other games we've released that use 3rd-party engines or DirectX rendering functions, Dweep generates far less tech support relative to its downloads and sales... by at least an order of magnitude.

When using a 3rd-party engine, you have to be very careful about stability. If the engine is not as stable as plain DirectX, you're going to lose some sales.

svero
07-24-2003, 06:32 AM
I use C++ and there's a little assembler code floating about for various things.

Akura
07-24-2003, 07:01 AM
C++ with VC.net (not the latest) for directX work or C++ with Borland Builder 6 for editors or GDI work. My current game runs on a 400mhz computer using GDI only. I do all the drawing in memory, and then just use GDI to do a VSync and copy it to video. It's fairly fast, and reminds me of the old days of Dos programming :) Also, it ensures compatibility with just about every machine with win9x + :)

Sirrus
07-24-2003, 07:02 AM
Straight MMF :-D

Alex

princec
07-24-2003, 07:30 AM
I use Sun's Java Development Kit 1.4 with Eclipse 2.1, and compile natively to Win32 code using Excelsior Jet Professional 3.1. I rely almost solely on my own code through general mistrust of 3rd party code. It's bad enough being at the mercy of OpenGL drivers.

Sometimes I do a bit of C++ in MSVC6, but that's just to tweak the game DLL which I use to get Java to do interesting stuff. The amount of code in there is tiny.

The Eclipse IDE is like nothing you've ever used before. It's just excellent, and gets improved every couple of months. Sitting on top of the JDK with all its fantastic built-in debugging is just the icing on the cake.

Java is such a doddle to program large and complicated things with it's a pity people still have to trouble themselves with C++. It's still not a patch on Basic for just getting stuff done though.

Cas :)

patrox
07-24-2003, 07:38 AM
Metrowerks codewarrior for all development ( C/C++/ASM/JAVA Mac-PC)

PTK is our dev lib. ( our own multiplateform game library , just reminded me that i need to document it properly :) )

pat.

Morphecy
07-24-2003, 07:56 AM
Blitz3D (www.blitzbasic.com) :D

Henrik
07-24-2003, 07:58 AM
For my PocketPC software I use Embedded Visual C++ 3.0 for PocketPC, it's free from Microsoft (pretty impressive for being them :)

I don't sell any PC software yet, but I'm using Visual C++ for hobby development.

Mostly Paint Shop Pro for graphics, it's good for pixelling little icons and symbols.

Jack_Norton
07-24-2003, 08:08 AM
Blitz3D here too.
I find him really stable, probably the more stable of all 3rd party language I tried (darkbasic, allegro, SDL, etc).

Addictive 247
07-24-2003, 08:26 AM
I've got a number of programming languages under my belt but I use MMF.
Great software, easy enough to use and gets the job done.

Siebharinn
07-24-2003, 09:05 AM
I'm using Visual C++. I'm using the dotnet (2002) Dev Studio, which I really like.

I am using the Torque (http://www.garagegames.com) engine for my game. It's pretty powerful, but the documentation isn't great, so you have to figure out a lot of things on your own.

jaggu
07-24-2003, 09:15 AM
I am using a mix of c++ and assembly. Development environment is VC++ .NET 2002. My game is 2d, stylised vector so using Direct Draw - have to write pixel, line, poly fill, anti-aliasing, clipping routines - its a double edged sword - am learning lots of new things I wouldnt have if using a 3rd party API but the progress is slow.

Mike Boeh
07-24-2003, 09:48 AM
Bugatron, Z-Ball:
Visual C++ 6.0, with the help of a third party library called RenderIt! 3D I found some bugs in RenderIt, so the author just gave me the source. Now it has pretty much morphed into my own creation for diabolical purposes! :-)

WarHeads SE:
straight Visual C++ 6.0

Best Friends:
Blitz3D, Artgem, Blender

Future projects:
After my current Blitz3D project, I plan to either go to with Java or a GCC based compiler. Java has that cross-platform and webgame advantage- which is HUGE! (imho)

Prince, is eclipse an ide for java? I suppose I could just google it, but laziness wins again!

BrewKnowC
07-24-2003, 10:24 AM
I'm using C++/DX6 for my current project (Trials of Werlin). I've learned alot and have come up with alot of reusable code so I may stick with this in the future, but I'm seriously looking into MMF for my next project if its 2D or GameStudio A6 if I decide to go 3D.

Cartman
07-24-2003, 11:06 AM
I'm using Python and Pygame for my card game. I think it's an easy cross platform choice for puzzle and card games. I've also found it to be an extremely easy language to pick up.

aspiral
07-24-2003, 11:38 AM
code in C++ (i use VisualStudio 6.0 and gcc and i hope to get .NET again soon)

and i use the GIMP (although i hate it :) ), and i know a little bit of Blender to make me some meshes.

for my next game i'm using OGRE, a free open-source 3D engine. there are some features missing in the
engine but i don't need anything advanced. it's rather huge in size so it may not be the best choice for small shareware-download games.
is anyone else here using OGRE?

SparkyTCFH
07-24-2003, 11:48 AM
Visual Studio 6, C++, some assembly language, WinTabs, VisualAssist, SourceSafe, a bunch of custom tools. The game engine is our own.

Sparky
http:/www.theycamefromhollywood.com

luggage
07-24-2003, 12:10 PM
Visual C++ 6, visualassist, perforce, engine code our own, everything in C.

Punchey
07-24-2003, 12:33 PM
Oh yeah! Let's hear it for Visual Assist! I don't have a game finished, but my screensaver (along with pretty much everything else I write) was written with VC++ 6 and graphics were done with PSP7. It uses OpenGL.

Henrik
07-24-2003, 01:01 PM
Yep, Visual Assist truly rocks, can't live without it :)
www.wholetomato.com

damon
07-24-2003, 02:31 PM
I used C++ and DirectX7 on my first game, NetWar. I like C++ alot and have always found it to be very intuitive, but I've never really gotten a very solid handle on DirectX. There is still DirectX code in my game (setup stuff mostly) that is like a black box to me. It works and it's seems stable but if I ever had to make changes to it I'd be stuck. I don't like that.

On my new game that I started about a month ago I've been using Blitz3D. I'm still kindof getting used to that language it uses. It has it's own custom language called BlitzBasic (it's a hybrid of BASIC and C++). It seems a little less flexible than C++ and the syntax feels a little less concise(since it's based on BASIC).

The advantages of using Blitz3D for me are enormous though. The speed with which my new game is coming together is amazing ! I can't believe how quickly I'm able to get things implemented and working. So the advantage of Blitz3D is rapid development and ease of use.

simonh
07-24-2003, 03:15 PM
I'm using Blitz3D for Super Hamster Ball. It allows me to concentrate on programming the game and nothing else, which is essential for me as I have a full-time job and don't have time to write my own routines.

For my next project I will probably use BlitzMax (the next version of Blitz, offering cross-compatibility options).

zoombapup
07-24-2003, 03:58 PM
Vis C++ .Net 2003 right now for tools in C#
Vis C++ 6 pro for my torque game
Vis C++ and DirectX/OGL platform wrapper (originally based on SDL, but I'm getting a bit wary of its 2D performance, which is the highest priority right now).

We use proprietary C++ code wherever its required.

Art wise, Max, Maya, Photoshop or anything else thats needed.

I am a regular guy at garagegames.com for torque stuff, Ive also been helping with the Reaction Engine.

Right now I'm developing our 2D engine for some sim games (iso tile scroller stuff, pretty simple).

Dont want to learn a new language, and once your core game code is working, I dont think Rad stuff like Blitz is going to give any advantage (write your C++ code right and you wont have any harder time than you would with something like blitz).

Phil.

compumatrix
07-24-2003, 04:24 PM
I am currently working on my first real game (which I hope to sell as shareware when it is done), using SDL and C++. On the mac I use the Apple developer tools, and on the PC I have been using Dev-C++.

Zoggles
07-24-2003, 05:23 PM
Well mostly, I've been using VB with DX.

-Z-

robleong
07-24-2003, 06:46 PM
I'm currently using Blitz3D for the development of my 2D Defender-type game, and future 3D games. Great piece of programming software, and I wouldn't hesitate recommending it to a games programmer.

Anthony Flack
07-24-2003, 06:56 PM
Another satisfied Blitz3d user here.

ggambett
07-24-2003, 07:28 PM
Hardcore C++ here. The truly portable solution! I'm using SDL, ZLIB, a homemade sprite library (Steve, I'm a control freak when it comes to code, too) and a homemade foundation library (the G Foundation Classes :D ). Will be using OpenGL in future projects, too. Happily producing Win32 executables from that portable C++ source from my Red Hat Linux box!

Kai-Peter
07-24-2003, 11:49 PM
C++ for Space Station Manager. I have some background in writing compilers and run-time systems and have a cursory experience with most language families around (Any APL hackers here? Good that Forth alread got mentioned ..) I can't say I know any language well any more, they just tend to blend together. C++ was quite easy to pick up and has most of the language features I can imagine I would need. I will probably include scripting in the future but haven't decided on the language yet.

Jack_Norton
07-24-2003, 11:54 PM
Hello Simon H, nice to see you here from blitzbasic forums :)
Since you mention it, there is a vague indication WHEN Blitzmax will come out? :D
Another thing I am asking (even if would be better maybe to ask directly Mark Sibly), will blitzmax support Blitz3D syntax?
So a game already written for Blitz3D would be instantly portable to other platform? :)
(that would be really great...!!)

simonh
07-25-2003, 05:21 AM
Hi Jack, I know Mark is working hard on BlitzMax right now, but it's still quite far from completion - a few months, at least. Also, it's unlikely to be backwardly comaptible with Blitz3D, although the two will probably share a lot of the same stuff.

Jack_Norton
07-25-2003, 05:29 AM
Well it's good to hear that Mark is working on it - then all those rumours were true.
I would be happy if it will be ready for this december or maybe first quarter of 2004. After all, no one want him to get out in a hurry with an half-finished product, like darkbas... ehm :D sorry :) hehe

Impossible
07-25-2003, 07:53 AM
Originally posted by Dexterity
[I'm something of a control freak when it comes to coding, and I'm generally distrusting of 3rd-party libraries because I often find them too buggy and unstable. I use DirectX only for the minimal functionality -- initialize the graphics mode and then give me a pointer to the back buffer surface. I write all my own drawing functions from scratch, since that gives me total control over how everything looks. I credit this decision with helping make Dweep extremely stable. Compared to other games we've released that use 3rd-party engines or DirectX rendering functions, Dweep generates far less tech support relative to its downloads and sales... by at least an order of magnitude.
[/B]
Did you do anything special to get this running quickly? I've found that hardware blitters (bltfast) are a lot faster than doing your own drawing. Not that drawing stuff yourself is unbareably slow (probably fast enough for Dweep), but I'm wondering if you did any thing special to get maximum performance, or if you're just getting a pointer to video memory and treating it like mode 13h or something. Currently I'm thinking creating a back buffer in system memory and using DMA to send it to the graphics card will give me a speed increase, but maybe I'm wrong.

TJM
07-25-2003, 05:25 PM
Originally posted by Dexterity
I use DirectX only for the minimal functionality -- initialize the graphics mode and then give me a pointer to the back buffer surface. I write all my own drawing functions from scratch, since that gives me total control over how everything looks. I credit this decision with helping make Dweep extremely stable. Compared to other games we've released that use 3rd-party engines or DirectX rendering functions, Dweep generates far less tech support relative to its downloads and sales... by at least an order of magnitude.

Direct3D is supposed to have all kinds of built-in capability as well as it uses the 3D card's processor, basically giving you true multi-tasking. If you used Direct3D, would you use the functionality of that or do you think you would work around that too?

LordKronos
07-25-2003, 06:08 PM
Originally posted by TJM
Direct3D is supposed to have all kinds of built-in capability as well as it uses the 3D card's processor, basically giving you true multi-tasking. If you used Direct3D, would you use the functionality of that or do you think you would work around that too?

Personally, I would say the only real reason to use Direct3D for 2D is if you need to do a lot of rotation/scaling/alpha-blending and you can't get enough performance from pure 2D. I think the problems Steve was referring to were all the little bugs you find in the drivers when you use hardware accelleration. Like the driver calculates 1 pixel off. Or one particular card 's drivers might mistakenly draw the transparent pixels unless you set the configuration a different way than most cards. Or another driver might corrupt some of the surfaces if another app tries to access direct draw. Or any other number of unknown bugs/quirks that inevitably exist.

If your game is simple enough that you can afford the performance to go without relying on 3rd party hardware drivers, and you have the time to invest in a software rendering system, it's usually to your benefit to do so. If Steve can say "I only need to rely on the driver to do one thing right", chances are compatability will be a lot better for him.

HunterSD
07-25-2003, 06:51 PM
Blitz is pretty much the only language I ever develop in. I have finished two games, a dodgy Pong clone (with guns) and Juno Nemesis (http://huntersd.mking.com/juno/), which were written in Blitz Basic and Blitz3D respectively.

After taking a break and writing a B3D (Blitz3D's native mesh file format) editor in BlitzPlus and a Blitz preprocessor in C#, I am back to the continuous cycle of upgrading Juno...

sodasoft
07-25-2003, 08:53 PM
I used VisualC++ and directX. I am hoping that any tools/engine I write can be reused again in the future. I am aware of other development platforms such as MMF or BlitzBasic, but like many, I prefer to have total control over my code.

Using VisualC++/DX is definitely the most of difficult. I may use another platform for my next projects just because of the time it takes to write everything groundup.

HunterSD
07-26-2003, 01:36 AM
I am aware of other development platforms such as MMF or BlitzBasic, but like many, I prefer to have total control over my code.

I honestly believe that most people would be suprised with the level of control Blitz3D and BlitzPlus give you. Both of them are nothing like MMF.

Jack_Norton
07-26-2003, 04:58 AM
I honestly believe that most people would be suprised with the level of control Blitz3D and BlitzPlus give you. Both of them are nothing like MMF.
Yes I agree. I am writing a soccer management game with Blitz3D, full of stats and calculation. Don't think you can do that with MMF :)

johnson
07-26-2003, 05:34 AM
Originally posted by Jack_Norton
Yes I agree. I am writing a soccer management game with Blitz3D, full of stats and calculation. Don't think you can do that with MMF :)

You will be suprised what is possible to develop in MMF :) There are several RTS developed in MMF, check the galary at Clickteams site.

Jack_Norton
07-26-2003, 05:45 AM
Uhm RTS?? with MMF you can implement a good pathfinding algoritm? ok I'll take a closer look to this software...

johnson
07-26-2003, 08:39 AM
Originally posted by Jack_Norton
Uhm RTS?? with MMF you can implement a good pathfinding algoritm? ok I'll take a closer look to this software...

>with MMF you can implement a good pathfinding algoritm?
Yes, no problem at all.

Check:
Prelude to Tank Unit NovA
http://www.clickteam.com/webftp/files/Creation_Gallery/Prelude.exe
Kisguri has released version 2.0 of Prelude to Tank Unit NovA. It's a hefty file at 15 MB, Kisguri says: An ongoing two year project, this latest version of NovA includes new features like the Infared system (which allows commanders to sniff out stealth tanks), call for Air Support (strife a enemy tank column when your riously out numbered), and the new Custom Formation Generator (allowing for you to design a quick formation that can be called up in the heat of battle)!

Jack_Norton
07-26-2003, 12:16 PM
Yes I've found that link too :)
But what kind of language do you use with MMF? a script-like languages?
I've also seen that you can create plug-in with C/C++. Interesting, I have to admit that I have underestimated that language. (of course if you want only to create 2D games)

johnson
07-26-2003, 02:03 PM
Originally posted by Jack_Norton
Yes I've found that link too :)
But what kind of language do you use with MMF? a script-like languages?
I've also seen that you can create plug-in with C/C++. Interesting, I have to admit that I have underestimated that language. (of course if you want only to create 2D games)

Create some amazing programs just by using your mouse. Drag and drop all the objects, and define the behavior of your application using events. Events are an entirely new way of programming. Programming is not the correct word, we prefer to say -eventing-: no lines of code, just click, choose a menu option and it works! Multimedia Fusion is very powerful, it contains thousands of conditions and actions, dozens of extension objects to enhance your application. More extensions are on the way and can be created by anyone with a little C++. The possibilities are endless.You use events in MMF, it's a graphical spreadsheet look a like interface.

MMF Demo:
http://download.com.com/3000-2383-8057759.html?tag=lst-0-2

3D isometric possibilities are already possible.
There are 3D fake possibilities for first person camera view.
There is an extension which supports 3D, mode 7.http://www.cellosoft.com/extensions/view.php?id=2


In the future we can expect from Clickteam a MMF version which handles full 3D environment.

gilzu
07-26-2003, 02:09 PM
Hardcore VC++ built everything myself from scratch except DirectX 8.

Matthew
07-26-2003, 02:30 PM
Virtools Dev (www.virtools.com). Our first title for the market is a 2D speller; ironic, because it ignores a lot of Dev's engine features. The bulk of our game logic is created in their visual schematic, with very few routines using their new code-based scripting language.

Balron
07-26-2003, 07:17 PM
Originally posted by johnson
Create some amazing programs just by using your mouse. Drag and drop all the objects, and define the behavior of your application using events. Events are an entirely new way of programming. Programming is not the correct word, we prefer to say -eventing-: no lines of code, just click, choose a menu option and it works! Multimedia Fusion is very powerful, it contains thousands of conditions and actions, dozens of extension objects to enhance your application. More extensions are on the way and can be created by anyone with a little C++. The possibilities are endless.You use events in MMF, it's a graphical spreadsheet look a like interface.

MMF Demo:
http://download.com.com/3000-2383-8057759.html?tag=lst-0-2

3D isometric possibilities are already possible.
There are 3D fake possibilities for first person camera view.
There is an extension which supports 3D, mode 7.http://www.cellosoft.com/extensions/view.php?id=2


In the future we can expect from Clickteam a MMF version which handles full 3D environment.

Sounds to me like a less useful version of VB =)

hanford_lemoore
07-26-2003, 08:08 PM
I use Macromedia Director with plug-ins.

I Like Director becuase it's a scripting environment so I can concetrate on my game logic, and not the engine, but when you need to go outside the scope of Director it's easy, you can develop plugins in C++ or whatever you wish.

~Hanford

Diodor
07-26-2003, 10:29 PM
I use plain C (I compile with Dev-C++ since my MSVC6 license doesn't allow distribution), using the SDL, SDL_Image, SDL_Net and SDL_Mixer libraries. For the last three projects I use the same user interface system I wrote: it is based on updating only the dirty parts of the screen - it's speed is exceptional when not much is changing on the screen, but it doesn't handle too much commotion well. All the rendering is done in software mode btw, and I use a lot of shamelessly expensive methods (for instance all the buttons are alfa-blended to generate a 3d outline around them). Inno Setup and the Armadillo protection system pack the game in its final form.

Lipry
07-27-2003, 01:06 AM
Power Boxx (www.realore.com/powerboxx):

Visual Basic 6, DirectX 7