I’ve dived into a fun side project called tinysmash, and it’s an homage to RoboWar, the 1990 Mac programming robot battle game.
There are certain very magical things about RoboWar, summarized as follows:
The concept of a “robot” is very abstract, since you can create any icon art you want. This allowed for conceptual robots and subverting and playing with robot design.
The game held tournaments, and you could build your robot against copies of the recent tournament winners, so the overall metagame continued to evolve.
I also want to make at least one change to the RoboWar formula:
RoboWar’s very low-level programming language RoboTalk actually gets in the way of tactical focus. I want to use a higher level language that gets the players thinking strategically right away. This comes at a cost of “hotrodding” your robot by shaving off clock cycles, etc.
I mocked up a basic arena, and today I searched for interpreters that could run the code to control my robots. I considered Python and LUA interpreters, but decided on Dynamic C# by TrivialInteractive. It’s a wonderful, simple package, and I’m using their tank game demo as a basis for further tinkering:
In my first few conversations about adapting Watership Down to a game, some fellow game designers told me about Shelter and Shelter 2 by Might and Delight. In these games, you play as a mother badger and mother lynx, respectively, each with a litter of babies that they must lead around, feed, and keep out of danger. Shelter seems the more relevant piece to mine, since it focuses on (mostly) prey animals facing the dangers of a journey through the wild, toward a new home.
Warning: Spoilers below
Here are some of my takeaways:
The simple mechanic of bushes as cover is quite effective. It feels right that the cover should be an entirely safe zone, as well.
The bird is very interesting. It felt good that the bird travels in a repeating path; it doesn’t end up feeling stale of lifelike. And the sense of danger that the bird imparts feels appropriate tempered by the repetitive pathing. If the bird were any smarter or more random, that section of the game would feel absolutely awful and punishing.
The game missed an important narrative beat when one of my badger cubs was snatched away by the bird. In fact, since I was moving quickly toward cover, I know for sure that it had happened until I counted the cubs later.
The game felt very level-designed. It did not feel like wilderness. I believe there is room for a blend of open world with authored encounters. The manual level authoring was quite important for the bird encounter to work well.
Similarly to Leafcutters, Shelter uses color saturation of characters’ textures to show overall health—which in this case, seems equivalent to hunger and nourishment. It felt good to have information represented in the world, without a GUI. It was also a bit frustrating, however, because it was a bit overly subtle, and I didn’t realize until far into the gameplay that some of my cubs were hungrier than the others. I think that for Watership Down, I’ll want to further the techniques of conveying game state information via diegetic effects, whether realist or abstract.
The babies moving on their own felt very important. It gave me a sense of suspense, and forced me to watch them, slow down for them, and count them. I’d been toying with some ideas of having rabbit wander a bit in Watership Down, and this makes me feel much more sure of that direction. Whether they’ll each be directly controllable, or they’ll follow along with a single player character rabbit, I don’t know yet.
I wrote this as a response to an email from a Carleton student (I’m an alum from ’04), and I thought I’d share it with y’all:
Oh man, thanks for writing.
My MFA at USC’s Interactive Media and Games Division has been one of the best things I’ve ever done.
Here’s the long and short of it:
Some programs to check out are USC IMGD, NYU’s ITP, and UCSC’s new video game program at their Arts Division.
Some folks at IMGD came from Computer Science, like me, and others came from such wide ranging fields as Classics and journalism! IMGD is a division of the cinema school, and they work with the CS department, but they are in the cinema school precisely because they focus on designing experiences, *not* focusing on the tech as an end in itself.
My classmate from USC, Elizabeth Swenson, is now a prof at UCSC, along with a bunch of indie game developers that I respect the hell out of.
So, onto your bullets:
Did you enjoy it?
Yes, and it was incredibly formative. I wish everyone could do it.
Has the degree been useful?
Yes and no. I moved from LA to SF right after graduation, which ended up putting a major damper on my work connections out of school. It turns out that in LA, everyone expects you to stay and work in LA forever, so the networks can get quite local. If I’d stayed in LA, I’d have a lot of job opportunities at well known entertainment studios as well as smaller startups.
As it is, the degree is useful in that it impresses more established potential employers. It turns out that smaller clients have never heard of the program and don’t care that I have a degree. But larger, more in-the-know employers are impressed and know that USC IMGD is world class.
Did what you learned serve you well in the real world?
Yes. Although Daniel Ponce (from the program as well) and I jumped right into running our own studio, and we had no business training at all. So, we ended up doing a lot of contract work, and the easiest contract work to find is in programming, not design. So now I’m making my way back toward design, which uses more of my USC skills directly.
A note on game design: Although they are actually overlapping fields, most companies treat game design and programming as different tracks. So, be aware of how you present yourself, since they also want to classify you as one of the other from the first words out of your mouth.
But yes, simply put, USC taught me to take high concepts and turn them into game ideas, prototype them, and create them. I consider myself as a designer “of that school” of design.
Do you have any suggestions for classes I should take (CS or otherwise) that might be useful if I want to explore a similar program?
You’ll want to make an interactive prototype or series of prototypes that you are passionate about and which demonstrate an new experience or take on things that people haven’t seen before. Not necessarily just a game that introduces a new mechanic, so much as thinking more broadly in terms of “wouldn’t it be cool if…” or “I would love to experience…” And, digital computer-based is fine, but I encourage you to explore paper prototyping, building crap out of cardboard, projectors, VR, etc, too.
If there’s something you find passion for in a non-CS class, try thinking of how it might translate into an interactive experience! And, talk to your prof and see if you can do it as an independent study! And the more personal of a passion you find, the more likely it’ll be unique and interesting and a breath of fresh air. 99% of the ideas that float around the industry are just ok, and very repetitive. It’s the weird ones that will really appeal to schools and high end design organizations.
Any miscellaneous wisdom you’d like to share?
When you do things because you think you should, they lead to more things you think you should do. When you do things you want to do, they lead to more things you want to do.
There is no way to tell a terrible idea from a great idea. When creating something, first find the solid, just ok idea, and have that as a back pocket solution. Then, try making some experimental great/terrible ideas.
If you’re brainstorming and you have an idea that makes you laugh out loud, it’s probably a hell of an idea.
Add a prototype to your portfolio every 6 months, because sometimes people with funding ask to see projects and ideas that “represent you.”
Playtest and iterate, with new users. Playtest as early and frequently as possible. Playtest before you are ready to.
Your income probably won’t always line up with your creative output. Keep making things even when you have a separate day job. And also, endeavor to find your passions within your paid work as well. But don’t panic if you end up doing paid gigs that aren’t what you “really want to do.” Just keep making stuff regardless.
Alright! Best of luck, and feel free to ping me whenever. I really enjoy lending a hand to Carleton students, especially to help with the transition from Carleton to real world. Back in ’04, that was a really harsh transition, and a lot of us ended up a bit stranded for a while.