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 238
Posts: 2640
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 238
Posts: 2640
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 238
Posts: 2640
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 238
Posts: 2640
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!
Sage of Discovery
Bananas received 210
Posts: 2076
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 238
Posts: 2640
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:
Sage of Discovery
Bananas received 210
Posts: 2076
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 238
Posts: 2640
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 238
Posts: 2640
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 238
Posts: 2640
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 238
Posts: 2640
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 238
Posts: 2640
Joined: 2008

Re: DELTA General Discussion Topic

Postby Simion32 » October 31st, 2018, 11:29 am

Progress Update: Delays!!

A short update for those who don't get on the Atlas chat:

I kind of have to apologize for DELTA being delayed so significantly.
I simply haven't had the time to get much done.

NitroGUI v2.0 is the next big step, and even then, it's not the final piece to the puzzle.
But if I don't get NGUI v2.0 done, there wouldn't even be an interface in the first place, so....

I'm basically stuck in the planning phases until I manage to get things right. :x
Sage of Discovery
Bananas received 238
Posts: 2640
Joined: 2008

Re: DELTA General Discussion Topic

Postby Simion32 » November 22nd, 2018, 10:58 am

Basic Rendering Engine Test
DELTA Game Engine v0.0.7.0 r07

This is a basic test of the windowing and rendering systems. It has a very fancy scaling engine implemented. All window coordinates are remembered, and the windowing system already has fullscreen mode support.

The rotating banana image has become a key test file. You will see the KPX (graphics file) loader system also working here.
DELTA manually loads some PNGs from the ExDat folder and assembles them into Banana.KPX in the Files folder.

Finally, there are numerous tests of the rendering engine that you can control using the keys below.

DOWNLOAD HERE

Controls:

  • ESC key exits the program.
  • G key tests the GUI rendering mode (hold down to test).
  • H and J keys swap the video scale mode (it starts in mode #0, equivalent to pressing the J key).
  • Space key flips the animation horizontally.
  • F11 for full screen. Press F11 again (or click the restore box) to exit fullscreen.
  • The window can be resized using the mouse!! (just make sure the window is focused first)
Sage of Discovery
Bananas received 238
Posts: 2640
Joined: 2008

Re: DELTA General Discussion Topic

Postby Simion32 » March 6th, 2019, 1:52 pm

Progress Update: More Delays!?

Development is now at a full halt.

There are some things in life that I have to take care of, so I won't be able to develop on DELTA until those things are done.

This could take a month, or maybe longer. :x

Where I'm actually at in development:
Presently, I have the file gatherer and the tokenizer done for the NitroGUI script reader system, but the logic code and anything relating to actual GUI elements doesn't exist yet. So it can load in the files and it can separate out the GUI commands, but it can't do anything with those commands yet.
Sage of Discovery
Bananas received 238
Posts: 2640
Joined: 2008

Re: DELTA General Discussion Topic

Postby Super Luigi! » March 10th, 2019, 1:34 pm

Super Luigi! wrote: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:


The file gatherer and tokenizer certainly sound interesting, Sir Simion32, and I eagerly await your next update. Focus on your life, and then return to DELTA when you can. Eventually, we shall both succeed.
Sage of Discovery
Bananas received 210
Posts: 2076
Joined: 2012

Re: DELTA General Discussion Topic

Postby Simion32 » May 30th, 2019, 10:46 am

Progress Update: NitroGUI v2.0 is Officially Underway

Development Resumes!!

I'm getting back into the swing of things with some nifty interface code that will allow me to build an editor for NitroGUI interfaces, which I call NitroSmith.

But this time, the code is so generic that I should be able to skip over a lot of the complexity that the first version of NitroGUI introduced. At the same time, there will be enormous complexity in the "behaviors" part of the code -- I have to cover for text editing, number editing, scroll bars, and a ton of other smaller things like button states and blah blah blah.

It will take some time before I have a demo or anything that can be shown for progress. :bunch-tf:
Sage of Discovery
Bananas received 238
Posts: 2640
Joined: 2008

Re: DELTA General Discussion Topic

Postby Simion32 » July 19th, 2019, 5:34 am

Progress Update: The new scripting format!!

Say hello to a new NitroGUI script format, called DTML!!

This new format mimics the look and feel of HTML, but instead has its own specialized tags and behaviors that are specific to NitroGUI. Instead of using straight-up HTML with CSS, this format does not include any style/formatting system, and all the layouts are done through one scripting format.

Among other features, this new way of building GUI elements will allow users to script their own "object properties" dialogs for the DELTA editor. :geek:

Among the tags I have designed so far, we have:
<var> (deals with variables that are set for each control)
<table> (does a table layout, always borderless)
<div> (used for grouping or organizing controls)
<button> (this one is highly customizable and deals with button states. It can even be set up to handle "tabs".)
<img>
...and there are more to come, but that's all I have designed so far.


And keep in mind that none of this has any interpreter code done yet. I'm not done with the planning stage quite yet. ;)
Sage of Discovery
Bananas received 238
Posts: 2640
Joined: 2008

Re: DELTA General Discussion Topic

Postby Super Luigi! » July 19th, 2019, 1:22 pm

Well done, Simion32. I'm glad to hear of your progress. Thank you for continuing to create this colossal contraption.
Sage of Discovery
Bananas received 210
Posts: 2076
Joined: 2012

Re: DELTA General Discussion Topic

Postby Simion32 » August 4th, 2019, 4:41 am

Progress Update: DTML Plans COMPLETED!!

This is just an update post to let you guys know -- I've completed the plans for the DTML scripts and I'm currently working on making the interpreter and GUI code.

This part could take a while, seeing as how there is dynamic complexity in each script tag. :ugeek:

*crosses fingers*
Sage of Discovery
Bananas received 238
Posts: 2640
Joined: 2008

Re: DELTA General Discussion Topic

Postby Simion32 » August 9th, 2019, 3:38 am

Progress Update: DTML Loader Underway

Another micro-update! As of the time of this post, I have completed 4 stages of the DTML loader (there are several more stages left to code).

Things are going much more smoothly than I thought. B/

Oh, and one more thing. My busy "greenhouse" time is over for the year, meaning I'll have much more time to devote to coding DELTA. ;)
Sage of Discovery
Bananas received 238
Posts: 2640
Joined: 2008

Re: DELTA General Discussion Topic

Postby Super Luigi! » August 10th, 2019, 1:39 am

Keep going strong, Simion32. I'm glad your progress is progressing progressively, and I wish you the best with your continued success.
Sage of Discovery
Bananas received 210
Posts: 2076
Joined: 2012

Re: DELTA General Discussion Topic

Postby Simion32 » August 18th, 2019, 9:09 am

Progress Update: DTML Being Coded and Debugged

I've made quite a bit more progress, but there are still at least 3 stages and a bunch of control-specific code fragments left before I can call NitroGUI v2.0 finished.

There is especially an ENORMOUS amount of work left to do on the controls themselves. Some of them even require custom rendering. :ugeek:

Attached is a preview of me working with the file opener dialog (a test script).

Spoiler!
ngui_progress_20190817_simion32.png
Sage of Discovery
Bananas received 238
Posts: 2640
Joined: 2008

Re: DELTA General Discussion Topic

Postby Simion32 » August 23rd, 2019, 4:42 am

Progress Update: More Progress on NitroGUI v2.0

I've gotten more of the GUI stuff done, including nested checkbox trees and font (text) rendering modes. I also have a very clever events system working.

The next step is to implement the File Viewer, Folder Drill-Down, and File Types Picker, and do code for the Path and File text boxes as well (right now they don't allow to edit the text or anything).

This is going to be a massive "code grafting" effort that will take me a few days to complete. B/

Here's the obligatory development screenshot:

Spoiler!
ngui_progress_20190822_simion32.png
Sage of Discovery
Bananas received 238
Posts: 2640
Joined: 2008

Re: DELTA General Discussion Topic

Postby Simion32 » August 26th, 2019, 9:19 am

Progress Update: Menus and Toolbars!!

I've taken a different route and the last few days have been spent on getting the menu and toolbar systems working.

They are mostly COMPLETE as of the time of this post.

DTML is a drastically more versatile system compared to the old hard-coded NitroGUI v1.0 -- and I'm having a blast coding v2.0, to be sure.

There isn't quite as much code on the whole, seeing as the two main classes cover the majority of the GUI functionality.
It will be really easy to add in the drawing optimizations because the drawing code is extremely short (but powerful!).

I won't be plugging screenshots all the time, but I wanted to post an update anyway. ;)


Oh, and by the way, I've been keeping a full development log since August 19th. :swanky:
Sage of Discovery
Bananas received 238
Posts: 2640
Joined: 2008

Re: DELTA General Discussion Topic

Postby Simion32 » September 2nd, 2019, 7:44 am

Progress Update: Listboxes, Dropdowns, Scrollbars, Tabs, and More!!

I've been making steady progress on NitroGUI v2.0, and I've just now completed implementation and testing on the Tab controls. :geek:

Although the performance of the GUI is abysmal right now, I've got some optimizations lined up for some code that I'll add later on. Effectively, right now, the GUI just draws everything each frame, which takes up an enormous amount of usage.

To complicate things further, there is some kind of DirectX feature (or bug?) that causes the usage percentage to roughly double for no reason at all after the program has run for a good handful of seconds. I'll be surprised if I ever figure out what causes this.

Oh, and... all of those pesky input bugs have bitten the dust since the last CInput rewrite, and I've not had a single missed input since then. Consider the input HEAVILY tested and proven to work. :funky:

Controls Done: 36 (of about 50)
Sage of Discovery
Bananas received 238
Posts: 2640
Joined: 2008

Re: DELTA General Discussion Topic

Postby Simion32 » September 9th, 2019, 7:58 am

Progress Update: Here Comes the Open/Save Dialog!!

I've completed work on a handful more of the controls that will be required for me to successfully complete NitroGUI v2.0, and things are looking good from a development perspective. I've gotten Tool Panels working properly, and added several more simple controls like the Trackbar and Progress Bar.

However, I have 5 controls left, and these will be the most difficult of all the controls. They are the "big 5" that make up the functionality of the file open/save dialogs that I worked so hard on when trying to update DKCRE way back. I literally have multiple thousands of lines of code to review and redo in a dynamic fashion that will be compatible with v2.0 -- this is NOT going to be easy, at all.

I have some neat plans that will springboard my development as soon as I complete all of these controls, so I won't be bogged down by a lack of planning. ;)

Controls Done: 45 (of 50)
Sage of Discovery
Bananas received 238
Posts: 2640
Joined: 2008


Previous

Return to Delta Suite

Who is online

Users browsing this forum: No registered users and 2 guests

cron