Author: Sarah Northway

  • Rebuild 3: Children

    Rebuild 3: Children

    Keep babies safe from zed in a comfy cooler
    Keep babies safe from zed in a comfy cooler
    Build 0.70x is live on Steam for PC and Mac. This update’s going to be Steam only, so I can get on with the process of making a game and stop fiddling with builds all day. My apologies to standalone & Android players – I’ll aim for an early all-platforms build next month to make up for it.

    We’re in Cape Town, South Africa this winter. Our first time in Africa, so we had to do a safari and see us some Big Five. We chose Etosha national park in Namibia and rented a 4×4 with two friends, two tents on top. I nearly had this release ready to go into testing before we left, but a last minute bug stopped me from uploading it in time.

    That’s okay. Game development rule #5: Never release the day before you go on vacation, or on a Friday afternoon… unless you’re indie work all weekend anyway.

    In the end we landed somewhere between Chipper Chad and Hopeless Hugh.
    In the end we landed somewhere between Chipper Chad and Hopeless Hugh.

    The biggest change in the new version is children. Tiny humans (called Goats in the code justcuz) who are born and grow up, assuming they’re spectacularly lucky enough not to die in the process. Luck is indeed on their side in build 0.70.2, since the events that might kill them aren’t in yet. They’re treated as equipment… I know, I know, it isn’t a very kind metaphor, but it keeps them from getting underfoot in a gameplay-and-ui sense. They DO each have a “Colin ID” in the code, which is kind of the Rebuild equivalent of a soul.

    Children must be equipped by a caretaker at all times. Equipping a child lowers your skills to represent the time needed to raise them, but they provide a happiness boost because they’re such inspirational little devils. They eat half as much food as adults but don’t take up a house. They can be born (to a married couple only right now) and grow up to be full adults at age 14, whether they’re actually mature enough for it or not.

    Also in build 0.70: new faces & equipment art (full changelog here)

    This is just the start for children. Next month we’ll be adding events to make them more interesting and useful. Young Sophia Sassy-socks will soon be able to:

    • help her dad out around the farm
    • ask her parents to check for monsters under the bed
    • get lost and need to be rescued by mom
    • climb down a narrow well to see why the bucket’s stuck
    • go to school
    • make friends with the boys from St Micheals
    • find a cool toy and learn an important lesson about sharing

    Any other suggestions? Let me know.

    northwayRhino

    Namibia was intense btw – we saw lions DOIN’ IT and all kindsa other animals: two kinds of zebra, thirsty giraffes, snoozing hyenas, the delicious kudu and graceful springbok, common warthogs and baboons (both are suburban pests here), snoozing hyenas, and the terribly endangered black rhino.

  • Setting up Subversion on Amazon EC2 for free

    Remote backups are crazily important for Colin and I with our nomadic lifestyle. We consider ourselves very lucky that we haven’t had our laptops stolen or destroyed in 5 years of travel. We take precautions: we lock our doors, keep our laptops out of sight, and try to give off an air of “thrifty backpackers” while actually carrying around $6,000 worth of electronics. But if it should ever happen, we could be up and working again within 24 hours thanks to offsite backups.

    I use Dropbox for large files and Google Drive for documents (both free to a point), and for code I use offsite version control software. There are free hosting services for Git… but after working with it on several projects over many years I still don’t fully understand Git and consistently screw up commits. I am much more comfortable with older, simpler Subversion. But there are no free or even reasonably-priced hosting options for svn projects unless you make them open source.

    However, Amazon is offering free linux EC2 servers with 30gb ssd hard drive space. For a relatively small project like Rebuild with only a couple contributors and few branches, that’s more than enough, and the equivalent hosted option costs $50/month or more. The trick is configuring it. This took me a few hours, some false starts and useful tutorials. You do need to be familiar with Linux. I documented the process for my own uses, but here it is for you:

    Creating an EC2 instance and SSHing in

    Create a new EC2 instance
    They won’t charge you unless you go beyond their free tier
    I chose to put mine in Oregon (us-west-2)
    Check “only free” and pick a freebie amazon linux ami
    I used amzn-ami-hvm-2014.09.1.x86_64-ebs (ami-b5a7ea85)
    Next page, choose max free (30gb) ssd
    Next page, open HTTP port to all (0.0.0.0) – SSH is already open by default
    Complete and launch your instance

    Create a new key pair when prompted and download the .PPK file from amazon.
    Visit the EC2 dashboard, instance should be Running and status checks 2/2
    Record your instance IP (YOUR_INSTANCE_IP)
    Download Putty
    SSH into your instance using the PPK from amazon (guide)
    Default amazon AMI SSH username is ec2-user, no password
    ec2-user@YOUR_INSTANCE_IP

    You’re in! Putty hint: right-click to paste clipboard contents.

    Installing software

    Update pre-installed software:
    # sudo yum update -y

    Visit the public ip in your browser: http://YOUR_INSTANCE_IP
    should see Amazon Linux AMI Test Page if Apache is installed and running

    If Apache is not installed (guide):
    # sudo yum groupinstall -y "Web Server" "MySQL Database" "PHP Support"
    # sudo yum install -y php-mysql
    # sudo service httpd start

    Install subversion and mod_dav_svn (should see a long list of all changes):
    # sudo yum –y install mod_dav_svn
    # sudo yum –y install subversion

    Edit the Apache configuration file for subversion:
    # sudo vi /etc/httpd/conf.d/subversion.conf
    Replace any subversion.conf content with:

    LoadModule dav_svn_module     modules/mod_dav_svn.so
    LoadModule authz_svn_module   modules/mod_authz_svn.so
    <Location /repos>
       DAV svn
       SVNParentPath /var/www/svn
       # Limit write permission to list of valid users.
       AuthType Basic
       AuthName "Authorization Realm"
       AuthUserFile /var/www/svn-auth/passwd
       AuthzSVNAccessFile  /var/www/svn-auth/access
       Require valid-user
    </Location>
    

    Create the directory which will contain the subversion repository:
    # sudo mkdir /var/www/svn

    Create the directory which will contain the permissions files.
    # sudo mkdir /var/www/svn-auth

    Create the permission file:
    # sudo vi /var/www/svn-auth/access
    And fill it with (replace sarah, colin, guest with your usernames):

    [/]
    sarah = rw
    colin = rw
    guest = rw
    

    Create and add to the password file (use -c the first time to create)
    # sudo htpasswd -cb /var/www/svn-auth/passwd sarah SARAHSPASSWORD
    # sudo htpasswd -b /var/www/svn-auth/passwd colin COLINSPASSWORD
    # sudo htpasswd -b /var/www/svn-auth/passwd guest GUESTSPASSWORD

    Create a repository (REPONAME is the name of your repository eg rebuild):
    # cd /var/www/svn
    # sudo svnadmin create REPONAME

    Change files authorization (again after creating new repos too):
    # sudo chown -R apache.apache /var/www/svn /var/www/svn-auth
    # sudo chmod 600 /var/www/svn-auth/access /var/www/svn-auth/passwd

    Start apache web server:
    # sudo service httpd restart
    Will complain about determining domain and using 127.0.0.1, that’s ok

    To make sure apache always starts on boot:
    # sudo chkconfig httpd on
    # sudo chkconfig --list
    Should show 2:on 3:on 4:on 5:on for httpd

    Verify the subversion repo by opening in a browser:
    http://YOUR_INSTANCE_IP/repos/REPONAME

    You’re done! Connect via Tortoise or your fav svn client using the url above.

    Other operations

    To copy from an older repo including revisions:
    # sudo svnadmin dump /var/www/svn/REPONAME > /tmp/REPONAME.svn
    (copy the file to the new server then)
    # sudo svnadmin load /var/www/svn/REPONAME < /tmp/REPONAME.svn

    To connect a backup mirror on another (non-free) EC2 server with the same setup (guide)
    First make revisions editable in the mirror repo:
    # sudo echo '#!/bin/sh' > /var/www/svn/REPONAME/hooks/pre-revprop-change
    # sudo chmod 755 /var/www/svn/REPONAME/hooks/pre-revprop-change
    Then initialize the mirror from the old one:
    # sudo svnsync init file:///var/www/svn/REPONAME http://YOUR_INSTANCE_IP/repos/REPONAME
    Should see "Copied properties for revision 0."
    Then copy the data including all revisions:
    # sudo svnsync sync file:///var/www/svn/REPONAME
    Can use this to make nightly backups to another server

  • Pumpkin Sales!

    Pumpkin Sales!

    pumpkins‘Tis the season of zombies, horror, and also pumpkins, which there are a surprising number of here in South Africa, I think it’s like the national vegetable or something. To celebrate, Rebuild is on sale!

    You can pick up Rebuild Mobile (aka Rebuild 2) in the Humble Mo(BOO!)ile Bundle with five other creepy as hell Android games and pay whatever price you want. Then hide under the covers and play Five Nights at Freddy’s until you’re too scared to sleep.

    This weekend, Rebuild 3: Gangs of Deadsville will also be 25% off on Steam Early Access, so now’s your chance to get into the beta if you haven’t yet.

  • Rebuild 3: Relationships

    Rebuild 3: Relationships

    Colin and I are now settled in Cape Town for the first half of winter (their summer). Colin’s going to spend it kiteboarding on the endless, beautiful beach and I’m going to put my head down and work. This is what I’ve said every month for the last year, and does it ever happen? Rarely. Life is just too full of distractions to spend it crunching, I guess. That or I’m paralyzed with fear that I’m going to screw up this wonderful, already successful game somehow because I don’t truly understand why people like it.

    Let’s hope it’s that first one.

    Version 0.69

    So October’s version 0.69 (hahah… yeah) was big on balancing and increasing the importance of happiness and faction rivalry towards the end of the game. It’s still not right; with so many random elements I’ve got to do a helluva lot of testing to know if I’ve made something too easy or hard, and I’m trusting a lot of that testing to the community. I’m not sure if I’ve told you this lately, beta testers, but I love you. You’re great.

    rebuild3leaders1_580

    I also included Adam’s final versions of the faction leaders, which are really fun and make me want to write them all some new events. I’ve decided every faction will have a special requirement before they’ll ally with you (in addition to needing 75 respect). Like, the Luddies want you to have a lot of farms, the Government wants you to make ammunition for them, the Pharmacists want you addicted to Bath Salts etc. I’m looking for more suggestions.

    Also making it in are the start of relationships, the Kickstarter stretch goal chosen by popular vote. Survivors assigned together will gradually become friends, which gives them a happiness boost if they spend enough time together. They can even fall in love and get married. And yes, there are same-sex relationships too.

    Sometimes people just don’t get along, and they hate to work together. Force them on missions together too often and it could end badly. Don’t miss the warning signs!

    rebuild3leaders2_580

    Next month we might see children finally make an appearance in the game. Colin’s helping me brainstorm how they’re going to work right now. It’s pretty swell having him on the team!

  • Rebuild 3: Main Leader Jobs

    Rebuild 3: Main Leader Jobs

    Banner for our PAX Booth
    Banner for our PAX Booth
    August was a busy month for Northway Games. I helped Rich and Colin launch Deep Under the Sky, a psychedelic arcade puzzler about alien jellyfish. It’s so gorgeous… just go watch the trailer for it then nab it on your iPhone before I remember to end the launch sale.

    We showed it at CIGGRAPH in Vancouver, then Deep Under the Sky and Rebuild at PAX Prime in our first ever PAX booth. It was an unbelievable experience. I had no idea there were so many Rebuild fans out there! Every time I looked up, someone new wanted to know if I was the Sarah Northway, creator of Rebuild, and could they shake my hand. It was so – I want to say humbling, but it was the opposite of that. It was good, very very good.

    Now that Deep Under the Sky is out, Colin’s coming aboard the good ship Rebuild to work on the programming and balancing. We haven’t properly worked together since Incredipede so this is going to be fun. Colin’s first task was to track down the memory leak, which we hope is now fixed in the 0.666 update. He’s also working on the new relationships system (one of the Kickstarter stretch goals), and on balancing happiness and fort policies.

    In the new update I also added 60 new backstories (written by Stephen Gray), 11 survivor perks, and 5 new main leader jobs. I finally hooked up the Steam deluxe edition with 5 more main leader jobs for a total of 15 to choose from. Here’s an overview of how they work and what each one does.

    All about jobs in Rebuild: Gangs of Deadsville

    The first thing you do in Rebuild 3: Gangs of Deadsville is design your main character. She (or he) will lead your fort from humble defensive camp to glorious city-state. She’s your most important survivor: the only one (at least initially) who can learn any skill, and unlike the first two games, she can’t be killed.

    Brandy bear was born for this role
    Brandy bear was born for this role

    Now comes one of the most important choices in the game: pick your leader’s profession from her previous life, back before the infection started. This determines her starting skills, equipment, and a fort-wide bonus that affects the whole game. Choose well!

    Main leader starting professions in Rebuild 3:

    Job Skill Equipment Benefit
    Politician leadership top hat start the game with an extra survivor
    Shop Clerk scavenging crowbar 25% discount while trading
    Doctor engineering doctor’s bag all injuries recover 1 day faster
    Retiree building hammer all survivors are +10% happier
    Police Officer defense pistol all firearms grant +1 defense

    5 new jobs added in version 0.666:

    Job Skill Equipment Benefit
    Priest leadership megaphone start with a church and create more devout survivors
    Hobo scavenging backpack 5 extra housing spaces
    College Student engineering calculator schools and bars are 25% more effective
    Construction Worker building saw half materials costs when building
    Gang Member defense shotgun no happiness loss from death or injury

    5 bonus jobs for Kickstarter & Steam deluxe edition:

    Job Skill Equipment Benefit
    Rock Star leadership guitar earn faction respect twice as fast
    Pizza Delivery Driver scavenging car and sword start with the driver perk
    Programmer engineering science book start with a lab and 9 researched techs
    Real Estate Developer building safety hat all build missions take 1 day
    Pro Gamer defense chainsaw extra defense but all enemies are twice as powerful

    These are of course subject to change during the beta as I discover which ones are pleasingly overpowered, and which are just too exploitable. The bonus ones are supposed to be a little crazy… probably not recommended for new players.

    In a future update I plan to add extra perks for your leader that she’ll earn from major events in the campaign mode storyline. Once each city is suitably rebuilt (or escaped from), she’ll be travelling on to the next one with some select teammates, so the job you choose will be even more important. For now, these jobs add a bit of diversity to the skirmish mode and something new to try.

    I’ll leave you with another picture from our PAX booth:

    Rebuild backer Andy Moore with his zombie self on a banner at PAX Prime 2014
    Rebuild backer Andy Moore with his zombie self on a banner at PAX Prime 2014