PDA

View Full Version : quantum-engine.com



Pyrogine
08-02-2010, 07:44 AM
Quantum Eventび「 Games is pleased to announce the release of Quantum Engine v1.0.2.

Changelog:

Dedicated site at http://quantum-engine.com
Added Quantum Asteroids game example
Added code template (CTRL+J) support in the IDE (pascal only)
Added code completion (CTRL+SPACE) support in the IDE (library routines only)
Added param hint support in the IDE (library routines only)
The structure view will now allow you to navigate classes in .dpr project files.
Fixed 100% CPU usage when running EXE from IDE.
Disable/Enable certain menu options at appropriate times

Pyrogine
19-02-2010, 12:51 PM
We just got a new feature implemented that will allow you to create dynamic loadable modules (DLMs). You would simple change the filename of the {@EXENAME "filename.ext"} project directive to a .dlm extension and a DLM file will be created rather than an EXE.

Now in your main code you instantiate a TQEDLM object, call LoadFromFile to load the module into memory. You then can access the routines (CallRoutine) and classes (CreateObject, DestroyObject, CallMethod) declared in the interface section of the units in the DLM module. Cool stuff.

It is planned to have DLM support in the next build.

Pyrogine
19-02-2010, 02:25 PM
The commercial version of Quantum Engine is now available for purchase (http://quantum-engine.com/index.php?action=store;sa=view;id=1) directly from our website. Purchasing a Registered Developer (RegDev) License entitles you to:

The latest version with watermarks removed
The right to create commercial products
Priority support via email and forums
Free upgrades to the next major version
Special discount on the next major version
Access to pre-released builds
Special offers and other incentives

After your purchase you then will be able to download the registered version as well as have access to the Priority Support Forum.

paul_nicholls
21-02-2010, 05:16 AM
Hi Jarrod,
I downloaded the latest quantum engine today and the demos were neat :)

I then tried compiling the demo utils dll as a test (QuantumEngine\1.0\examples\sources\DemoUtilsDLL\D emoUtils.dpr), but it can't find the file:

QuantumEngine.pas...

where is this located?

I couldn't see it in any of the quantum engine folders I downloaded...do I have domestic blindness? LOL

cheers,
Paul

Pyrogine
21-02-2010, 01:39 PM
Hi Paul

Thanks for reporting this (issue #7 (http://quantum-engine.com/index.php?issue=7.0)).




Ahhh man... no your not blind... I forgot to include the bindings folder in the distro. Doh! Sorry about that. You download it here (http://quantum-engine.com/temp/QuantumEngine.zip).

Note: QE can not compile DemoUtils (you need Delphi) at the moment. In a future build I will add support where it can consume .DFM files and later support that will allow you to visually create them as well. Cool stuff coming down the pipe. The next release will include support for DLMs. They are DLL like files where you can dynamically load executable code into your address space at run time and then have access not only to the routines, but the classes as well. Cool stuff man, cool stuff.

Pyrogine
21-02-2010, 03:38 PM
Small bit of game footage from Quantum Asteroids demo game (WIP):
http://www.youtube.com/watch?v=Z338SAO-YOI

I'm still learning how to record and process videos so they will get better. Not sure how to embed them on this site. I added a YouTube video MOD on my site which allows embedding:
http://quantum-engine.com/index.php?page=quantum_engine

paul_nicholls
21-02-2010, 08:01 PM
Hi Paul

Thanks for reporting this (issue #7 (http://quantum-engine.com/index.php?issue=7.0)).




Ahhh man... no your not blind... I forgot to include the bindings folder in the distro. Doh! Sorry about that. You download it here (http://quantum-engine.com/temp/QuantumEngine.zip).

Note: QE can not compile DemoUtils (you need Delphi) at the moment. In a future build I will add support where it can consume .DFM files and later support that will allow you to visually create them as well. Cool stuff coming down the pipe. The next release will include support for DLMs. They are DLL like files where you can dynamically load executable code into your address space at run time and then have access not only to the routines, but the classes as well. Cool stuff man, cool stuff.


Thanks Jarrod :)

Oh, I forgot - I tried compiling one of the demos (asteroids), and it also couldn't find QEApplication.pas either :)

Sorry, I tried posting the fact last night, but I was having internet issues :(

cheers,
Paul

Pyrogine
21-02-2010, 09:23 PM
Hmmm.... that's odd. QEApplication.pas is a unit this is already "known" to the compiler so it should just be a matter of adding it the uses section. In fact all the units starting with QE (QEApplication, QEGraphics, etc) are automatically visible.

When you extract the distro are you using the same folder structure or do you copy the files to the same folder and overwrite the existing ones? If the later, try to extract to a fresh folder. Let me know.

paul_nicholls
21-02-2010, 09:33 PM
Hmmm.... that's odd. QEApplication.pas is a unit this is already "known" to the compiler so it should just be a matter of adding it the uses section. In fact all the units starting with QE (QEApplication, QEGraphics, etc) are automatically visible.

When you extract the distro are you using the same folder structure or do you copy the files to the same folder and overwrite the existing ones? If the later, try to extract to a fresh folder. Let me know.



I extracted the files to a fresh folder...

cheers,
Paul

Pyrogine
22-02-2010, 05:55 PM
Interesting. Try this:

1. Create a new empty program project
2. It should create a .dpr file with a uses section and a begin/end block
3. Compile this and let me know what happens.

Thanks

paul_nicholls
22-02-2010, 10:05 PM
I didn't find it clear, but I guess I should be doing the project creation and compiling in the Quantum IDE itself?

The new project compiles there, but not in Delphi...makes sense I guess :)

If I want to play around with the example projects source code and recompile, I need to load them into the Quantum IDE as well?

cheers,
Paul

Pyrogine
22-02-2010, 11:45 PM
Hi,

Yea the examples need to be compiled from the IDE. At a later time I plan to expose the API and supply bindings for Pascal and maybe C++. For now I'm trying to get the light-weight IDE solid and usable.

I'm gonna see if I can get binding to a .dfm working, for the next beta release.

paul_nicholls
22-02-2010, 11:48 PM
Hi,

Yea the examples need to be compiled from the IDE. At a later time I plan to expose the API and supply bindings for Pascal and maybe C++. For now I'm trying to get the light-weight IDE solid and usable.

I'm gonna see if I can get binding to a .dfm working, for the next beta release.


No worries :)

I didn't realise I needed the IDE to compile at the time, sorry for any inconvenience :)

I will have a fiddle...perhaps I will make a demo with it! ;)

cheers,
Paul

Pyrogine
23-02-2010, 12:05 AM
Cool!

Thanks

paul_nicholls
26-02-2010, 12:30 AM
Hi Jarrod,
I have to admit, there is ONE feature of your nice IDE that I miss from Delphi/Lazarus...

Typing in a class/record or similar variable, typing '.', and then getting a list of properties/methods, etc. :)

I'm not sure what that is called actually, not code completion as I once thought :)

Oh, yeah, another thing - I know I can make a blank new project in the IDE, but is there any way of making a blank Demo project without copying a sample, and deleting whole bunches of code?

cheers,
Paul

Pyrogine
26-02-2010, 01:41 AM
Hey Paul

I call these things PainPoints(tm), hehe. As I'm using the IDE and run across a feature that MUST be in there and just a pain to use without will get added to my must-do list. I found it hard to work without this too having gotten so use to it in Delphi. This is what I have working at the moment:

If you press Ctrl+Space it will bring up a code completion window (just the QE classes and methods for now), as you type it will narrow down the search. So If you type:

QE.Test then hit Ctrl+Space it will bring up a code completion list with all methods/routines with Test in it. You can then pick QE.TestCase. Now when you type ( it will then show the param hint for this method.

What I have working also is code templates. If you type:

be, then hit Ctrl+J will replace be with a begin/end block. There is a fairly complete list already. So if a code template item is at the cursor it will be replaced with the code template, if not then the list will be displayed.

I've added a dev feature to add more items in the code completion/param hint list by simply updating the list file and it will parse, skip the ones that are already formatted, format the new stuff and update the file. So to add this new method:

procedure ThisIsANewMethod(aMsg: string; aArgs: array of const);

it will parse this and update both the code completion and hints list. Now I just have to add support for new code typed into the editor. But as of now (version 1.0.2) Ctrl+J will bring up the code template list and Ctrl+Space will bring up the code completion list.

I just got support for consuming .dfm files. The next build (version 1.0.3) will have this support. Future builds will allow you to create the forms. You will be able to add this in your source:

{$DFM uOptionsForm.dfm}

The form will get added to the EXEs resource section. When a TForm instance is created with a name that matches this DFM it will be loaded in associated with the form instance. Coming will be the ability to create these forms as well. So if all goes will there will be no longer a need for the DemoUtils.dll. in the next build. Cool stuff coming.

paul_nicholls
26-02-2010, 01:46 AM
Hey Paul

I call these things PainPoints(tm), hehe. As I'm using the IDE and run across a feature that MUST be in there and just a pain to use without will get added to my must-do list. I found it hard to work without this too having gotten so use to it in Delphi. This is what I have working at the moment:

If you press Ctrl+Space it will bring up a code completion window (just the QE classes and methods for now), as you type it will narrow down the search. So If you type:

QE.Test then hit Ctrl+Space it will bring up a code completion list with all methods/routines with Test in it. You can then pick QE.TestCase. Now when you type ( it will then show the param hint for this method.

What I have working also is code templates. If you type:

be, then hit Ctrl+J will replace be with a begin/end block. There is a fairly complete list already. So if a code template item is at the cursor it will be replaced with the code template, if not then the list will be displayed.

I've added a dev feature to add more items in the code completion/param hint list by simply updating the list file and it will parse, skip the ones that are already formatted, format the new stuff and update the file. So to add this new method:

procedure ThisIsANewMethod(aMsg: string; aArgs: array of const);

it will parse this and update both the code completion and hints list. Now I just have to add support for new code typed into the editor. But as of now (version 1.0.2) Ctrl+J will bring up the code template list and Ctrl+Space will bring up the code completion list.

I just got support for consuming .dfm files. The next build (version 1.0.3) will have this support. Future builds will allow you to create the forms. You will be able to add this in your source:

{$DFM uOptionsForm.dfm}

The form will get added to the EXEs resource section. When a TForm instance is created with a name that matches this DFM it will be loaded in associated with the form instance. Coming will be the ability to create these forms as well. So if all goes will there will be no longer a need for the DemoUtils.dll. in the next build. Cool stuff coming.


Thanks Jarrod :)

cheers,
Paul

Pyrogine
26-02-2010, 02:05 AM
Oh, yeah, another thing - I know I can make a blank new project in the IDE, but is there any way of making a blank Demo project without copying a sample, and deleting whole bunches of code?

Do you mean being able to create and load code templates? Such as you coded a basic game loop that you can use over again, being able to save this to a template and when you create a new project, you can then pick this template? This is not yet possible. The next build of 1.0.3 beta will allow you to save/load your workspace (ie project groups).

One way you can get started right away is follow the examples and inherit your project from TDemoTestCase overriding the needed methods.

Let me know more about just what your looking for.

Thanks

dazappa
26-02-2010, 02:11 AM
Hi Jarrod,
I have to admit, there is ONE feature of your nice IDE that I miss from Delphi/Lazarus...

Typing in a class/record or similar variable, typing '.', and then getting a list of properties/methods, etc. :)

Paul, this is definitely possible in Lazarus.
http://i49.tinypic.com/2rr43yb.png

paul_nicholls
26-02-2010, 02:16 AM
Hi Jarrod,
I have to admit, there is ONE feature of your nice IDE that I miss from Delphi/Lazarus...

Typing in a class/record or similar variable, typing '.', and then getting a list of properties/methods, etc. :)

Paul, this is definitely possible in Lazarus.
http://i49.tinypic.com/2rr43yb.png


Thanks dazappa, but we are talking about the Quantum Engine IDE, which doesn't have this facility yet :)

cheers,
Paul

paul_nicholls
26-02-2010, 02:23 AM
Oh, yeah, another thing - I know I can make a blank new project in the IDE, but is there any way of making a blank Demo project without copying a sample, and deleting whole bunches of code?

Do you mean being able to create and load code templates? Such as you coded a basic game loop that you can use over again, being able to save this to a template and when you create a new project, you can then pick this template? This is not yet possible. The next build of 1.0.3 beta will allow you to save/load your workspace (ie project groups).

One way you can get started right away is follow the examples and inherit your project from TDemoTestCase overriding the needed methods.

Let me know more about just what your looking for.

Thanks



I guess I wasn't thinking of templates, but an addition to the new... file options - a blank demo project.

This would create a bare bones demo class unit which is used by the blank demo project, and is run using the usual run demo command.

here is an example blank demo that might have been created:


{================================================= ==============================
Quantum Engineび「 - Advanced 2D Game Engine for Windowsャニ PC
Copyright ャゥ 2009-2010 Quantum Eventび「 Games
All Rights Reserved.

email : quantumengine@quantumeventgames.com
website: http://quantum-engine.com

See LICENSE.TXT for license information.
-------------------------------------------------------------------------------

================================================== =============================}

{@PROJECTINFO START}
{@EXENAME "UntitledDemo.exe"}
{@EXETYPE CONSOLE}
{@EXEICON "..\Resources\QuantumEngine.ico"}
{@BUILDALLUNITS No}
{@USERUNTIMEPACKAGES No}
{@ADDVERSIONINFO YES}
{@INCBUILDNUM NO}
{@VICOMPANYNAME "Quantum Eventび「 Games"}
{@VIFILEVERSION 1.0.0.0}
{@VIFILEDESCRIPTION "UntitledDemo Demo"}
{@VIINTERNALNAME "UntitledDemo Demo"}
{@VILEGALCOPYRIGHT "Copyright ャゥ 2009-2010, Quantum Event Games"}
{@VILEGALTRADEMARKS "All Rights Reserved."}
{@VIORIGINALFILENAME "UntitledDemo.exe"}
{@VIPRODUCTNAME "UntitledDemo Demo"}
{@VIPRODUCTVERSION 1.0.0.0}
{@VICOMMENTS "http://quantumeventgames.com"}
{@PROJECTINFO END}

program TileGame;

uses
SysUtils,
QEApplication,
QEActor,
QEAudio,
QEFonts,
QEGame,
QEGraphics,
QEInput,
QEMath,
QEResources,
QETestCase,
QEUI,
QEUtils,
uUntitledDemoUnit;

begin
// add your code here
QE.RunTestCase(TUntitledDemoClass);
end.



In the uUntitledDemoUnit there would be a TUntitledDemoClass with the bare bones overridden methods so you can then add to it.

Notice the UntitledDemo has also been added to the top of the .dpr file...
:)

I hope this is clearer?

templates sound neat too though...LOL :)

cheers,
Paul

dazappa
26-02-2010, 02:31 AM
Ah, I misread. I read that as "Quantum has this feature, I wish Lazarus did".

The quantum engine looks interesting, but I'm still wondering if it has any advantage over existing engines/libraries (Specifically, Andorra and SDL as those are two I've worked with).

Pyrogine
26-02-2010, 02:37 AM
Ahhh... I see what your saying. Cool, yea I can do this. Great idea. Let me see if I an get this working.

paul_nicholls
26-02-2010, 02:38 AM
Ahhh... I see what your saying. Cool, yea I can do this. Great idea. Let me see if I an get this working.


Great! you da man! :)

cheers,
Paul

Pyrogine
26-02-2010, 02:51 AM
@dazappa

I can only speak for my own product, I've not used the ones you have mentioned. QE has been in continual development the past 7 years. I've used it for all of my personal and shareware projects. It's has grown past just being a library but now can create stand alone 32 bit EXEs. I'm working on an IDE which will eventually include a form designer and other game designers and editors. There is support for local and remote databases, audio engine that supports a variety of audio format, can read in a variety of image formats, etc. Lots of great features in there that I've come to need for my own development needs over the years. It really has a lot of great features. I just need to do more to show case them and I will in the coming weeks. At the moment it's only for Windows PC, but I have an eye for cross platform support down the line.

QE may not be for you depending on your own unique needs. Maybe it will. All I can see is give it a try and judge for yourself. If you have questions/concerns or anything that I can help you with feel free to contact me.

paul_nicholls
27-02-2010, 02:58 AM
Hi all,
I have been fiddling with the Quantum Engine and trying to create a demo - sort of a boulder dash clone with some extra elements in it.

Here is a screenshot:

http://img514.imageshack.us/img514/1052/tilegame.png

It doesn't do anything yet, but I'm pleased with the fact that I have gotten the Quantum Engine to do something LOL

cheers,
Paul

Pyrogine
27-02-2010, 05:41 AM
Paul, SWEET!

Glad to see your making progress. I plan to release a new beta build this weekend which will fix a lot of reported errors and add some new features.

BTW I got your request for a blank demo project in and working. Now it can consume .dfm files. Just add {$DFM filename.dfm} in the source. Now, the OptionsForm is now compiled into the EXE rather than having to have rely on the DemoUtils.dll. In a future build you will be able to created the form from within the IDE.

The last major addition to round out the next release will be dynamic loadable modules. Create a new project and set the EXENAME to be a .dlm extension and a DLM will be created. They are DLL like files that can be loaded at run time.

paul_nicholls
27-02-2010, 08:43 AM
Paul, SWEET!

Glad to see your making progress. I plan to release a new beta build this weekend which will fix a lot of reported errors and add some new features.

BTW I got your request for a blank demo project in and working. Now it can consume .dfm files. Just add {$DFM filename.dfm} in the source. Now, the OptionsForm is now compiled into the EXE rather than having to have rely on the DemoUtils.dll. In a future build you will be able to created the form from within the IDE.

The last major addition to round out the next release will be dynamic loadable modules. Create a new project and set the EXENAME to be a .dlm extension and a DLM will be created. They are DLL like files that can be loaded at run time.


Nice! Good work :)

I'm looking forward to being able to do the record types hopefully without error LOL

That is making my program less easy/efficient than it could be :)

cheers,
Paul

pstudio
27-02-2010, 05:35 PM
Hi Jarrod,
I took a quick look at QE and it surely does look interesting. Seems very powerfull for 2D games.

However I do have one request/suggestion. Do some documenting! ;)
For instance, if we look at the documentation for the class TQEActor, the description: "This is class TQEActor" doesn't add much new information. Sure I can guess from the name of classes and members what they do, but it would all be easier with some documentation from the author.

Just a friendly advise.
Keep up the god work.

Pyrogine
27-02-2010, 09:25 PM
@pstudio

Thanks and you are correct. There has to be completed docs and it's on my to-do list. There is so much "stuff" in QE that the doc project will be HUGE. I may have to hire someone to help out with it. But for sure I'm working on it.

paul_nicholls
01-03-2010, 02:53 AM
In my Quantum Engine boulder dash type game demo, I have now got a character that moves around on the screen, and rocks and gems that now fall in the same boulder dash way...yay!!

rocks and gems falling:
http://img690.imageshack.us/img690/5696/tilegame1.png

after rocks and gems have fallen:
http://img246.imageshack.us/img246/197/tilegame2.png

PS. I have been getting all my boulder dash information (algorithms, etc.) from here:
http://www.elmerproductions.com/sp/peterb/

Specifically like these parts (boulder information):
http://www.elmerproductions.com/sp/peterb/BDCFF/objects/0000.html

cheers,
Paul

Pyrogine
01-03-2010, 03:14 AM
Wow! Looking good Paul. Code on dude! 8) Also thanks for the BD info, good to know.

Brainer
01-03-2010, 03:33 PM
Woah, that's impressive, Paul. :) Seems that Quantum Engine really has potential!

paul_nicholls
02-03-2010, 10:37 AM
I'm not impressed...I was having troubles compiling my program for some reason so I backed up my sources and started afresh.

Unfortunately, I forgot to back up my graphic tiles...now I have to rebuild it from the screenshots...D'OH!

Stupid!! :(

cheers,
Paul