DELTA General Discussion Topic

The Delta 2D Platforming Suite is a forthcoming powerful game creation tool. Its expansive scope and professional game engine will allow creation of almost any 2D platforming game – and best of all, it's free!

Re: DELTA General Discussion Topic

Postby Simion32 » December 13th, 2017, 1:21 pm

I can't really do that without giving away the code. Sorry.

Anyway, I'll have to do everything in a specific order so that I'm able to compile and run tests at certain key points in the rewrite.
Sage of Discovery
Bananas received 228
Posts: 2591
Joined: 2008

Re: DELTA General Discussion Topic

Postby Simion32 » December 25th, 2017, 11:48 am

Progress Update: 1/3 of Rewrite Done, LUCIDs Revised

The new rewrite of the code is at 8048 lines of code. That means I'm roughly one third of the way through it all (not all of the code has to be re-written).

-----------------------------------

LUCIDs (Logically Unique Class Identifier) have been upgraded and are now ready for integration into DELTA.

The new LUCID format includes a 40-bit timestamp, an 8-bit generate count, 16 bits of a user ID that never changes (unless the user changes it), and 128 bits of hashed unique data (it does a SHA256 then XOR's both halves together).

The unique data and timestamp, along with the other pieces of data, ensure that each LUCID is unique across all machines globally. This means that DELTA can use the LUCIDs of game files to effectively link together a game's data, no matter how many times a file gets edited.
Sage of Discovery
Bananas received 228
Posts: 2591
Joined: 2008

Re: DELTA General Discussion Topic

Postby Simion32 » January 10th, 2018, 2:50 pm

Progress Update: More of Rewrite Done

I've completed the video and rendering section of the rewrite, but the input code remains. (I can at least draw a sprite on the screen now!)

The input routines are some of the messiest that I've got. So - rather than mostly copying what's there already - I'm going to have to delve deep into the inner workings of the input to achieve a workable rewrite.

This will introduce the concept of "Player #0" that all input is sent to by default. It will remove the need for device detection at startup, and streamline the rest of the code that uses the input routines.

The input will also be retooled so that it doesn't process input events using the faulty timestamping system that's currently in use. The reason for this is that the timestamps actually occur at the time the engine reads the WM_INPUT message, meaning they are inaccurate - and the handler code is faulty as well, since certain inputs will be thrown away or ignored depending upon the timestamp.
Sage of Discovery
Bananas received 228
Posts: 2591
Joined: 2008

Re: DELTA General Discussion Topic

Postby Simion32 » February 16th, 2018, 10:06 am

Progress Update: Input Rewrite Done!!!

I've finally gotten all of the input code reworked and rewritten.

There was one major bug causing input to be skipped (This bug was in previous versions of DELTA!!). Turns out that GetRawInputBuffer() causes some of the input messages to be ignored, so I've removed that part of the input processing and I'm doing the processing one message at a time.

The input is nice and fast, responsive, and doesn't have any "missed input" bugs left over from the old code. :geek:

What's next? NitroGUI v2.0 is on the development list.
Sage of Discovery
Bananas received 228
Posts: 2591
Joined: 2008

Re: DELTA General Discussion Topic

Postby Super Luigi! » February 17th, 2018, 9:02 am

Good luck, Sir Simion32! Take your time and succeed!
Expedition Leader
Bananas received 196
Posts: 1863
Joined: 2012

Re: DELTA General Discussion Topic

Postby Simion32 » February 23rd, 2018, 11:47 am

As it turns out, ALL of the input bugs that were just fixed in the DELTA rewrite also affect the latest DKCRE release.

I won't be able to update DKCRE until NitroGUI v2.0 is done, but the bug fixes will deal with some problems that the RE interface was having.

NitroGUI v2.0 will probably take me at least one month to get going, but I'm unsure due to the complexity of the GUI code.


Hopefully I can get this rewrite done so that I can release another DELTA test demo. :geek:
Sage of Discovery
Bananas received 228
Posts: 2591
Joined: 2008

Re: DELTA General Discussion Topic

Postby Super Luigi! » February 24th, 2018, 3:41 am

No matter how long it takes, Sir Simion32, I know you can do it. Please continue to live well, succeed greatly, and be a hero to children everywhere! :banana:
Expedition Leader
Bananas received 196
Posts: 1863
Joined: 2012

Re: DELTA General Discussion Topic

Postby Simion32 » February 28th, 2018, 2:56 pm

New Input Engine Test
DELTA Game Engine v0.0.7.0 r01

This build has the newest input improvements. This prevents several glitches from happening. :geek:

There are new messages that can appear in the DebugLog.txt depending upon your configuration.

The program generates an XDQ (Delta Device Map) file upon successful program close.

**SEE BELOW FOR UPDATE**
Sage of Discovery
Bananas received 228
Posts: 2591
Joined: 2008


Re: DELTA General Discussion Topic

Postby Simion32 » March 22nd, 2018, 12:23 pm

Graphics Engine Test
DELTA Game Engine v0.0.7.0 r02

This build has font functionality working. The test is for graphics working through the Compositing Engine.

Some bugfixing work has been done on the input code, as well as a few crash prevention measures.

The percentage and FPS meters etc. are back again, now that DELTA can use fonts again.

DOWNLOAD HERE

Controls:

  • ESC key exits the program.
  • Q and W to flip the background image.
  • Keys 1 through 4 change which scale mode to use (Test, Emulator, Ratio, and Full).
  • F11 for full screen, Alt+F11 to try 800x600, and Ctrl+F11 to try 640x480. Press F11 again to exit fullscreen.
Sage of Discovery
Bananas received 228
Posts: 2591
Joined: 2008

Re: DELTA General Discussion Topic

Postby Simion32 » May 22nd, 2018, 11:23 am

Progress Update: NitroGUI v2.0 To Be Fully Scripted

I've been developing a plan for the implementation of NitroGUI v2.0, and I've come to a conclusion:

The main functionality of the interface has to be a fully scripted system!

This means that I will more easily be able to tweak, edit, and generally mess about with the GUI in DKCRE and DELTA -- including making adding interface items easier (I plan to make an editor program for NitroGUI-based interfaces... eventually!).

Another important update to the GUI plans is that there will be a separate "Game Mode" for DELTA's interface, allowing me to optimize what matters most depending on whether a game is being run inside the program. For DKCRE, this will introduce heavy optimization that can only be done with advanced "dirty rectangle" video transfers.
Sage of Discovery
Bananas received 228
Posts: 2591
Joined: 2008

Re: DELTA General Discussion Topic

Postby Simion32 » May 27th, 2018, 11:43 am

Progress Update: Main Engine Being Re-Structured

This is a quick note to let you know that the main engine (core structure) is being redesigned to make the code more organized. :geek:

Specifically, the CVideo class is being upgraded and the new CEngine will debut to take care of the engine's main game loop.

There are a few classes that aren't going to change - CInput and all of its subclasses are basically perfect, so they don't have to be redone.

As well as these adjustments, the video modes are all now locked completely to 32-bit with Double Page Flipping. Triple Flipping support has been dropped because it's not supported everywhere, and adds needless complexity. Besides that, the other two modes (Buffered modes) were removed because the game/engine will run really clunky in them - there wasn't really a reason to keep support for them!

Finally, there will be new video features that make frame skips behave properly - a frame skip shouldn't cause stuttering in the engine, it should just drop and not render to the screen. This new feature will take some significant timing voodoo to detect situations where the engine has run out of time for the current frame.
Sage of Discovery
Bananas received 228
Posts: 2591
Joined: 2008

Re: DELTA General Discussion Topic

Postby Simion32 » July 13th, 2018, 11:38 am

Progress Update: Making Progress on NitroGUI v2.0

I haven't gotten a whole lot done since my last post, but the re-structure of the main classes is COMPLETE.

I've been planning out how to go about creating the scripted NitroGUI stuff, and it's looking to be very complicated.

NitroGUI v2.0 will include a file-based script reader that can use external files to build GUI elements. This will be made up of PNG files and simple text files that describe the interface elements, as well as where to use certain interface graphics.

The best part of the plan is that I will be able to edit the layout, graphics, and behaviors of the GUI almost completely by script — and when I'm done, the work can be compiled into a special file that will hold all of the interface stuff (for internal use).

Finally, having this system use simple text files means that I can allow users to edit or create their own GUI themes!
Sage of Discovery
Bananas received 228
Posts: 2591
Joined: 2008

Previous

Return to Delta Suite

Who is online

Users browsing this forum: No registered users and 1 guest