The Late, Late, Super Late 2014 Update!

19 12 2014

Having a kid is a lot of work… Like, a TON of work. I really don’t know how some people can have 2 or more and still find time to do things that aren’t housework or work-work. 2 years later and I’m just now starting to get the hang of it, just in time for kid #2 to arrive in March. I guess I better use my time wisely for the next couple of months.

Obviously, I didn’t do a post for last year’s GGJ. Frankly, I didn’t feel so great about the end result of it. I fell into some old trappings that I should have seen coming, but I got a little blinded by shiny things. Specifically, the Rift. Someone showed up at the GGJ last year with an Oculus Rift, and asked if anyone wanted to use it…

Hell yeah I did! and it was freaking amazing! At the time it was just DK1, so the screen was kind of blurry and low-res and it felt a little awkward to wear at first. But after 5 minutes with it I didn’t even notice. I had a blast checking out a bunch of games and demos that I had on hand. I knew I wanted one, but actually using it totally sealed the deal. Still going to wait for the consumer version though. I can only afford to buy 1, so I might as well wait for the most polished version. I hear DK2 is pretty sweet though. I could ramble all day about the Rift, which leads me back to the problem I mentioned above about shiny things.

I think I probably spent more time experimenting and demoing the darn thing for people than I did actually developing for it. The thing was, integrating it into Unity was ridiculously easy. I had it up and running in probably less than an hour, so I guess I just kind of took it for granted that it was no big deal to get it in the game. Which was kind of true. It did end up making it into the game, but I don’t think we really used it to its full potential. It was just kind of like “well… here it is. Glorious 3d VR” and that was the end of it. Mistake #1.

I guess I should explain a bit out our project too. Our game was called FireCode Red. The premise was that it was a 2-player co-operative game where one person (using the Rift) had to break into and navigate to the top of an office building, while another player who could only see blueprints and diagrams of the office had to navigate them. They could also interact with the environment a bit by opening doors and disabling security systems. Kind of like the office-escape scene in The Matrix. Cool idea in theory, but we did not execute it well. For starters, we decided that the 2-player aspect would be achieved with networking. My coding partner Scott and I both had experience with a Networking package for Unity call TNet, and we thought we could whip it up pretty quickly. Mistake #2. Any time networking is involved, things get ridiculously complicated to code, and worse to test. We both knew this, but did it anyway. We could have maybe done some sort of split-screen instead, but then the Rift wouldn’t really work and we were already too enamoured with it to ditch it. Or the 2nd player could navigate from printed documents instead, but we really wanted the navigator to have some interaction with the environment, and to get some real-time feedback on things like enemy locations. So I don’t know what we could have done differently to save it other than just picking a better scoped idea.

We also knew that the scope was too big from the get-go, but we figured we could do it because we had a large team. That’s right, Mistake #3. I should have learned it in year one of GGJ that having a large team can and will actually slow you down more in 48 hours than speed things up. It’s kind of obvious when you think about it, especially if you have any experience in the real world with large teams. Managing more than 4 people can be a full-time job. So why did we think we would be ok with 9? Especially 9 people who didn’t know each other very well and had very little experience working together. Sometimes reality and logic go out the window at the beginning of a GameJam, because you are so pumped about your idea and what it could be.

I also forgot a very important lesson that I learned in 2013. The whole “If you get stuck on something, change and adapt and move on” thing that was so successful for me in 2013 went right out the window this year. Because I knew we had way too much work to do in the time we had, I decided to try and cut down on level design by making the levels procedurally generated. Why not? It worked well the previous year. Mistake #4. I forgot that with procedural generation, while it can speed up content creation, is heavily front-loaded on the design and programming aspects. For some reason I thought I could whip up a level generator in an hour or so and move on. I ended up spending probably 12 or more hours on it, just to completely scrap it in favour of a hastily thrown together single level, because I could never get the damn thing to work right. Not only would it generate levels that were often unsolvable, but there was the issue of making sure it would generate the same level for both clients (it was networked, remember?). If I had ditched it after hour 2, I could have spent a lot more time making a polished, nice-looking level, and still had time to fix some of the other broken features we never got in.

So yeah… Not great. I would link the game if I could find it right now, but there’s not much to see anyway. Our team was artist-heavy, so we had a lot of cool artwork, an intro-video, and even a bunch of funny voice-work that unfortunately never made it in. Which was a shame. I resolve that 2015 will be different.

First of all: No large teams! 4 or 5 people max. If I find my team growing too large, I think I would rather break off and go solo than try and do a large team again. Less pressure that way. Second: No shiny technology that Im not already a pro with. That means no Rift, Kinect, Networking, Holodecks, Brain-interfaces, or digitizing (a-la Tron). I might still use procedural level generation, but only because I got a wicked Unity Package for it that I’ve been using this year (more on that at a later date). Third: Remember the 2-hour rule. Seriously! There is no way a feature will be worth it if I have to spend that much time on it without getting anywhere.

Here’s to 2015!



Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: