Wade in 2021
krumza

Hi gio, as usual I scored on all projects on wade, because the main work is eating all my time.

But what I would like to talk about is modern technology.

As far as I understand, the first versions of the engine for production appeared in 2013 (judging by the posts on the game dev forum). But a lot has changed since then. The role of bundles, builders, frameworks, typing, and other things has increased. More attention is paid to architecture and runtime. The role of the webassembly and webworker is actively developing.

Wade is perfect for many things. If you need to quickly do something in the visual environment-there are no analogues. But at the same time, if we are talking about a large project, we will just come to a bunch of files without dependency (but this affects basically any library, the same phaser). I certainly do not claim that I am a super programmer, on the contrary, even, but nevertheless.

Sometimes you just really want to have something like an angular: architectural solutions, life cycles, reactivity. But this, alas, is not the case.

Just because of the lack of these features theoretically many users are missed.

Yes, someone will come in and try the visual editor, even make some crafts. But no more than that. guys, only your Studio on w makes big projects. Maybe I just can't find a "silver bullet" to organize the code, but usually I get a bunch of files for various kinds of ui managers, character, saves, etc. and a bunch of files with scenes via

wade.newScene = function(){}

of course, the MVC architecture is hardly applicable here, but nevertheless.

I'm getting to the point where it's probably time? The pixi has been using rollup for a long time.js and all es6 features.

No one else has a visual editor except you. But in principle no one has a solution for the application architecture and in combination with a visual editor it will become just a killer feature

I'm not talking about canceling what is-I think what is should only be an option for those who want to work with es5

In General I already wildly want to fork your engine to add:

  • eslint & rollup (maybe webpack)
  • recycle all deprecated parts
  • rewrite everything in typescript for type-safe code and transpiling
  • redesign the core using the latest es6 features
  • separate the render logic from the game logic  
  • implement classes with their own life cycles by analogy with angular (or another framework)
  • internationalization-in-a-box

more advanced -

  • create a cli ecosystem like angular schematic
All 4 Comments
Gio

Hey Krumza

I completely agree with you, a lot has changed since 2013. Wade is still a very good option for many things, especially quick prototypes. But it does not take advantage of all the modern JS features that are really useful for organizing larger projects.

I have been thinking about rewriting it for some time, using all the latest tech. It's not just the core engine, the visual editor too was done a long time ago (it's all jQuery based), before things like React even existed. It would certainly benefit from being rewritten in a modern framework. It would be a big job, but the result would probably be very useful.

As for the core engine, all the new JS features would make it possible to change the architecture significantly. So much so, that I think it should not be called Wade, but something else - it'd be a very different engine after all.

I do have some ideas on how to use all the modern tech to make it awesome, in fact I've already got a rough sketch of the architecture and principles that I'd like to use, and I want to at least start doing it in the next couple of months. Probably as a more traditional open-source project on GitHub. If you (or anyone else reading this) would like to contribute, please do get in touch by sending me a private message.

coal

Hi, Gio!

 

Maybe you've heard, that WebGPU is next generation for WebGL and WebGL2. It produces full abstraction level with less code. Currently it is in development. It will support Vulkan, Dx12 and new common shader language WGSL. May be this information will be useful and maybe you'll want to migrate on it.

Gio

Hi

Thanks for the suggestion! It's something that we are considering. At the moment it looks like it's still a bit too early to use WebGPU, but eventually it's something that will be worth doing.

coal

I'd have a look at WebGPU and found that it already works. Please, watch that demo-compare of WebGL2 and WebGPU. What a difference in speed! (you can move there by mouse and keys)

https://toji.github.io/webgpu-clustered-shading/

and here is some webGPU official samples (include compute shaders) http://austin-eng.com/webgpu-samples/samples/computeBoids?wgsl=1

 

P.S. I just want to share news and admiration on new technology with you ;)

 

P.P.S demos works in Chrome Canary with "Unsafe WebGPU" in chrome://flags/

Post a reply
Add Attachment
Submit Reply
Login to Reply