Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

DarkBASIC Discussion / programming a game maker

Author
Message
king 36
16
Years of Service
User Offline
Joined: 25th Nov 2008
Location:
Posted: 27th Nov 2008 02:00
hi there i wanted to know if there was a tutorial on how i would program game maker type software

jordon
steve paul thomas
16
Years of Service
User Offline
Joined: 4th Nov 2008
Location: United Kingdom
Posted: 27th Nov 2008 03:31 Edited at: 27th Nov 2008 05:57
I'm sorry to say I doubt a tutorial like that exists.

Making games themselves requires some time and patience, even within a language as simple as DarkBASIC. Therefore making a "game maker" within an already very suitable "game maker" (DarkBASIC) would prove to be quite a large challenge.

Although this obviously depends on the type of games that you want your "game maker" capable of producing and your programming skill

Now...making something like The Games Factory (http://www.clickteam.com/eng/tgf2.php) is certainly possible within DarkBASIC. Something as complicated as that would be a very large project and would take a single coder a long time to make...

I used to own a copy of the original THE games FACTORY and it was a fun introduction to making games. (Shame I never had net access back then ...).

It was very poweful...you could make Scrolling Platformers with NO PROGRAMMING - you would use a very easy to use Event Editor where you would just point and click and it would handle the code behind the scenes. It made creating animated sprites very easy using the simple animation editor. You could import AVI & Quicktime movie clips and control them with the Event Editor. The same for sound, you could set movement types, what would happen when things collide....the list goes on!

Creating something as complicated as DarkBASIC would definitely require years of experience and some serious coding skills (Lee Bamber is certainly due of some credit for creating DB) and you would probably need to use something like C++ to make sure your "game maker" runs as quick as DarkBASIC does.

What I am hinting at here is, I do not doubt that it is possible to create such a thing as a "game maker" in DarkBASIC...the question is:

Why would you want to?

DarkBASIC has opened up game creation to many people (such as myself who want to create games as an "enthusiast/hobbiest"), but do not want to spend months (perhaps even years) learning C++ and all the dozens of libraries that you would need - just to do some basic game.

Hopefully that has revealed the type of dedication you would need to put to a project like that.

However, please don't be discouraged from programming. Its a fantastic way to be creative.

If you really really want to use DB to create a "game maker" then I would suggest starting simple and be realistic in what you want to achieve.

I see from your other posts that you started coding an RPG, how did you get on with that?

Best of Luck!
BN2 Productions
21
Years of Service
User Offline
Joined: 22nd Jan 2004
Location:
Posted: 27th Nov 2008 05:31
From experience, I will tell you that creating a program that creates a program is HORRIBLY painful to make (at least if it has to create custom code) because there is so much room for error when you are typing in the hundreds of "write string" commands. The generally accepted way to do it is to work out a scripting system, where you simply edit files and you have a pre-compiled exe that will simply do what is in the files. Again, though, that would still be tedious, but definitely possible.

Steve has a good point though, why? Unless your goal is to make a game maker, then you can only get out of it what you put in (it won't make making a game any easier for you, just someone else). A better way (again, unless you are trying to make a game maker for someone else's benefit) is to develop functions that you can use in different programs that you make to do different parts of games.

But to answer your question: No I don't believe there is a tutorial, but yes it can be done.

Ever notice how in Microsoft word, the word "microsoft" is auto corrected to be "Microsoft" but "macintosh" just gets the dumb red underline?
Latch
18
Years of Service
User Offline
Joined: 23rd Jul 2006
Location:
Posted: 27th Nov 2008 06:30 Edited at: 27th Nov 2008 06:33
Both BN2 and steve have some great points. And, just so you are not completely discouraged, be aware that the product The 3D GameMaker was coded in DarkBASIC Classic; in a much older version actually. I believe the FPS Creator was coded in DarkBASIC Professional (and I think the source for that was available at one time or another).

The question has been posed
Quote: "Why would you want to?"

The answer is up to the individual but in my opinion, having a development engine is essential for turning out any kind of consistant application or game with any kind of regularity. And if you are working with others, it forces them to work within the limits of the engine, so everyone's input is formatted the same and a bit more manageable. Also designing levels or terrain can be a nightmare without some kind of design tool.

This is all just opinion so take it as you will. I in no way am intending to challenge or disqualify the previous opinions stated.

Check out Magic World. A user coded a world designer in DarkBASIC Classic and supplied the source code. If you are ambitious enough, you could go through the source and see and learn what they did and alter it so it fits more in line with how you might design a game maker.

Magic World

Something to be aware of: you cannot create something that creates DarkBASIC exes. That is, if you write a program in DarkBASIC, that program cannot in turn create a DarkBASIC executable. You can output files and have a game engine that reads and plays back the files. So, if you went ahead with a game maker, and you wanted anyone to be able to use it, you might create two programs:
1. A designer, that makes the actual environment and controls all of the interaction. This would output some sort of data file or data files with all of the design info
2. A game engine that reads the data file(s) and puts into action what was designed.

Enjoy your day.
steve paul thomas
16
Years of Service
User Offline
Joined: 4th Nov 2008
Location: United Kingdom
Posted: 27th Nov 2008 19:34 Edited at: 27th Nov 2008 20:04
Quote: "The answer is up to the individual"


@Latch
Indeed, Latch. If king 36 has the patience and dedication to see a project like that through until completion, then he should go for it

Just wanted him to be aware that it wouldn't be a light programming task and therefore something a single-tutorial could not hope to cover.


Quote: "...having a development engine is essential for turning out any kind of consistant application or game with any kind of regularity...Also designing levels or terrain can be a nightmare without some kind of design tool."


@Latch

Data-driven is definitely the way to go - plus it would take forever to hard-code everything!
TheComet
17
Years of Service
User Offline
Joined: 18th Oct 2007
Location: I`m under ur bridge eating ur goatz.
Posted: 1st Dec 2008 17:17 Edited at: 1st Dec 2008 17:18
Yeah, it is very hard to make a game maker

2D Game Maker

Although 2d game makers are easy! I haven`t seen any tutorials for making a game maker, just do it when you feel up to it...

BTW, Isn`t the 3D Game Maker made with DBC?

TheComet

Peachy, and the Chaos of the Gems

TDK
Retired Moderator
22
Years of Service
User Offline
Joined: 19th Nov 2002
Location: UK
Posted: 5th Dec 2008 19:35
Quote: "BTW, Isn`t the 3D Game Maker made with DBC?"


Yes, but there's one important factor that may not have been thought about... the format of the finished 'game'.

3DGM was from TGC - who also own DBC, so they have the rights to use the DBC compiler and runtime routines as they see fit. In other words, they can legally ship whatever parts of it that they need to with 3DGM to compile a finished .exe game.

As owners of DBC, we do not have the rights to supply DB.exe with any game creator we make so that the users of our program can compile their games into exe's.

This means that any games would have to be interpreted and as you all know, an interpreted program running another interpreted program ain't gonna be pretty - or fast!

TDK_Man

TheComet
17
Years of Service
User Offline
Joined: 18th Oct 2007
Location: I`m under ur bridge eating ur goatz.
Posted: 5th Dec 2008 21:05
Sure, but if you make an exe that loads a map (a level), it will run just as fast as a game. And that is what I have planned. Make an exe that will load the level into it, and include that in the program, packed in a pak file.

When you export your game you made, you just unpack the exe into your savegame directory, and export the level for that exe to read. Then you have a compiled executable game.

While we are at it, is it possible to add a file into the DBC build final exe?

TheComet

Peachy, and the Chaos of the Gems

BN2 Productions
21
Years of Service
User Offline
Joined: 22nd Jan 2004
Location:
Posted: 5th Dec 2008 22:13
Quote: "While we are at it, is it possible to add a file into the DBC build final exe"


I think everything in your project directory becomes part of it. Or is that now what you meant?

Ever notice how in Microsoft word, the word "microsoft" is auto corrected to be "Microsoft" but "macintosh" just gets the dumb red underline?
TheComet
17
Years of Service
User Offline
Joined: 18th Oct 2007
Location: I`m under ur bridge eating ur goatz.
Posted: 5th Dec 2008 22:23
Quote: "I think everything in your project directory becomes part of it. Or is that now what you meant?"


Ah, sorry. I mean, if you already have a final built exe, and you want to add more files to that exe that is already built, is it possible to add those files?

TheComet

Peachy, and the Chaos of the Gems

TDK
Retired Moderator
22
Years of Service
User Offline
Joined: 19th Nov 2002
Location: UK
Posted: 6th Dec 2008 00:02 Edited at: 6th Dec 2008 00:09
Quote: "Sure, but if you make an exe that loads a map (a level), it will run just as fast as a game. And that is what I have planned"


Ah, OK. So you are actually talking more about level maker software as opposed to 'game maker type' software as asked about in the OP.

My point is still valid as it was aimed at the task outlined in the OP and the fact that you specifically mentioned 3DGM which despite it's limited scope is actually a game maker.

If your planned game maker lets you design just one single genre of game with one single way to play, but with different scenery and objects then it should work.

But give it the ability to change more than a couple of aspects - such as different genres and you will simply be re-writing the DB interpreter and the supplied 'generic' exe will be absolutely enormous in order to cater for all the possibilities.

As I said, this was only possible in 3DGM because each 'game' was compiled into an exe for each game because the compiler was included.

I'm still convinced that an 'all-purpose' game maker exe written in DBC which would allow any worthwhile game variations would be far too big and sluggish to be usable.

However genre specific types of software like 'Space Invaders Construction Kit' or 'Doom Construction Kit' would be possible.

I'm not suggesting you don't try - just be aware of the future problems you are likely to run into...


In reply to your last point, you could have an option to set the user's game folder on the hard disk drive that they save their games to.

The final exe would have to read data from an INI file (such as the media files to use) and you could easily add an entry into this file which tells the exe that it's a user-generated game.

TDK_Man

Login to post a reply

Server time is: 2025-06-07 17:22:52
Your offset time is: 2025-06-07 17:22:52