Blog entry - automating builds
Flayra
Game Director, Unknown Worlds EntertainmentSan Francisco Join Date: 2002-01-22 Member: 3Super Administrators, NS2 Developer, Subnautica Developer
Comments
Edit: reread blog entry.
It's cool to hear that Steam actually makes development a litle easier as well. It makes sense that anything you don't have to roll yourself is easier, but it still is something I've thought about. Is there anything else it tends to make easier on the development side?
Good luck with the automated testing; seems like auto testing games would be even harder than auto testing GUIs, and that's saying something!
if the server is compiling ns2, couldnt that cause slowdowns on the site? or make hacking more of a threat?
<!--QuoteEnd--></div><!--QuoteEEnd-->
We have a different server for all of development stuff (subversion, daily builds, development wiki etc.) Unknownworlds.com is only used for the website for the reasons you mention.
Presently I'm writing a game for the DS and I've set up a DS emulator in VC++ to load upon pressing F5. When I want to really test it I have a batch file that copies the required file to my DS. Makes testing a hell of a lot easier.
--Scythe--
Keep up the good work and the updates! <img src="style_emoticons/<#EMO_DIR#>/smile-fix.gif" style="vertical-align:middle" emoid=":)" border="0" alt="smile-fix.gif" />
Edit: Also, coding in such a way that it can be easily tested by automated tools constrains you in certain ways that I think produce much better quality code.
However, the great thing about windows scheduler is that it has command line tool to control it, using schtasks command. I run that command from aspx page (with elevated permissions of course), to get status of a job, or to kick it off manually. The job and VS is actually on another computer, not web server, which is pretty cool too.
Pretty cool.
The only thing I wish is that you guys would divulge information about the progress of the game <img src="style_emoticons/<#EMO_DIR#>/tounge.gif" style="vertical-align:middle" emoid=":p" border="0" alt="tounge.gif" /> hehe
This is hawt stuff.. I just wish I had this available for building NS in the past. Well done for finally getting this implimented, I know that every single release night we promised we'd solve it for the next one, but never seemed to get around to it. Are you cross compiling for Linux?
<!--QuoteEnd--></div><!--QuoteEEnd-->
Heh, I feel your pain Harry! We could do this for NS1 without much work as well actually.
I forgot about the linux side of things. MSVC doesn't support cross-compiling though so I think we'd have to do it as a separate script on linux (though this could kick it off at the same time and only report that it's done with both versions are complete).
What'd be handy is if you had a dedicated build box that spent all day long doing nothing but taking the latest code and making a build in an endless loop. This way, whenever you need to test something, you can just grab the latest build.
It also works well for automated testing. As soon as a build is complete, the automated testing box(es) can grab the latest build and run it through your various test plans, and publish the results. This gives a rather nice chronological timeline. When a certain bug was fixed, or introduced, the progression of build stability, that sort of thing.
Not that I have much work experience at my age, but the two places I've worked at that did software development both did continuous builds with automatic testing on the latest build, all... automated.