Page 1 of 3 123 LastLast
Results 1 to 10 of 22

Thread: Quantum Engine

  1. #1

    Quantum Engine

    Hi,

    I've been working on the next generation of our game engine to be used for a few upcoming game projects. The core code is normally inside a standard win32 DLL. I've been thinking about the possibility to statically link this into your main exe. After many GPFs, AVs, blue screens and system reboots, I think I got something working. So, now you just include QuantumEngine.pas in your uses section and everything gets linked in nice and neat.

    One problem I just discovered this morning (and hopefully fixed) was an issue with DirectInput. I would like to get a little feedback and see if anyone else has any issues. This would help me out a great deal and thanks in advance.

    • [+]Download.
      [+]There is a qetestbed.exe you can run right away
      [+]There is a qetestbed.dpr you can use to compile the qetestbed project
      [+]It should all just work

    [+]I should be able to get it working in FreePascal/Lazarus as well.
    [br]Thanks.

    Jarrod Davis
    Technical Director @ Piradyne Games

  2. #2

    Re: Quantum Engine

    Getting a virus warning from Nod32: Newheur_PE virus
    Amnoxx

    Oh, and this code appears to be an approximate replacement for return(random() & 0x01);

    Phoenix Wiki
    http://www.phoenixlib.net/

    Phoenix Forum
    http://www.pascalgamedevelopment.com/viewforum.php?f=71

  3. #3

    Re: Quantum Engine

    Quote Originally Posted by JDS
    Hi,

    I've been working on the next generation of our game engine to be used for a few upcoming game projects. The core code is normally inside a standard win32 DLL. I've been thinking about the possibility to statically link this into your main exe. After many GPFs, AVs, blue screens and system reboots, I think I got something working. So, now you just include QuantumEngine.pas in your uses section and everything gets linked in nice and neat.

    One problem I just discovered this morning (and hopefully fixed) was an issue with DirectInput. I would like to get a little feedback and see if anyone else has any issues. This would help me out a great deal and thanks in advance.

    • [+]Download.
      [+]There is a qetestbed.exe you can run right away
      [+]There is a qetestbed.dpr you can use to compile the qetestbed project
      [+]It should all just work

    [+]I should be able to get it working in FreePascal/Lazarus as well.
    [br]Thanks.

    Hi JDS, I downloaded it and unzipped the main archive ok...but when I tried to unzip the media.zip file it wants a password...

    cheers,
    Paul

  4. #4

    Re: Quantum Engine

    @Andreaz
    Ouch! Are you getting it on the zip or the compiled exe? That is very interesting. I do a local scan of all files that go out just to try and make sure that does not happen, heh. I'm currently using the very latest version of Avast. Thanks for the heads up.

    @paul_nicholls
    The Media.zip file is the resource file used by the examples. You should just be able to run QETestbed.exe and they will open and read what they need. This also showcases the new password protection feature I added. If you want to open the archive manually you can get the password from uCommon.pas

    I just uploaded a new build:
    • [+]Download.
      [+]Added support for Lazarus (tested with Laz 0.9.26.2/FPC 2.2.2).
      [+]Organized the distro folder layout.

    [br]Thanks
    Jarrod Davis
    Technical Director @ Piradyne Games

  5. #5

    Re: Quantum Engine

    Quote Originally Posted by JDS
    @Andreaz
    Ouch! Are you getting it on the zip or the compiled exe? That is very interesting. I do a local scan of all files that go out just to try and make sure that does not happen, heh. I'm currently using the very latest version of Avast. Thanks for the heads up.

    @paul_nicholls
    The Media.zip file is the resource file used by the examples. You should just be able to run QETestbed.exe and they will open and read what they need. This also showcases the new password protection feature I added. If you want to open the archive manually you can get the password from uCommon.pas

    I just uploaded a new build:
    • [+]Download.
      [+]Added support for Lazarus (tested with Laz 0.9.26.2/FPC 2.2.2).
      [+]Organized the distro folder layout.

    [br]Thanks
    Ahh...thanks for the info

    cheers,
    Paul

  6. #6

    Re: Quantum Engine

    Hi Jarrod,
    i use a similar code, but i replaced the binary tree with an array and linear search

    reasons:
    * the exports pointers are only searched once, the faster search of the binary tree is unnecessary
    * you can avoid lot of heap memory allocations
    * insertion is faster
    * code is much simpler
    * if you need searching speed you can sort the array after inserting the exports and use a binary search instead of the linear search

    what do you think?

    ps: i love to talk about optimizations =P
    From brazil (:

    Pascal pownz!

  7. #7

    Re: Quantum Engine

    @paul_nicholls
    No prob. Now there can be at least some level of protection for your assets. Use a long password such as a GUID. The TQEVirtualFile class allows transparent use of files on disk and zip archives. Heh, while I'm on the subject, you can even stream music in real-time from a zip archive. See the streaming example. I was really surprised when this just worked and so far no major issues. So even your streaming music can be protected if you want.

    @arthurprs
    This sounds wonderful. I would be interesting to see how that code can be optimized. The current dll loader bugs me a little because it feels way too complicated. I wanted to get it at least working (phew, talk about reboot hell) and make sure the engine would still run properly. What you pointed out sounds very good indeed. So yea hit me up and we can talk optimization. Thanks. BTW, I would be interested in a faster way to draw filled and non-filled circles/ellipses. My current code works, but it's a bit slow.
    Jarrod Davis
    Technical Director @ Piradyne Games

  8. #8

    Re: Quantum Engine

    I'm starting to work on the documentation now. I've made a small sample using the format I plan to use for the 300+ routines and classes that make up the framework (phew, what a task ahead). I would like to get a little feedback to see if the format is adequate.

    • [+]Download (.chm)
      [+]I plan to have .chm version included in the distro
      [+]I plan to have an online version accessible from the website

    [br]Thanks
    Jarrod Davis
    Technical Director @ Piradyne Games

  9. #9

    Re: Quantum Engine

    Quote Originally Posted by JDS
    @Andreaz
    Ouch! Are you getting it on the zip or the compiled exe? That is very interesting. I do a local scan of all files that go out just to try and make sure that does not happen, heh. I'm currently using the very latest version of Avast. Thanks for the heads up.
    The strange thing is that i get it on the zip itself, could you try uploading it as rar or 7z?
    Amnoxx

    Oh, and this code appears to be an approximate replacement for return(random() & 0x01);

    Phoenix Wiki
    http://www.phoenixlib.net/

    Phoenix Forum
    http://www.pascalgamedevelopment.com/viewforum.php?f=71

  10. #10

    Re: Quantum Engine

    @Andreaz
    Hmm, I see. Very interesting. Ok you got it, I've now uploaded a .rar version also.

    New distro uploaded:

    • [+]Download (zip | rar)
      [+]Includes the sample .chm help file. You can view the Object section to see format I plan to use.
      [+]Feedback appreciated.

    [br]Thanks
    Jarrod Davis
    Technical Director @ Piradyne Games

Page 1 of 3 123 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
  •