FlegelX Frequently Asked Questions
1. What is DirectX?
2. Why is DirectX so fast?
3. How can you program in DirectX with Delphi?
4. What is FlegelX?
5. Why FlegelX?
6. Is FlegelX Freeware?
7. Why use FlegelX when there are some other (free) Delphi DirectX component packages?
8. Is FlegelX just an extended copy/clone of existing Delphi DirectX component packages?
9. Which versions of Windows/DirectX are supported by FlegelX?
10. Is it possible to make an isometric game with FlegelX?
11. How can I make controls/menu's in FlegelX?
12. How do I make a game with FlegelX?
1. What is DirectX?
DirectX is a low level API from Microsoft, meant for MultiMedia
purposes (like games).
The standard way of drawing graphics (and other things)
in Windows is done by the GDI (Device Graphics Interface)
which is too slow for making games/multimedia applications.
That's why DirectX is made; to make things really fast and smooth.
Another nice feature of DirectX is that it's backward compatible.
This means that whenever a new version of DirectX (or Windows) is
released by Microsoft, all the old versions of DirectX will still be
supported in the future as well.
DirectX is installed on every Windows-system and is free. The version of DirectX
can be upgraded/downloaded from the Microsoft Page. (Physically spoken, DirectX
consists of a number of DLL files.) You can check the version (and other info) of
DirectX on your system with a small program called 'dxdiag.exe'.
2. Why is DirectX so fast?
It's so fast because it can access the hardware directly (if the hardware
supports the desired function). DirectX does not only handle graphics,
but also other things like sound (DirectSound), Input (DirectInput) etc.
3. How can you program in DirectX with Delphi?
DirectX-programming can be done in many programming languages, though
the DirectX-API's are currently officialy only supported for C++ and Visual Basic,
because those languages are supported by Microsoft and so all documentation,
DirectX-headers and examples are made in these languages by Microsoft.
The DirectX-API's are available through programming units called DirectX'headers'.
(For C++, they come in .h and .lib files.)
Thanks to the excellent work of the JEDI volunteers (a group of very talented Delphi
programmers) there are also DirectX-headers for Delphi now.
They translated the Microsoft C++ DirectX headers to the Delphi equivalent
(*.h and *.lib files translated to .pas files).
You can find the headers on: www.crazyentertainment.net
4. What is FlegelX?
FlegelX is a wrapper around all the hard low level DirectX API's, which makes using
DirectX so much easier than writing everything from scratch!
(It took me about 1,5 year and more than 10,000 lines of code to make the FlegelX components,
examples and documentation. But it took me only 2 days programming the maindemo application
with the components!). FlegelX uses the JEDI DirectX headers for Delphi.
5. Why FlegelX?
In spite of the excellent translations of the DirectX-headers by the JEDI-team, it's
still an enormous job to make a DirectX game/application with it from scratch,
because they contain just low level API's and there's only C++ and VB documentation
to use the DirectX headers.
FlegelX is a set of components that works as a 'easy to use' wrapper around all these
hard API's. It saves you a lot of time and effort, while still being flexible in whatever
you want to make. You can thus concentrate on the game/application instead of on the
technical details.
In my opinion, you can make DirectX games/applications so much faster with FlegelX than
when doing it all from scratch in Delphi or (Visual) C++.
I've studied several existing freeware DirectX game-libraries for Delphi (mainly DelphiX)
but in spite of the fact that DelphiX is an excellent freeware library, I discovered that
I'd need more because there's hardly documentation for it, and it still
contains many bugs which will not be fixed by the author (Hori).
That's why I decided to make my own library, with good and detailed documentation
but also with lots of good concepts adapted from the libraries I've studied.
6. Is FlegelX Freeware?
The compiled version of FlegelX is free. You can purchase the source if you like
to use it for your projects. The full source code is $100,- U.S.
This contains all the source code, including the true DirectX code.
Because FlegelX has such detailed documentation, it is not
necessary to have the source code.
Though if you have Delphi7 or higher, you will always need the full source code. You may also need
to download the latest JEDI-headerfiles (and overwrite some files in the FlegelX source directory)
to make FlegelX work. These headers can be downloaded from: www.crazyentertainment.net
If you want to buy FlegelX, then just send me an e-mail at: flegelxlib@yahoo.com
for further order-info.
7. Why use FlegelX when there are some other (free) Delphi DirectX component packages?
- FlegelX has good and detailed documentation (including a step by step tutorial)
and even the code is well documented.
Most freeware component packages have no good/poor documentation.
- FlegelX is built on the JEDI-headers, which are public headers.
Some freeware libraries have DirectX headers made by
the author(s) of the components, which aren't updated and may contain bugs.
- FlegelX has been tested well and is pretty robust.
Most freeware component packages are pretty buggy.
- FlegelX works both on old as new versions of DirectX. Some freeware libraries require
(almost) the latest DirectX version, which means a potential user of your game
has to install the latest DirectX runtime files to make the game work.
(Some component packages only support old DirectX versions.)
Also, for the graphics this means GDI-functions are no longer supported (so you
have to use font editors to output text on the screen, from DirectX8 graphics and higher)
- FlegelX can potentially easily be extended to work with later DirectX versions
(except for the graphics, which are DirectDraw based).
- FlegelX has a extra unit named 'GameSprite' which makes basic things like animation/collision
detection etc. so much easier, especially compared to other GameLibs.
8. Is FlegelX just an extended copy/clone of existing Delphi DirectX component packages?
Absolutely not. FlegelX has been designed and implemented from scratch (using the
JEDI DirectX headers).
However, there are some good concepts adapted from existing libraries (but only concepts,
not code), instead of 'reinventing the wheel'. There are lots of nice new features
which other libraries don't have (see documentation for overview/details of the library
in the Help directory of the component package).
9. Which versions of Windows/DirectX are supported by FlegelX?
FlegelX runs on Windows 95, 98, ME, Win2000 and WinXP.
It may run on WinNT4 (at least the graphics part) but NT4 is
a nasty operating system for DirectX games because it can only be
upgraded to DirectX3 (with SP6 installed) instead of updating it with
the latest version of DirectX. FlegelX can be run on systems with
DirectX 1 to 6 installed. However, it runs best if DirectX7 or higher
is installed.
10. Is it possible to make an isometric game with FlegelX?
Yes, that's possible. However, you have to make the isometric 'tiling engine'
yourself. (There are enough examples on Internet of making a simple isometric engine.)
You should use the drawing part of FlegelX to draw the (isometric) tiles on the screen.
11. How can I make controls/menu's in FlegelX?
There is no standard way to do this, because you are working in DirectX,
which doesn't support this natively. You have to keep in mind that (almost)
everything that is drawn in FlegelX/DirectX is an image. So, you have to
make a mechanism where images act as controls. For example, you could
make 2 images for a button, for it's 2 possible states (pressed and not pressed).
12. How do I make a game with FlegelX?
That is a very common question, and there's no standard answer;
it completely depends on what type of game you want to make.
Though, the general principles for making a game can be found in the
documentation of FlegelX in the 'Help' directory. There's a step by step
tutorial and a complete overview of all components and classes.
It may also be very usefull to study the examples, especially the main demo.
Anyway, you can make any type of (2D) game with FlegelX.
Remember that FlegelX is only a set of components/tools which make life
a lot easier, but making a complete game is still always much work
(weeks, months or maybe even years).