It’s been almost a month since the last dev blog, and as usual, I have been working my butt off bringing new features, content, and bug fixes to Fragsurf. Patch 0.42.00 introduced an entirely new user-interface and two new tricksurf maps: xdre4m and japan.
The new UI isn’t final, it’s just a port to a new html/css/js based system which will allow for a much more powerful, much more beautiful UI in the future. Working with Unity’s built-in UI is typically painful and difficult.
At first I didn’t think the new UI was going to pan out because it introduced some pretty bad frametime inconsistencies. This was caused by transferring pixel data from Chromium to a Unity texture that is the size of your screen resolution each frame, the process took my cpu roughly 1ms per update on a 2560×1440 resolution. 1ms doesn’t sound like much, but in terms of smooth framerate and consistency, the in-game stutters were very noticeable.
I was able to solve this issue in a way that isn’t perfectly compatible with the UI rendering process. I got rid of the stutters, but introduced a crash which occurred quite often between loading screens when the UI had to be refreshed. I have reduced the chance of crashing significantly, but have yet to implement a proper solution to prevent crashing completely.
Software and game development is full of solutions and compromises. There’s rarely a one-size-fits-all solution, and any issues introduced by a solution have to be addressed. It really is a pain sometimes.
The initial implementation of the level editor is done and available to all beta testers. To get to it, click on the Fragsurf logo in the main menu. To enter play-mode from the editor UI, press F11. Please keep in mind it’s nowhere near finished yet 🙂
With the level editor being in-game it is certainly limited in functionality, but also opens up the possibility for some incredible things not possible in a standalone software like Hammer. For example, when you open the level editor, it spawns a lobby and loads up a gamemode. Players can join your lobby and chat while you make maps, and in the future, they may be able to play your map while your creating it. And depending on what gamemode you choose, you can test exactly how your map is going to play outside of the editor. If you’re making a speedrun map you can set up start and end zone triggers and speedrun it, if you’re making a tricksurf map you can create trick triggers, define a few tricks, and test them out.
There will be a button to upload to Steam Workshop making it incredibly easy to share your creations.
A huge thanks to everybody who’s supported and/or continues to support, especially those who are reporting bugs and helping resolve all the issues I can’t resolve on my own.