Gen7 Engine Status Quo

Gen7 Engine Status Quo
or Conclusions and Roadmap

View attachment 197379


Long time no see! Gen7 Engine development became more discreet and subdued with the passage of time, but be sure it's still being worked on. It's just that time being more and more rare I didn't yet had the occasion to provide updates in a frequent manner, and didn't released the new version (Gen7.2) yet on GBAtemp despite being ready for now 5 months so I wanted to make a point on the progress here.
Have a good read!


First part: Current shortcomings
1. Current UI system

Gen7 Engine's base UI system is totally managed locally, in opposition of system and other programs, the only thing the system gets are WebGL calls like a game where all the interface elements are made in sprites and not system calls to draw an UI which is way easier to implement but the drawback is that it gets entitled to a predefined system. The "multiplatform engine for multiplatform" approach or whatever you would call makes it de facto incompatible with that way to design the stuff.
Currently, the engine's UI is implemented in an absolute view manner, making it unadapted for any other default screen size differences.


The different elements position are calculated on a relative basis to the window start anchor, so everything is fixed to it and can't be resized easily. It has been like this since the first version, and that's why too I have to use black bars for borders instead of a proper scaling.
It's a priority point to change that to a relative framing system, where all the UI subelements rescale and position themselves depending of the colateral elements, like this:
View attachment 197373

Here, all the elements are treated independently, each group calculates its own position compared to the window start anchor (eg. from the parent position) then creates its own local position system based on its own anchor, so each group can be moved without breaking other as they'll not be anymore linked each other. That will allow the UI to be rescaled to the user's needs, and be adapted for mobile type screens where the ratio is not always the standard 16:9 or new 21:9 monitors for example.


2.Global submodules restructuration to an API approach

This is a global conclusion of what's currently happening in Gen7 Engine, everything is way too linked each other and not only the UI but the submodules too. In this scope, the submodules are the functionnal parts that drives the core and the features, for example the animation support driver, the compilation driver, etc... Currently, every submodule call another one if needed, without being managed by any system:
View attachment 197378

The problem of this present approach is that the code can't be maintained easily, as if when working on one submodule that calls multiple something gets broken on this link, the problem can affect the other submodule that firstly make it a lot less efficient to maintain, and moreover a lot less bugproof than a structured approach where a submodule manages all the relations. Other reason is in this current approach, plugins for their functionnality have to themselves too call other submodules, so currently they run in a kind of sandboxed environnement where Gen7's Engine interpret plugins to then transcribe it using a wrapper to the local submodules needed. That makes plugins quite limited on extensibility possibilities.
This is a large bottleneck for further developments; so that's why I have started to restructure all the submodules operation through a whole revamped system, like illustrated on this diagram:
View attachment 197376

Everything is more structured this way, not like the anarchy previously. In that new approach, all the submodules are linked between by a manager module: that module redirect calls, and debug them if needed. The plugins can now access all the engine, and most of all is in case of a faulty submodule, all the other ones can continue their execution not like with the current system when it simply causes the full engine to crash. Life saved.


Second part: Conclusions
Plans for the future

After the multiple releases, I have noticed that the engine target is simply not adapted to the aspirations of the homebrew developers. Most of that people can't firstly afford to pay monthly for a tool they're not sure it'll bring their ideas to life, and also because it has entered a vicious circle where developers want examples of projects made on Gen7, but so developers do not want to make examples of projects if there're none already. And I prefer to spend that time developing more the engine than to do large example which at end relies to the same base already present as small examples. And it's not a sustainable niche because you literally don't have any anchor points to stand on.
Gen7 Engine will be so remarketed at new audiences, and so I've started to communicate with potential investors and some gamedev actors such as ID@Xbox and Nintendo but I can't say more about it for now :P And a new Gen7 version is being developed for quantum computational systems (as Gen7 Quantum) to be able to develop visually programs using quantum gates, as it's a technology getting an incredible expansion like Microsoft's new Quantum Development Kit which it's relying on, and quantum simulators. The way of designing quantum programs is totally different to the classic programming scheme, so it's very interesting to assist that changement with a visual engine.
Also, Gen7 Engine now supports the Pride movement, as an equality and everyone's choices liberty vector in today's society :)

Conclusion: Gen7 Engine a success so far?

A success yes, a great one no. For now, Gen7 Engine generated ~250€ of direct revenues (Patreon, etc), and 1.5k€ in indirect. In few words, I've seen more rentable so it is more a mitigated success. From start, I have focused on a niche of potential users so the result should have been more expected. However most of these revenues being reinjected in investment, I am pretty confident Gen7 didn't reached yet its best point of deployment.
Being involved in my own business that really has achieved an unexpected growth this year (something I am very happy of!) due to multiple factors and in another one with a friend in funding phase, my free time dedicated for Gen7 have really ran out making very difficult to deploy efficient plans for it whereas already having safer values to invest on, and engagements to meet. The development for sure will continue, but the problem is that I'm developing it alone, so if you can help please let me know. Meanwhile, the release of Gen7.2 is coming soon here!

Real Conclusion:
Can't back to the default font size after changing it manually so it needs to be fixed, and it's smaller than its PC counterpart.
Brownies are better than cookies.
And visit the new Gen7's website that got its own domain on gen7engine.com !
  • Like
Reactions: 1 person

Comments

There are no comments to display.

Blog entry information

Author
iyenal
Views
139
Last update

More entries in Personal Blogs

More entries from iyenal

General chit-chat
Help Users
    K3Nv2 @ K3Nv2: Hide your family grandpa's not even safe +1