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.

Newcomers DBPro Corner / Tutorials, Guides & Advice for Newcomers

Author
Message
Rob K
Retired Moderator
21
Years of Service
User Offline
Joined: 10th Sep 2002
Location: Surrey, United Kingdom
Posted: 3rd Dec 2003 01:56 Edited at: 11th Dec 2003 21:44
Welcome to DarkBASIC

There are many aspects to game development, which all have to be learned before you will be able to produce good games. Writing a game takes time and effort, you will not produce GTA3 in a matter of minutes. The reward and enjoyment you will get out of writing your own games is great but be patient.

The aspects of game development include:
- The DarkBASIC Programming language
. > Graphics
. > Game control
. > AI
. > movement & interaction
- Creating 2D media
- Creating 3D media and worlds



1 - The DarkBASIC Programming Language
If you have never used a programming language before, it is worth reading through the Principles help document which explains fundamental basics such as variables, arrays and so on. Open up the DarkBASIC editor, and use the Help menu to access the main menu, then select the Principles link.

Once you have a basic grasp of the language, you should then look at the included tutorial (follow the Tutorials link from the main help menu). This will give you a basic introduction to setting out a game. Note that although this tutorial uses gosub a lot, I recommend learning about and using functions instead.

Once you have completed this tutorial, I strongly advise that you look at Binary Moon's excellent Limit Rush tutorial / game. This provides a good introduction on how to lay out games, how to think about game logic, AI and so on.

Limit Rush does not work with DarkBASIC Professional, you will need to either use DarkBASIC Classic retail, or download the DarkBASIC Classic demo from http://darkbasic.thegamecreators.com/?f=trial
Once you have learned how to write games in DarkBASIC Classic, virtually the same code can be used in DarkBASIC Professional. However, due to slight differences, you should start new projects in DBPro, you may not be able to run DarkBASIC Classic game source code in DBPro

Limit Rush Tutorial: http://developer.thegamecreators.com/?f=t02/bm_tutorial_index

Also worth a look are the 3D Monster Hunt tutorials. Again, these need DarkBASIC Classic to run.

http://developer.thegamecreators.com/?f=t01/3d_tutorial_index

For DarkBASIC Professional specifics, you can also look at the tutorial page here: (Tutorial #6 is probably the most useful)

http://developer.thegamecreators.com/?f=dbpro_tutorials

Other places to look:
- The CodeBase - http://developer.thegamecreators.com/?m=codebase_list&l=2


2 - Creating 2D Media

In order to create 2D media for game, needed for effects, text, menus, icons and so on, you will need a suitable graphics package.
Popular packages include:
- Jasc Paint Shop Pro
- Adobe Photoshop / Photoshop elements

Although there are others.

DarkBASIC supports a wide variety of image formats, although you will generally find that Bitmap (BMP) and JPEG (JPG) work well. For transparent images, such as a fence railing, Portable Network Graphics (PNG) is the most ideal format, DarkBASIC will recognise the inbuild transparency (alpha) layer. For effects such as rainbow shading, a Targa (TGA) file is recommended.

If you want advice on 2D media, please visit this forum:

http://developer.thegamecreators.com/?m=forum_read&i=4

3 - Creating 3D media & worlds

One of the most important parts of game production is the production of 3D media.

There are two catagories:
- 3D models > For your hero characters, guns etc.
- Worlds > These are the levels where your game takes place

You can use industrial packages like 3DSMax, although for beginners I would highly recommend the cheap, but usable MilkShape package ($22). You can get more information & tutorials for MilkShape here: http://www.swissquake.ch/chumbalum-soft/

For 3D worlds, you have a variety of options:
- For external terrains, matrices are one possible solution, as used in Digital Awakenings' The Magic Land. These are easy to program, but not that flexible. MatEdit is an ideal program for creating and changing matrices. http://www.matedit.com/
- If you want to create internal levels, or want a mix of external and internal, then Cartography Shop (sold on this site) is ideal, use the menu links on this site to access the CShop demo under World Building. CShop help is unfortunately fairly limited, however this code will come in useful for loading CShop maps in DarkBASIC:



- Another alternative is to use BSP (Quake / Half-Life) type maps. These can be created with programs such as WorldCraft which comes with Half-Life. You can also use the X to BSP converter which comes with DarkBASIC Pro to convert existing X levels to BSP format.

Although DarkBASIC does support various 3D formats, DirectX (X) format models are by far and away the best format to use. 3DS, MD2 and MD3 support is fairly poor, so it is worth using a program such as MilkShape or Deep Exploration to convert models before loading them in DarkBASIC Pro.

Look in this forum for more help
http://developer.thegamecreators.com/?m=forum_read&i=3

General Advice

- Don't be too ambitious, start with a simple project and work towards something more advanced.
- PLAN your projects on paper before you start. I cannot emphasise this enough, a potential problem can be fixed in one minute at the planning stage, which could take hours to deal with at the testing phase. You should try to make your program structure as flexible as possible, this way if a certain aspect doesn't work, you can change it. You should think carefully about the structure before you start.
- Think about machine problems - Ensure that where possible, your program handles missing files / graphics features etc. as gracefully as possible.

Requesting Help

- Be polite and say please and thank-you, it might seem silly, but a positive attitude will get much better responses from other forum users
- Post samples of source code, explain in detail what you are trying to do (if applicable) and explain what your problems / queries are.
- If appropriate, post relevant media, as it may be an issue related to the model / texture etc. that you are using.
- SEARCH the forum to see if your query has already been answered.

Others feel free to add tutorials / advice etc.


BLUE GUI Plugin: http://blue.robert-knight.net / BLUE IDE [href]http://blueide.sf.net/ - Replacement editor for DBPro[/href]
Mattman
20
Years of Service
User Offline
Joined: 5th Jun 2003
Location: East Lansing
Posted: 3rd Dec 2003 02:41
nice job Rob, keep up the great work!

I am mischeivious
RoooooOoooooKoooooKoooooRoooooOoooooKoooooKooooo!
PsychoHoseBeast
20
Years of Service
User Offline
Joined: 24th Nov 2003
Location:
Posted: 3rd Dec 2003 10:13
Very very well written post! - summed up the first steps to game design and implementation really well!

Cheers!
Jaze
20
Years of Service
User Offline
Joined: 20th Nov 2003
Location: Connecticut, USA
Posted: 15th Dec 2003 23:40
Yeah - very useful post


-=/Jaze/=-
burrbittyburr
21
Years of Service
User Offline
Joined: 19th Sep 2002
Location:
Posted: 31st Dec 2003 09:42 Edited at: 31st Dec 2003 09:45
Quote: "Also worth a look are the 3D Monster Hunt tutorials. Again, these need DarkBASIC Classic to run."


Not tryin ' to be a know it all, but 3D Monster Hunt does work for me in DBPro. Just incase anybody wants to try it .

Specs[1 GiG Athlon,Geforce Ti4, 128mb]
waffle
21
Years of Service
User Offline
Joined: 9th Sep 2002
Location: Western USA
Posted: 31st Dec 2003 12:51
and don't forget to download other peoples games and read thier source code. You can learn alot that way.....

Also, that will emphasize the need for documentaion in the source.
There is not much that is more complicated than reading someoneelses poorly coded game with limited documentation. After trying, you'll know what not to do and also why not to do it

That was not to critisize, but if you went to school for programming, you should "know" what to do. By releasing code for others to review, you need to be prepared for reviews ....
I feel that some people over document ( a paragraph per DB command is overkill ) while a sentence per custom function call is underkill.

My teacher had a policy....
If your function call takes up 3 screens, your comments should take up 1 full screen or you need to break up your code into smaller function parts.

The area of code that calls your function will also need at least one sentence stating why a custom function call is needed. I usually dissagreed on that point because every variable gets a sentence in the function block in adition to the function discription.

Also, The main body of your app should be clean and straight forward. All complicated stuff belongs in a function call. Variable definitions also need to be consistant. DB does this for you (IMHO) with the $,# things but some C++ guys prefer hungarian notations. My system is to name the Var for what type of information is holds ....
Idle_A$ = this would be used to hold the filename for the idle animation .... $=string, _A = animation
Idle_S$ = the wav file that loops if idle
Idle_SID = idle sound ID, the sound number to loop when idle
but, whatever system you use, be consistant and explain your method
to those that may read your code a year or two from now....

internet gaming group
current project http://home.comcast.net/~norman.perry/Archon.html
Neb the only
20
Years of Service
User Offline
Joined: 16th Jan 2004
Location:
Posted: 16th Jan 2004 14:32
Hello, i am 13 and have purchased darkBASIC
i have had previous experience with coding through blitzbasic and codewarrior, and also an icon based interface
i mainly know c++,is BASIC different to c++ or are they just scaled down versions of c++ or a completly different language. and should i get geospace3D or cartography shop, i have a limited buget and dial-up so i can't get large files,i know you already posted the preferable senarios.
any way nice post and i will close with a link to my website(its on geocities but whocares,eh?)www.geocities.com/eccentricarts
it also has links to the sites based on my current projects using gamemaker(wich i have no idea on what language it uses but,ohwell)
oh and (-ya
waffle
21
Years of Service
User Offline
Joined: 9th Sep 2002
Location: Western USA
Posted: 19th Jan 2004 15:20 Edited at: 28th Jan 2004 11:18
basic is basic and is not C.
Just as there are many flavors of C there are many flavors of basic.
DBC,DBCE,DBPro are different versions of 1 flavor....

BB,BB3D are different versions of another flavor...

Basic is a high-level introductory languange that is procedural.
C,C++ can work that way but has lower level support and OOP brought in that can make it event-driven, interupt driven or "non-sequencial". Prolog and Lisp are other laguages that are non-sequential. Prolog is hyristic and database driven (also very obsolete).

EDIT - I guess there is a visual Prolog that is still in devlopement.
Its free and can make .DLL (stdcall only intended for VB.net)
http://www.visual-prolog.com/
not suitable for "most things" prolog is good for real world AI problems... I used to use it for map routing information.

internet gaming group
current project http://home.comcast.net/~norman.perry/Archon.html
Danny
20
Years of Service
User Offline
Joined: 5th Feb 2004
Location: Ventura, CA
Posted: 6th Feb 2004 16:23
Hi all, i am a Ph.D. student at Penn State Univ. and my dissertation is on 3D GUIs, video games, Virtual Environments, related to consumer psychology, user studies and advertising effectiveness (product palcements effectiveness in video games). I have been designing studies that use different types of stimuli (have used VRML/x3D, Viewpoint, other formats) but i am a newcomer to DB. I just bought 3D Gamemaker thinking that perhaps i could easily design a simple game, and here are my two questions:

1. If I design a game in 3D Gamemaker, would i be able to then access its code from somewhere else( DB, or any editor)? The reason for opening it in DB is that:

2. I need to establish some sort of user tracking (mouse movements, orientation, click on objects, etc.) and also send this data to a server either locally (through SQL i guess) or remotely to my server, whichever is easier. I guess this would imply using AI but i am not sure how to do this nor where to find more info on this.

I guess i am basically trying to see DB and Gamemaker's capabilities in these issues and then decide if they could greatly ease up my work.

Anyone could help? Any support is appreciated.

Thanks. If anyone needs more info on my work, or thinks that is interested, a research collaboration is possible too.

Dan

Dan Grigorovici
Pennsylvania State University
IanM
Retired Moderator
21
Years of Service
User Offline
Joined: 11th Sep 2002
Location: In my moon base
Posted: 6th Feb 2004 21:17
1 ... no. The 3D Gamemaker generates executables directly and doesn't produce basic code.

2 ... yes, for DBPro. TCA did an ODBC plug-in that would allow you to communicate with your database, but you would need to write your game first to do this.

For free Plug-ins, source and the DBPro Interface library for Visual C++ 6 and .NET
http://www.matrix1.demon.co.uk
Skybax
20
Years of Service
User Offline
Joined: 20th May 2003
Location: United States
Posted: 9th Feb 2004 21:46
Oh my......thank you so much for writing this! It's REALLY saved me a lot of headache! Keep it up! Cheers mate!

There is no king who has not had a slave among his ancestors, and no slave who has not had a king among his

Ph33r the Ringwraiths

Login to post a reply

Server time is: 2024-04-26 17:33:05
Your offset time is: 2024-04-26 17:33:05