PDA

View Full Version : Quantum Engine v1.0.0.25



Pyrogine
29-12-2009, 08:05 PM
Download (http://quantumeventgames.com/products/downloads/category/2-quantum-engine.html?download=2%3Aquantumengine-v1.0.0.25)

OK here it is, finally:

Quantum Engine‚Ѣ is a cross-language 32bit native code compiler with an advanced 2D game engine for PC's running Microsoft Windows¬Ć and uses Direct3D¬Ć for hardware accelerated rendering. It's robust, designed for easy use and suitable for making all types of 2D games and other graphic simulations. Your code can compile to a stand-alone EXE and/or to dynamic loadable compiled units (runtime packages). The core game engine consists of a high-level object oriented game application framework with a plethora of classes and routines to allow you to rapidly and efficiently develop your graphics simulations. There is support for surfaces, textures, sprites, audio, streams, archives, configuration files, render targets, swap chains, databases and much more.

I've managed to make the entire QE feature set available to the compiler. If you look in the examples folder you can see some javascript samples too. There is much more work to do but wanted to at this point make sure it works on other configurations and OSes.

Ok so far there is only a command-line compiler (IDE hopefully later). To compile anything you need a default project, which is a simple INI file. To help with this if you go:

qecc -mp"projectfile[.pas|.bas|.js] -pc it will create a default project file for you or even easier is to run makeprj.bat which will ask for the name of the project source file. It will also create a .project.bat file that you can click on to build the project for you.

Looking at the .project.ini file you tweak various settings, such as the icon file, version info, if you want to inc the build number, generate compiled unit files or use runtime packages.

if you use runtime packages all units compiled will be saved out to .pcu files and those will be dynamically loaded when the main exe runs, thus making the the main exe smaller and your project can be modular.

In your source you can directly access exported routines from DLLs or .PCU files:


// pascal unit
unit myunit

interface

procedure myroutine;

interface

procedure myroutine;
begin
end;

end.

// main program
program mymain;

procedure myroutine; external 'myunit.pcu'; // or can be myunit.dll

begin
myroutine;
end.

if you compile myunit to a myunit.pcu file any routine in the interface section you have access to just like you would do in with an exported unit from a dll.

You can do:


// javascript main
uses Forms, MyPascalUnit in "MyPascalUnit.pas"

when the javascript module compiles it will load in and compile the pascal unit and the declarations are then visible from JavaScript and vise verse. The same is true for all supported languages.

If you see the scroll, viewport and polypoint demos they use a lot of QE features including high level actors and entities.

Play around an see if it works well on your configuration.

Thanks

Pyrogine
06-01-2010, 12:50 PM
A light-weight IDE (http://quantumeventgames.com/support/forums/2-quantum-engine/13-worklog.html) is in the works.

http://quantumeventgames.com/images/stories/products/quantumengine/1.0/gallery/qeds_thumb.png (http://quantumeventgames.com/images/stories/products/quantumengine/1.0/gallery/qeds.png)

arthurprs
06-01-2010, 07:51 PM
Let's take a look 8)

Pyrogine
06-01-2010, 09:16 PM
QEDS update (01/06/10)

The command-line compiler QECC is used to compile the source and it communicates with the IDE via IPC which is also available for use in QE.
Save, saveall, load, compile, compileandrun, cut, past, copy all working.
You can load multiple source files and switch between them.
Now the project information is specified directly in the source code.
The IDE will now remember it's size and position.

Pyrogine
07-01-2010, 01:47 PM
The compiler currently supports 3 languages: Pascal - compatible with almost all Delphi 7 language features
Basic - very similar to VB.NET
JavaScript - ECMA-262

These languages: are modern
are structured and object-orientated
can be used for mixed language programming
can think of them working like .NET but for Win32
[br]Some features include: Each language can reference code modules of other languages for efficient mixed-language programming.
Generation of stand-alone EXEs and PCUs.
PCUs are compiled code modules that can also function as run-time packages. If you enable this feature, the main EXE will be compiled in such a way as to dynamically load them at run-time.
Your code can not only directly access exported routines from standard win32 DLLs but also from your PCUs the same way. Even more, a PCU has rich meta data so that any thing from the interface section will be available to the main program unlike a standard DLL. So your classes and other data can be referenced as well.
You can add version info as well as a default EXE icon.
A robust and feature rich game application framework that allows making any type of 2D games and graphical simulations.
Visit the Quantum Engine (http://quantumeventgames.com/products/gamedev/quantum-engine.html)site for more information about it's features.

For those that want to just use the QE features directly there will be an API layer that will allow you link directly against the QE DLL via a language binding. I plan to include two out of the box, Delphi and C/C++.

The current public build is the command-line compiler only. I'm currently working on a light-weight IDE for it. The license allows you to use the command-line version free of charge for non-commercial use. When I finish up the IDE, a trial version will then be made available. If any one is interested in beta testing, feel free to contact me (http://quantumeventgames.com/support/contact-us.html) and I will get you added to the beta list. If you want to contribute any examples that can be included in the distro, contact me as well. In exchange for your help I can give you a free RegDev license if you like. Thanks in advance.

paul_nicholls
08-01-2010, 07:01 AM
Hi Jarrod, nice work BTW :)

You do need to edit your links in your latest post - they look similar to this:


http://"http//quantumeventgames.com/products/gamedev/quantum-engine.htm"

and of course the browser doesn't like the " characters, or the incorrect start of the URL ;)

cheers,
Paul

Pyrogine
08-01-2010, 12:36 PM
Fixed, thanks very much Paul.

bigsofty
09-01-2010, 11:02 PM
An excellent product, well done Jarrod.

Also very the impressive compiler technology, Pax Compiler, by Alexander Baranovsky ( http://www.paxcompiler.com )

Pyrogine
10-01-2010, 01:23 AM
@bigsofty

Thanks.

Pyrogine
11-01-2010, 01:01 AM
New QEDS update (01/10/10)

http://quantumeventgames.com/images/stories/products/quantumengine/1.0/gallery/qeds_thumb.png (http://quantumeventgames.com/images/stories/products/quantumengine/1.0/gallery/qeds.png)

You can create PAS, BAS and JS programs and modules, it will automatically generate a compilable skeletal file for you.
There is now a file list along the right side which allows you to quickly select which file you want to edit.
You can now load multiple files from the open file dialog.
You can set a main project source file, which when set will compile this file rather than the active source file.
The whole workspace (project file, all open files) will be saved and restored when the IDE runs.
Added a new About dialog
The CHM help file can now be displayed from the IDE.
Clickable error list that takes you to the line and position in the source file.
Added more menu items.
Added a status bar that shows the cursor position, edit state and current project file.
Compile and run the generated EXE
Other misc bug fixes and enhancements.

Pyrogine
15-01-2010, 05:04 AM
New QEDS update (01/14/10)

Added shortcut keys to menu items
Added/changed main menu and popup menu items
You can now kill a running program from within the IDE if it become non-responsive.
Run-time exception from the running EXE captured inside the IDE.
You can now press F1 to search for the word the cursor is on from the CHM help file.
//$EXENAME project directive will create the specified path if it does not already exist.
Inserting project information now displays a conformation dialog
Misc bug fixes, tweaks and enhancements

jdarling
15-01-2010, 03:33 PM
Since I'm guessing your using the same output generator for all of the compiled languages, how hard would it be to setup a new target for your compiler? I love the idea and the simplicity, but I work in Linux and/or MAC more than in Windows :(. Of course, this would mean that you would have to convert everything over to FPC/Lazarus instead of Delphi, but that part shouldn't be too difficult.

- Jeremy

Pyrogine
16-01-2010, 12:40 PM
Support for different platforms is something that I hope to provide at some point. The game engine would be the most massive to convert. It's based around DirectX (around 8 years of continual development) so I would need to convert this to OGL and separate out a lot of Win32 dependencies. I do not have a time frame on this as of yet. Plus I have zero knowledge of Linux/MAC so would have also learn those platforms.

Thanks for the feedback.

Pyrogine
21-01-2010, 02:13 PM
http://quantumeventgames.com/images/stories/products/quantumengine/1.0/gallery/qeds_thumb.png (http://quantumeventgames.com/images/stories/products/quantumengine/1.0/gallery/qeds.png) http://quantumeventgames.com/images/stories/products/quantumengine/1.0/gallery/qeds_spell_dict_thumb.png (http://quantumeventgames.com/images/stories/products/quantumengine/1.0/gallery/qeds_spell_dict.png) http://quantumeventgames.com/images/stories/products/quantumengine/1.0/gallery/qeds_synthilite_options_thumb.png (http://quantumeventgames.com/images/stories/products/quantumengine/1.0/gallery/qeds_synthilite_options.png) http://quantumeventgames.com/images/stories/products/quantumengine/1.0/gallery/qeds_struct_view_thumb.png (http://quantumeventgames.com/images/stories/products/quantumengine/1.0/gallery/qeds_struct_view.png) http://quantumeventgames.com/images/stories/products/quantumengine/1.0/gallery/qeds_topic_search_thumb.png (http://quantumeventgames.com/images/stories/products/quantumengine/1.0/gallery/qeds_topic_search.png) http://quantumeventgames.com/images/stories/products/quantumengine/1.0/gallery/qeds_editor_options_thumb.png (http://quantumeventgames.com/images/stories/products/quantumengine/1.0/gallery/qeds_editor_options.png) http://quantumeventgames.com/images/stories/products/quantumengine/1.0/gallery/qeds_replace_thumb.png (http://quantumeventgames.com/images/stories/products/quantumengine/1.0/gallery/qeds_replace.png) http://quantumeventgames.com/images/stories/products/quantumengine/1.0/gallery/qeds_find_thumb.png (http://quantumeventgames.com/images/stories/products/quantumengine/1.0/gallery/qeds_find.png) http://quantumeventgames.com/images/stories/products/quantumengine/1.0/gallery/qeds_fonteditor_thumb.png (http://quantumeventgames.com/images/stories/products/quantumengine/1.0/gallery/qeds_fonteditor.png) http://quantumeventgames.com/images/stories/products/quantumengine/1.0/gallery/qeds_spell_check_thumb.png (http://quantumeventgames.com/images/stories/products/quantumengine/1.0/gallery/qeds_spell_check.png) http://quantumeventgames.com/images/stories/products/quantumengine/1.0/gallery/qeds_about_thumb.png (http://quantumeventgames.com/images/stories/products/quantumengine/1.0/gallery/qeds_about.png)

New QEDS update (01/20/10)

Spell checking
Load additional dictionaries
Sync Editing with support for multiple regions
Code folding
Structure view
File view
Edit editor options
Edit syntax highlighting options
Close All programs
Save As (live source update)
File List sorted by .dpr | .pas | .inc
Active a project by dbl clicking on a .dpr file
F1 topic search
Display Help index
Incremental search
Goto line number
Run Font Editor from IDE
Add/Update project info (live source update)
Comment/Uncomment lines
Move line up/down

paul_nicholls
21-01-2010, 07:48 PM
WOW! you HAVE been a busy boy! LOL

Great work chief! :)

cheers,
Paul

Pyrogine
21-01-2010, 09:19 PM
Thanks!