Summary of my WebGL port
The three months' coding for GSoC has ended and I'm proud to say that I've achieved the main goals in my project proposal. The final product is here:
In fact, when I started the project, I didn't have much idea about how well it would go. The tools I was going to use were not mature so it was hard to predict how many obstacles I might encounter. Fortunately, the developers in the channel, especially my mentor nemo, offered a lot of help so that I could proceed in the right direction. And finally, it turns out to be very successful.
I will still hang around in the channel and maintain the web port, though I won't be as free as in the summer vacation. There are still a few things to be done, probably also a project idea for next year's GSoC
1. Pas2C is not completely worry-free. I need to patch a few places in the generated sources. But luckily, most of the issues have been addressed;
2. AI is running in main thread and may not be as "smart" as the native version. Using web worker or reworking the AI code could solve the problem;
3. Optimize math operations (esp. Rope);
4. Write a html frontend;
5. Add multiplayer for the web version (this could be fun!);
6. Add sound. This is not hard since sound files are not critical, but loading them when needed may also degrade the gaming experience (if you have a slow network). Preload all or load on-the-fly, that's the hard choice.
Finally, thanks to all developers and GSoCers working for hedgewars!