TBG/Freebuild: Status Update
Published by KermMartian 14 years, 9 months ago (2009-09-07T18:14:14+00:00) | Discuss this article

As many of you may know, Cemetech has long been a staunch supporter of Blockland, then TBM, and now the project alternately known as FreeBuild and The Builders' Game (TBG). We currently have 2 active developers, elfprince13 and CyberPrime. They've been putting sporadic effort into the project for quite a few months, but over the past two weeks they have stepped up development. Expect progress, particularly after weekends; they also would like any proficient C++/TorqueScript coders to let them know if said coders would be interested in helping out. At some point Freebuild/TBG will need some mappers, vehicle scripts, and artists, but they'll let us know when they get to that stage.

Several things remain before a playable demo will be released:
:: Finish separating datablocks from other code and placing each datablock in it's own file in the dynload directory hierarchy using specific naming scheme for maximum reusability and so that only datablocks which are specifically asked for are loaded. This is a long and tedious job, and community volunteers would be more than welcome. Please post here if you would like to help and we will get you set up with instructions.

:: Finish the preliminary master server, authentication, and chat integration with Cemetech, and the fallbacks for LAN play or when Cemetech is down. This is nearly done, and in fact the PHP side of things is complete and we just need to finish making changes to allow Torque to take advantage of these features.

:: Adding the 3D previews to the inventory, and to the player selection gui.

:: Finish the mod-loading interface. CyberPrime has taken command of this side of things, and the GUI is functional. We still need to write the package-stack magic to make it possible to load and unload these without restarting the engine. If there is any portion of the code, or functionality that our modding community (looking at the TOB guys here) expects to interact with or would like more modular for easier modification of specific functionalities, please let us know so we can break large chunks of code down to make overriding or extending specific features more modular.

:: Relatedly, finish the GameMode interface programming interface and modify the Create + Join Server GUIs to include the new features. This will allow the modding community to design games and in-game rulesets and behaviors for specific maps or types of games. Examples include: Racing, Deathmatch, Sandbox, Capture the Flag, Tag, Flight-Sim, etc. We have modified the map naming scheme to go along with the 3 modes which we plan on writing ourselves. Map artists should follow this naming scheme for new maps + game modes. BL- maps are for building, DM- maps are for death matching/fighting type games modes, and RC maps are for racing. Expect Sandbox and Deathmatch rulesets to be ready for an initial release.

:: Finish prettying up the GUI. When elfprince13 restarted the engine programming with TGE 1.5, we lost much of the "pretty factor" that Gobbles had put into the early alphas. We still have the artwork for these, but elfprince need to change a couple rendering things to make the new engine support the button style we'd like.

:: Get a working build process for OS X, Windows and Linux. Write now OS X is working the best. Windows was working but broke when support for libcurl was added. Linux is largely untested though I have gotten it to at least compile. elfprince13 plans on moving the Windows build process to use the mingw tools so that he only has to worry about writing GCC-friendly code, and not worry about maintaining compatibility with another compiler (VC++).

Long term plans (stuff that needs to be done before TBG is "done"):

:: LDraw support. The plans for this are in the works, the first step is writing an LDraw parser + renderer in C++ or lifting a functioning one from an existing open source project. The current preference (for expediency) is for the latter, however it depends on the licensing of whatever open source LDraw projects exist. When this phase of the project is complete existing models will largely be deprecated in favor of .mpd. This will allow us a much broader Lego community base and a much larger part library. When this happens, we encourage community members who wish to write scripts to convert old TBM .save files into the new format to do so.

:: Object management. This is perhaps the single most key performance issue plaguing our game, and it is the highest priority beyond getting an initial playable demo. The plans for handling this are pretty much set. The code is not. Being licensed for the TGE means that we will have access to the GG forums and their expertise to assist in this endeavor.

:: Goodies. Turrets, fxLights, etc. Better AI and camera controls.

:: Community features. Model sharing and mod database.

:: Dependency checking for mods + auto-update.

:: A track-based (train and monorail) vehicle support system. Kerm is the main point-man for this one.

That's pretty much it. One last thing. Some of you may be surprised, some may not, but the official name for TBG is actually FreeBuild (The Builder's Game being a subtitle). Here's some eye candy to go along (click for full version). Notice both the program icon in the dock, and the side of the blimp.