As I told in my last post in WA Editor Updates topic, we are currently working on remaking WA Editor in C# or WASharp.
Basically, the whole intention is to port the game to another engine and also make it cross-platform. Now some of you might be wandering what the heck is C# remake, what's the point in porting to C#, till when it will be done, etc. Don't worry, be patient, here I have put forward some of the questions that you all might be having.
Q1. What the heck is C# remake?
Actually you know Blitz3D is quite old and alien technology, it is very very difficult and too old as of 2020.
Therefore, our original idea is to update the codebase to a programming language which is best suited as per modern standards and features.
We also need to update the 3D engine to something modern and cross-platform, like OpenGL.
Q2. Why you selected C# for porting Wonderland
Now there might be another question related to this in minds of C++ programmers: why not C++? Well indeed, C++ is fast and low-level, it will really make the game nice performing. However, the main problem is about time, resources and people helping. Going with C++ will require lots of time, resources, helpers and dealing with lots of trouble including rendering, delta time, memory managment etc
There are currently 1 or 2 people only involved in the remake. For such a tiny team, going with C++ is a "suicidal attempt" (sorry to be blunt)
On the other hand, C# has its own automatic memory management and simple than C++. It can be made cross-platform using Mono. Plus engines like monogame are available. Using C# with BlitzSharp3D as mid-point we can port to other engines easily. C# code can also be converted to c++. For a tiny team of ours going with C# is easy since at first we only have to copy code and refactor and other stuff (and probably more people will join the team gradually). So C# is actually a better option for us.
Q3. What's your roadmap with C# remake?
We're currently porting WA Editor to C#. There's also a project for converting classic trilogy games to C#, named WonderlandPlus.NET although its in halts right now. Here's the roadmap:
- convert all blitz code line by line into c# (blitzsharp3d)
We will convert all 10.2.0 player code and then 10.3.0, then I think we can start porting 10.3.0 editor (yes it will also be released soon). Launcher is easy
- refactor the code. Use new and human readable file formats like 'master.json' instead of 'master.dat', merge 'global.wdf' and 'display.wdf' into a single file like 'options.json'. Use XML for dialogues, scripting languages for UIs and cutscenes. Use a better and compatible format for levels (need not be human readable imo). We can also make 'playerfile.wpf' which stores save game data as 'playerfile.json' just with stars count and coins count encrypted. I think levels should now have extension 'wlvx', and cutscenes 'cutx'. I'm not sure what to do about packed adventure 'wa3' and hub 'wah' files. Should we leave the file extension same just make new file format along with extension or just allow automatic zipping up of custom adventures and hubs (will require permission from MS). Finally, should we merge editor and player to single exe? What are your opinions here?
- port to another engine gradually
Q4. What is the current progress in porting WA Editor?
Currently we are porting 10.2.0 to C#. We are working on Player currently. I assume 10.4.0 to be our first release in C#.
Here's the progress:
Code: Select all
Level Level - 100% done LevelDefine - 100% done Shared ObjectsWOITypeDefine - 100% done ObjectsWOIType - 100% done MeshControl - 100% done Particles - 99% done ParticlesDefine - 100% done GlobalGraphicsDefine - 100% done GlobalGraphics - 100% done Content - 100% done MagicData - 100% done ConfigReader - 0% done Utils - 100% done Includes - 100% done Defines - 100% done Adventures Commands - 100% done ObjectsCore - 100% done ObjectsEngineBase - 100% done ObjectsWA1 - 100% done ObjectsWA2 - 100% done ObjectsWA3 - 100% done ObjectsCustom - 90% done ObjectsDecorative - 100% done ObjectsDepreciated - 1% done ObjectsTiles - 100% done AdventuresCore - 100% done AdventuresDefine - 100% done Magic - 100% done Menus Menu - 60% done MenuDefine - 100% done MenuDialog - 100% done MenuIcons - 100% done MenuUpdate - 100% done MenuCustomCutscenes - 20% done MenuCustomCutsceneDefines - 100% done MenuWA2Cutscenes - 33% done WA3EndInclud - 0% done Core Preload - 100% done Sound - 100% done SoundDefine - 100% done
Everyone is welcome to help here!
Also we would be posting occasional screenshots highlighting developments, so stay tuned!
Any other questions?
Feel free to post here!