Blog entry - automating builds

FlayraFlayra Game Director, Unknown Worlds EntertainmentSan Francisco Join Date: 2002-01-22 Member: 3Super Administrators, NS2 Developer, Subnautica Developer
edited June 2007 in NS2 General Discussion
Post your comments to <a href="http://www.unknownworlds.com/blog/2007/06/ns2_automated_build_1.html" target="_blank">this blog post</a> here.

Comments

  • PogoPPogoP Environment Artist Join Date: 2004-01-31 Member: 25827Members, NS2 Developer, Constellation
    Interesting coding blog, but it all flies straight over my head =(
  • locallyunscenelocallyunscene Feeder of Trolls Join Date: 2002-12-25 Member: 11528Members, Constellation
    edited June 2007
    That's pretty sweet.

    Edit: reread blog entry.
  • KainTSAKainTSA Join Date: 2005-05-30 Member: 52831Members, Constellation
    Nice. Anything that streamlines design is a good thing <img src="style_emoticons/<#EMO_DIR#>/smile-fix.gif" style="vertical-align:middle" emoid=":)" border="0" alt="smile-fix.gif" />
  • p4Prosperop4Prospero Join Date: 2002-12-04 Member: 10454Members, Constellation
    Mmmmm, pipeline posts. I <3 me pipeline posts.

    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!
  • douchebagatrondouchebagatron Custom member title Join Date: 2003-12-20 Member: 24581Members, Constellation, Reinforced - Shadow
    if the server is compiling ns2, couldnt that cause slowdowns on the site? or make hacking more of a threat?
  • MaxMax Technical Director, Unknown Worlds Entertainment Join Date: 2002-03-15 Member: 318Super Administrators, Retired Developer, NS1 Playtester, Forum Moderators, NS2 Developer, Constellation, Subnautica Developer, Pistachionauts, Future Perfect Developer
    <!--quoteo(post=1633298:date=Jun 13 2007, 06:29 PM:name=6john)--><div class='quotetop'>QUOTE(6john @ Jun 13 2007, 06:29 PM) [snapback]1633298[/snapback]</div><div class='quotemain'><!--quotec-->
    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.
  • ScytheScythe Join Date: 2002-01-25 Member: 46NS1 Playtester, Forum Moderators, Constellation, Reinforced - Silver
    I do a lot of development for embedded devices, like microcontrollers and PLCs, and I've always found it to be a good idea to get the compile -> transfer process as streamlined as possible. The faster I can get code onto hardware the faster I can test it and look for bugs.

    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--
  • ChocolateChocolate The Team Mascot Join Date: 2006-10-31 Member: 58123Members
    I likes, except that I know nothing of this field so it's what my spanish teacher said to me in a presentation "its verbal diarrhea to me". Doesn't matter, it's nice to have these posts around.

    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" />
  • rsdrsd Join Date: 2003-02-11 Member: 13405Members
    edited June 2007
    Automated build and test is the way forward. In my opinion the biggest use of automated testing is regression testing. It's awesome to be confident that a change you've just done hasn't had any system destroying side effects <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.
  • r00tr00t Join Date: 2002-12-19 Member: 11173Members
    Cool. That's exactly how we do that too, I actually set up a whole bunch of bat/vbs files for checkout/rebuild/publish, and all that is bound to a nightly windows scheduler job.

    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.
  • GoldenprizeGoldenprize Join Date: 2006-11-05 Member: 58379Members
    <img src="style_emoticons/<#EMO_DIR#>/biggrin-fix.gif" style="vertical-align:middle" emoid=":D" border="0" alt="biggrin-fix.gif" /> <!--quoteo--><div class='quotetop'>QUOTE</div><div class='quotemain'><!--quotec-->(my config was shipped a few times to our playtesters, resulting in a server full of "Flayras" and mass confusion). <!--QuoteEnd--></div><!--QuoteEEnd-->
  • HassaanHassaan Join Date: 2005-01-09 Member: 33976Members
    No wonder there were so many Flayra's in all the hltv matches I saw!
  • NEX9NEX9 Join Date: 2005-03-08 Member: 44299Members
    great work, keep it simple stupid, and get it to us fast
  • puzlpuzl The Old Firm Join Date: 2003-02-26 Member: 14029Retired Developer, NS1 Playtester, Forum Moderators, Constellation
    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?
  • goku_ssj_ukgoku_ssj_uk Join Date: 2006-10-14 Member: 58072Members, NS1 Playtester
    Very nice way of doing it, seems like the next step is just to "think up something" and then it will do it for you. Robots next ? <img src="style_emoticons/<#EMO_DIR#>/tounge.gif" style="vertical-align:middle" emoid=":p" border="0" alt="tounge.gif" />
  • RokiyoRokiyo A.K.A. .::FeX::. Revenge Join Date: 2002-10-10 Member: 1471Members, Constellation
    Huh... And here I was thinking that only rookies like me had problems like that...

    Pretty cool.
  • betabeta Join Date: 2007-04-20 Member: 60679Members, Constellation
    The process is really interesting, honestly I like the idea of playtesters only downloading diffs. It seems like it will help a lot...

    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
  • FlayraFlayra Game Director, Unknown Worlds Entertainment San Francisco Join Date: 2002-01-22 Member: 3Super Administrators, NS2 Developer, Subnautica Developer
    <!--quoteo(post=1633595:date=Jun 15 2007, 01:51 AM:name=puzl)--><div class='quotetop'>QUOTE(puzl @ Jun 15 2007, 01:51 AM) [snapback]1633595[/snapback]</div><div class='quotemain'><!--quotec-->
    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).
  • GuspazGuspaz Join Date: 2002-11-01 Member: 2862Members, Constellation
    Neat.

    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.
Sign In or Register to comment.