Page 1 of 2 12 LastLast
Results 1 to 10 of 16

Thread: Quantum Engine v1.0.0.25

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. #1

    Quantum Engine v1.0.0.25

    Download

    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:

    [code=delphi]// 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.[/code]

    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:

    [code=javascript]// javascript main
    uses Forms, MyPascalUnit in "MyPascalUnit.pas"
    [/code]
    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
    Jarrod Davis
    Technical Director @ Piradyne Games

  2. #2

    Re: Quantum Engine v1.0.0.25

    A light-weight IDE is in the works.

    Jarrod Davis
    Technical Director @ Piradyne Games

  3. #3

    Re: Quantum Engine v1.0.0.25

    Let's take a look
    From brazil (:

    Pascal pownz!

  4. #4

    Re: Quantum Engine v1.0.0.25

    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.

    Jarrod Davis
    Technical Director @ Piradyne Games

  5. #5

    Re: Quantum Engine v1.0.0.25

    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 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 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.
    Jarrod Davis
    Technical Director @ Piradyne Games

  6. #6

    Re: Quantum Engine v1.0.0.25

    Hi Jarrod, nice work BTW

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

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

    cheers,
    Paul

  7. #7

    Re: Quantum Engine v1.0.0.25

    Fixed, thanks very much Paul.
    Jarrod Davis
    Technical Director @ Piradyne Games

  8. #8

    Re: Quantum Engine v1.0.0.25

    An excellent product, well done Jarrod.

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

  9. #9

    Re: Quantum Engine v1.0.0.25

    @bigsofty

    Thanks.
    Jarrod Davis
    Technical Director @ Piradyne Games

  10. #10

    Re: Quantum Engine v1.0.0.25

    New QEDS update (01/10/10)



    • 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.
    Jarrod Davis
    Technical Director @ Piradyne Games

Page 1 of 2 12 LastLast

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •