Last night I attended the monthly Unity User Group meetup here in Toronto (shout outs to Adam for organising and Uken for hosting). This month, a few of the boys from Blue Isle Studio did an informal postmortem of their newly released game Valley.
The presentation was great. The guys demo-ed the game to the room, showed how those scenes were reflected in the Unity editor, and shared great thoughts on design and development. I am now super duper looking forward to biting into Valley this weekend. It's basically got Tribes' skiing. And grapple hooks. And double jumps! And set in Canada. And has cool sprite buddies. And spoopy government facilities. And and and...
When it came time to ask questions, I seized the opportunity for some insight on marketing. The question I asked was, "Was there any one marketing move you made that provided the most return?"
The answer was a simple "no". Instead, they responded that one of their marketing failures was miscommunicating the size of their studio. Valley is a game that looks so good, the fact that it was made by less than 10 people is lost on the audience. The game didn't have a personal touch associated with its promotion. They felt this hurt the game's reception.
While we've tried to create our own branding and marketing for Monumental Failure, neither one of our two-man team here at Scary Wizard Games is a marketing expert. Hopefully we can take some of the lessons learned from Blue Isle Studio and make sure we push our small studio status. Maintaining this dev log has been our attempt so far at making our studio more personable (as are the pictures of our dog on Twitter), but only time will tell if we've succeeded.
Thanks for reading!
💖Your bloggy buddy,
P.S: Don't forget to e-mail us, or hit me up on Twitter. I love talking games, and would love to talk to you! :D
I received a lot of good feedback the last time I wrote about some of the tools we are using to make Monumental Failure. I thought I'd do a cheeky follow up.
ScreenToGif. I've been using ScreenToGif since it was a preview version. The current version has a full featured editor, with options for cropping and watermarking and changing playback speeds and drawing it's simply an amazing free tool. Best of all, it just works! I've never had a problem using it, and when gifs are a better way of communicating your game than static screenshots, it's pretty key for the indie developer.
Neil Cicierega's Work Thingy. Yeah, so, the guy who made Bustin' has this little app that judges you when you're not working. You tell it which applications are work (ie. Unity), and when you use them it's happy and the timer goes up. When you don't use those apps it turns red and judgey and the timer no longer counts up. Simple, motivating, enlightening.
EmojiKeyboard. I'm no marketing wizard, but, @ScaryWizard's most popular tweets have emojis in them. Hardly scientific, but ¯\_(ツ)_/¯
I'm going to keep this post short and sweet, thanks for reading.
In the last dev log, I mentioned that Monumental Failure's camera would be controlled by the game, not the player. In this post, I'd like to take some time to discuss lessons I've learned working on game cameras.
Before working on Monumental Failure, I had experience working on 2D game cameras, specifically with the games Battle Run and Super Battle Racers. In those games, the camera uses a few simple rules. The camera tracks the player character. If the character is within bounds, the camera asks the level where best to situate the camera. If the character is not within the bounds, the camera does its best to follow the character anyways. Though the actual implementation of this system would be represented by hundreds of lines of code and hundreds of points of information specified by the level designer, the key idea here is that 2D cameras are best left to the designer.
As a side note, Mushroom 11 creator Itay Keren, in his massive treatise on 2D game cameras, essentially comes to the same solution.
The question then is does a similar, level-design driven approach make sense for Monumental Failure, a 3D game? The simple answer is no. Battle Run and Super Battle Racers are concerned with tracking a single character who moves in 2D screen space along a level that is almost one dimensional i.e. you can move left and right, with little variance in up and down. The level designer need only provide a list of points that the camera then interpolates between. In Monumental Failure, I have a variable number of things to track - a piece of a monument, and the characters that are pushing it - all of which move in three dimensions of space. Trying to populate the levels with three dimensions of camera direction would be a nightmare. Instead, I need more general solutions, and need to be much more selective of the camera controls which I expose to the level designer.
The first rule I impart to the camera is to find a relative forward/backward (depth) axis. I define this as the axis made from the target position to the pushed stone's position, removing any vertical change. The camera uses this depth axis and is placed at a distance behind the stone's position, as well as an angle up from the stone's position. The distance and angle are defined by the level designer. The camera attempts to maintain the angle and distance from the stone as the stone moves. With a little bit of smoothing, this method is very good for keeping track of the stone, but I need to do a little more to make sure you can see your push-people.
To assure the push-people are seen by the camera, I call a function that returns their individual screen positions. If the function returns a number between 0 and 1, they're on-screen. If anybody is off-screen, I increase the distance that the camera is away from the stone until the characters are back on screen. To make this camera rule more graceful, two changes are needed. Instead of checking a range of 0 to 1, we instead want to check something more akin to 0.1 to 0.9, so if an object is maybe going to be off-screen, we are getting ahead of it and pulling the camera back preemptively. Secondly, the speed at which I pull the camera back needs to be able to accelerate in the case that something got off screen fast.
When the player approaches the target for their pushed stone, the level designer has the option of rotating the camera to give the player a better sense of how lined up their object is. This camera feature was implemented very early in the game's development, and my play-testing has me questioning whether this is a helper or a hindrance to the player. Level designer Spencer says, "it depends."
When I write it out, the rules for the camera may sound simple. The reality is that it's a living system that needs new features and tweaks as the level design informs them. Just this week, I needed a function that would allow me to provide an additional amount of positioning to better highlight action down-screen from the stone and people.
Despite my previously stated concerns that handling camera controls on the developer's side would be a headache, it's actually been a satisfying challenge. I make it easier by providing relatively few handles to tweak it on the level design side.
While I'm sure there are still challenges to come and changes to make, the current camera is actually pretty great.
I have the belief that for Monumental Failure to be a success, the ability to share it with friends and family is a key factor. To clarify, I know that Monumental Failure isn't going to be the game that occupies hundreds of your gaming hours, but I want it to be a game you're going to show your brother, your sister, or even your grandma. I want Monumental Failure to bring people together to have a laugh, and enjoy a moment of comical frustration with whacky fun video game physics™.
To achieve this level of share-ability, the game has to be accessible. If someone has never played a game before, will they be able to play Monumental Failure? What barriers does someone have to overcome to play it?
In this week's dev log, I'd like to share some thoughts related to how I'm answering the above questions and making Monumental Failure more accessible.
The first thing I ever designed for Monumental Failure consisted of 4 capsules that pushed a 3D rectangle up a ramp on to two other 3D rectangles. To give the player a degree of control fidelity, it made sense to assign pairs of capsules to separate joysticks, left capsules on the left stick, right capsules on the right stick. I needed to allow the player to end the round, so a button press, 'A' , fit this need. Move your "guys" with the sticks, lock it in with a button.
In developing the Monumental Failure proto-game I found myself with an extremely simple control scheme. I decided it would make for a more interesting game if these controls never changed and every challenge was prescribed by the level design. This has the benefit of only needing to tutorialize the controls once, which combined with simple controls gives a huge boost in accessibility.
Assigning all the joysticks to character movement eliminates the right stick's typical function - camera control. Asking the player to be a camera operator could be a huge barrier to play, so we remove camera controls from the player's responsibilities, and instead make it a responsibility of the designer. This definitely creates some headaches for the designer, but it's a huge gain in accessibility.
Additionally, as a concern for accessibility, I have to take a macro look at the game, and ask, is it friendly? Goofy situations and a general comedic tone help, but, is it fun to fail? Can you enjoy yourself even if you're not winning?
I sum up all these questions and concerns into a simple mantra for myself: "Can my dad play this?". My dad doesn't play video games, but he has a sense of adventure and embraces new experiences. He has the right attitude and the perfect lack of video game knowledge to make him an ideal tester for Monumental Failure!
It just so happens that Dad stopped by this week, and we got him to play through the Stonehenge and Roman Aqueduct levels. He navigated both levels with competency. Surprisingly, his biggest challenge was figuring out how to press start on the game's title screen. I guess I have to make that more accessible!
I hope in the future if you hear me talk about accessibility as an element of game design, this post will enlighten you as to what I mean by that.
Thanks for reading!