by date
Plan for Roelf "TheRoDent" Diedericks
Plan for Roelf "TheRoDent" Diedericks
| Name: | Roelf "TheRoDent" Diedericks | ![]() |
|---|---|---|
| Date Posted: | Jan 06, 2004 | |
| Rating: | Not Rated | |
| Public: | YES | |
| Comments: | YES | |
| RSS Feed: | or Subscribe with . | |
| Profile Page: | View profile page for Roelf "TheRoDent" Diedericks |
Blog post
Linux to Win32 cross compiling, User Mode Linux hosting services, IRC bots, and changelists. The menial tasks of a buildmaster...
Well, I've gotten a brand new UML host at www.jvds.com and I must say their service is just incredible.
For $35 a month I get my own virtual linux machine, with root access and full control, and unmetered bandwidth. Hosting doesn't get much better than this. (For information about User Mode Linux, visit http://user-mode-linux.sourceforge.net/). It's a way to run a linux kernel as a user-mode process on a Linux machine, which makes it perfect for Virtual servers/hosting such as at jvds.com
I've reworked Legends' build system completely and we are now entirely Unix based. (Yes, even for win32 builds)
We have a bot hovering in our IRC channel, that can initiate builds, setup our rsync directories, remove stale locks from the CVS repository etc, etc.
And, we're cross compiling the win32 version using GCC 2.9.5 on the abovementioned Linux system. It absolutely rocks. A single trigger can now build debug binaries for win32, and linux, gather up all the scripts, and prepare a complete installation subdirectory for the game.
Buildmastering isn't a spectacular job, but it is something that needs doing, and doing it right is worth all the time it takes. It makes new releases, patches, and fixes so much easier.
Our cvs changelists are now also updated in realtime, using a MySQL database, so anyone doing a CVS commit gets their message posted at the top of the changelist immediately, without having to run huge, time-consuming log parsing scripts. If you'd like some more info about how this was setup/done feel free to mail me...
All in all, a good start to this year. Legends is starting to take some serious shape now, and people are actually enjoying playing the game, online.
To all at GarageGames, and the GG Indie community: Hope this year kicks ass for you too!
For $35 a month I get my own virtual linux machine, with root access and full control, and unmetered bandwidth. Hosting doesn't get much better than this. (For information about User Mode Linux, visit http://user-mode-linux.sourceforge.net/). It's a way to run a linux kernel as a user-mode process on a Linux machine, which makes it perfect for Virtual servers/hosting such as at jvds.com
I've reworked Legends' build system completely and we are now entirely Unix based. (Yes, even for win32 builds)
We have a bot hovering in our IRC channel, that can initiate builds, setup our rsync directories, remove stale locks from the CVS repository etc, etc.
And, we're cross compiling the win32 version using GCC 2.9.5 on the abovementioned Linux system. It absolutely rocks. A single trigger can now build debug binaries for win32, and linux, gather up all the scripts, and prepare a complete installation subdirectory for the game.
Buildmastering isn't a spectacular job, but it is something that needs doing, and doing it right is worth all the time it takes. It makes new releases, patches, and fixes so much easier.
Our cvs changelists are now also updated in realtime, using a MySQL database, so anyone doing a CVS commit gets their message posted at the top of the changelist immediately, without having to run huge, time-consuming log parsing scripts. If you'd like some more info about how this was setup/done feel free to mail me...
All in all, a good start to this year. Legends is starting to take some serious shape now, and people are actually enjoying playing the game, online.
To all at GarageGames, and the GG Indie community: Hope this year kicks ass for you too!
Recent Blog Posts
| List: | 01/06/04 - Plan for Roelf "TheRoDent" Diedericks 10/30/03 - Plan for Roelf "TheRoDent" Diedericks 09/02/03 - Plan for Roelf "TheRoDent" Diedericks 04/22/03 - Plan for Roelf Diedericks |
|---|
Submit your own resources!| Phil Carlisle (Jan 06, 2004 at 12:35 GMT) |
Build systems are probably one of the biggest area's of modern game dev that havent been explored enough (IMHO).
I really need my linux box up and running :)
| Jeremy Noetzelman (Jan 06, 2004 at 18:07 GMT) |
J
| Ben Garney (Jan 06, 2004 at 18:12 GMT) |
It's mostly just a matter of (on Linux) learning how to do it by hand, then putting it all in a script, then tying the script to a website or cron job... Damned useful, not very exciting, though. Like plumbing ;)
| Benoit Touchette (Jan 06, 2004 at 21:49 GMT) |
Phil: i wrote up a resource on cross compiling a while back. very useful i find, though some people think that it creates bigger binaries (they are right LOL), but in the end it doesn't really matter when you get used to having a single build platform to work from.
| Roelf "TheRoDent" Diedericks (Jan 09, 2004 at 10:12 GMT) |
If you strip the GCC Linux binaries after compilation, they end up being 680kb bigger than the MSVC binaries (for Legends at least).
Yes, this is larger than the resulting MSVC binary, but I'm not too worried by that kind of a size increase, due to the different ways in which the two compilers work.
I find that GCC produces less "sparse" code (ie more gaps between functions), but the resulting assembly per function looks near identical to MSVC's output. In some cases it's better optimized for speed, but naturally larger in actual assembly.
Also, the default -finline-functions CFLAG included with Torque's conf.GCC2.WIN32.mk tends to inline functions much more often than MSVC would, resulting in bigger code, but less function call overhead (Read speed improvement).
With compression, the size difference becomes a moot point, and if you really want you can use an executable compressor to compress the resulting binary.
You must be a member and be logged in to either append comments or rate this resource.



Not Rated


