At the start of we decided to open source DarkBasic Professional and give it to the community to evolve and control. We're still in the process of sorting out the source code and preparing it to be fully open source and ready to go. We expect to have more details mid-February. You can read more about this process in the forums HERE.
|Published (Last):||19 February 2009|
|PDF File Size:||3.51 Mb|
|ePub File Size:||4.14 Mb|
|Price:||Free* [*Free Regsitration Required]|
Anyone who has at least minimal experience with a computer can use DarkBASIC to create quality presentations, demonstrations, simulations, and even games. There are so many things to talk about that I want to jump in and explain all of them right away, but this chapter should give you a solid introduction that will prepare you for the chapters to come.
DarkBASIC is a language that makes programming fun and intuitive, and allows you to write intense graphics programs quickly and easily, without any formal knowledge or training. It is the perfect choice for prototyping software and creating presentations, product demonstrations, and yes—games!
DarkBASIC completely hides the details and takes care of all the difficult work behind the scenes, allowing you to focus on what the program needs to do rather than how to do it. It is a professional-grade compiler with an integrated development environment that lets you write, load, and save the source code that makes up programs, and then compile it into standalone executable programs that run in Windows and use DirectX.
This book focuses on teaching you how to be a programmer, first and foremost. I make no assumptions about whether you know how a command works. The subjects in this book are organized so that basic topics are covered first, with each chapter covering a more challenging aspect of programming with the DarkBASIC language.
If you have never written a computer program before, you will have no trouble working your way through this chapter and those that follow.
By the time you have finished this book, you will be able to write games and demos just like these. Figure 1. Putts Mini Golf , written by Rogers Yarrow. Image courtesy of Roger Yarrow. You might think of the language as a "wrapper" for the game engine. You use this language to tell the game engine what to do, and the result is a running game. DarkBASIC is not optimized like these other engines for a specific purpose such as first-person shooters ; rather, it provides a general-purpose game engine for multiple genres.
There are comparisons that go both ways. For example, take a look at Figure 1. As you see, you can use DarkBASIC for just about anything imaginable, and it is a terrific tool for simulations, scientific visualizations, and even business presentations. What makes DarkBASIC so popular is that it provides users with the ability to quickly and easily write graphically intense programs that utilize the latest 3D graphics cards.
It only takes a few simple commands to load a 3D model with full texturing and lighting enabled, and to move that model around on the screen.
To help you get a feel for what DarkBASIC is all about, let me show you some additional examples that demonstrate its capabilities. At the same time, a DarkBASIC program listing is significantly shorter than similar source code written in most languages. Jet Ski Demo. This program, also written by Lee Bamber, reminds me of WaveRace on the Nintendo 64, featuring some awesome wave effects. Room Demo.
Room Demo , also included with DarkBASIC and written by Lee Bamber, demonstrates special water effects, 3D character animation, ball-bouncing physics, rain effects, translucent water, and triggers that open and close doors see Figure 1.
The player's ship, aliens, projectiles, and even the score are rendered in 3D, while the camera angle represents the game in a 2D setting. This is a great way to enhance a game that would otherwise be limited to 2D. Tank Demo. The tank moves realistically over the terrain, angling up, down, left, and right depending on the angle of the ground.
Tank Demo also employs recoil physics, smoke, fog on the horizon, moving clouds, fire, transparent surfaces, and realistic terrain damage when a projectile explodes on the ground. By changing the camera angle to an overhead view, this game could be turned into a real-time strategy RTS game. It could also be a fantastic tank battle game for multiple players by adding multiplayer connectivity, destructible buildings, base camps, and power-ups!
What about Windows and DirectX? What makes it all possible? Not only must you interface with Windows, but you must also learn how to program the DirectX SDK, all before you are even able to start on your game. In contrast, DarkBASIC handles those details in the background and lets you start working on your goal right away, without any extra work. Microsoft's DirectX game development library is comprised of components that abstract the computer system, providing a common set of interfaces regardless of the underlying hardware such as the video card and sound card.
Hardware manufacturers, such as Nvidia makers of the GeForce4 Graphics Processing Unit and Creative Labs makers of the Sound Blaster Audigy sound card include DirectX drivers with their products so that all games developed in current or earlier versions of DirectX will run without incident. Suppose you have a great idea for a game that you want to develop. First you need to write your own DirectX library suited for the type of game you are planning.
This library should include the 2D or 3D graphics engine that powers your game, as well as support for sound effects, background music, user input devices including force-feedback joysticks, if applicable , and multiplayer networking if your game will support more than one player. It is a rare game today that is released with no built-in multiplayer capabilities. One exception that comes to mind is Sid Meier's Civilization III —a deep and engaging turn-based strategy game that is perhaps not practical in a multiplayer setting, but is extraordinarily fun and challenging nonetheless.
But even this game has an add-on product that provides network play capability! By the time you have finished creating the core library and engine code needed to power your game, you probably will have given up on the game entirely and moved on to a new subject or game type—assuming you had the capabilities to develop a cutting-edge game engine in the first place.
An alternative is to use a game engine such as Quake III and then write a modification mod for that engine. What you need is a way to quickly , easily , and spontaneously crank out the prototype version of your game idea before you lose interest and before the complexities of game programming overwhelm you and stifle the creative enthusiasm that you felt upon coming up with the new game idea.
Not only is DarkBASIC a fantastic prototyping language that lets you get a minimal demonstration of your game up and running very quickly, it is also full-featured and loaded with awesome tools that will let you follow through and take the game to completion.
Although you can and will write awesome games with DarkBASIC, you could also use it to quickly prototype a game that you plan to eventually write in a more difficult language. I'll assume that you have a computer already because that's sort of a given, right? If you don't have a computer, I'll at least assume that you are using one at school, work, or a friend's house. From my own personal experience, you will want a much more powerful system than the minimum specs listed above; otherwise, your games will not be able to run very fast.
When it comes to writing games and graphics programs, you want a more powerful computer than the norm. Most PCs today exceed even these specs; I am being conservative with the numbers.
DarkBASIC includes a rich development environment and language, runs in fullscreen mode, and is fully compatible with Windows. It runs in full-screen mode because it is more than just a programming tool—it is a complete game development environment. Now, this is an important point. When you are running DarkBASIC and working on a game, the rest of your computer is irrelevant; you are fully engaged in what you are doing, with no distractions.
Too often, the Windows user interface is a distraction! DarkBASIC features automatic double buffering, which results in super smooth animation at the highest possible frame rate using hardware 3D acceleration if your video card supports it.
Other general features include commands to play back audio-video interleave AVI movie files, create 3D sound effects, and use TrueType fonts.
I'll explain this capability in the following section. What happens when you have created a killer new game and you want to share it with your friends or send it to game companies to see whether they might publish it? Probably the most impressive and amazing feature of DarkBASIC is that it can create standalone executable files that require absolutely no run-time library! What is a run-time library, you might ask? It is a collection of functions that are built into a programming language and must be packaged with a program for it to run.
Some languages such as Visual Basic store the run-time in one or more dynamic link library DLL files that must be installed before the program will run. Compiled DarkBASIC programs are standalone executables that do not require any run-time library because they are self-contained. The only requirement is that DirectX 7. DarkBASIC executables can be compiled as standalone programs and distributed with all of the graphics and sounds needed by the game.
Alternatively, these files can all be packaged together inside the executable file. Yes, you can compile an entire game—executable file, 3D model files, texture bitmap files, sound files, and music files—into the executable. You don't need to modify anything to load files from a disk or from inside the executable because it is done behind the scenes.
This is a great feature, especially when you don't want others to steal your game files and use them in their own games without your permission.
It also includes a plethora of 3D models, textures, bitmaps, sound effects, and music that you can use freely and distribute in your own games. What is a command? Although you can break up large programs into multiple source code files which is particularly useful when you want to share your custom code between programs , there is far less confusion when compiling and running programs developed with DarkBASIC because the interface is so incredibly simple to use!
By structured, I mean that it resembles QuickBasic more than old-school BASIC because it allows you to create your own subroutines and functions that return values. Don't worry, my friend, the next chapter jumps right in and includes a sample program—your first DarkBASIC program, in fact. Most modern programming languages include a complete integrated development environment.
DarkBASIC takes that concept a step further with respect to games, featuring what I like to call an integrated game development environment, due to the awesome built-in game features. Let's get started with that tour, okay?
Assuming you have installed it already, you will be able to run it from the Windows Start menu. The Open menu item brings up the Load a Program dialog box shown in Figure 1. The Close menu item closes the current project file and clears the code editor window so you can start typing in a new program. The Save menu item saves the current project.
Note that this applies only to the page that is in view. Save As. You can type the program's title, author, and date in the appropriate fields. Then select the destination folder where you would like to save the. Build EXE. You can use this dialog box to create a standalone executable after you have finished writing a program. Note that this does not link all of the data files into the executable; that is accomplished using the Build Final menu item.
Build Final. Type in the name of the executable file, and DarkBASIC will build a standalone program with all of the graphics, sounds, and data files built into the executable and ready for distribution. The Exit menu item is used to end the program.
Welcome to DarkBASIC
Anyone who has at least minimal experience with a computer can use DarkBASIC to create quality presentations, demonstrations, simulations, and even games. There are so many things to talk about that I want to jump in and explain all of them right away, but this chapter should give you a solid introduction that will prepare you for the chapters to come. DarkBASIC is a language that makes programming fun and intuitive, and allows you to write intense graphics programs quickly and easily, without any formal knowledge or training. It is the perfect choice for prototyping software and creating presentations, product demonstrations, and yes—games! DarkBASIC completely hides the details and takes care of all the difficult work behind the scenes, allowing you to focus on what the program needs to do rather than how to do it. It is a professional-grade compiler with an integrated development environment that lets you write, load, and save the source code that makes up programs, and then compile it into standalone executable programs that run in Windows and use DirectX.