The Ends Justify the Means

Last week, I coded a draft of the game’s ending. Allow me to be terribly vague about the specifics, but I’m very excited about what I’ve been producing.

I’ve always had an ending of some sort planned for Against the Wall, but on reflection, I never had a very good one. The goal that I listed on the Kickstarter project was that your are “struggling to return to a village located miles above the starting point.” Nearly two years ago, that was a major component of the ending. It’s changed and evolved much since then. The other week, during a discussion with my friend Atlas, I had an idea for a new conclusion that would be a fun challenge for me to implement. Since then, I’ve added a couple new layers to the meaning of this ending, and smashed my fists into a keyboard until it was coded.

Note that I still have a ways to go on the other set pieces of the game, the last thing that I produce before beta should be the intro area.

Progression

Let’s talk about the game’s progression.

Part of this game’s original experiment was to create a linear game that’s gated not by invisible walls or narrow corridors, but by the sheer difficulty of sequence breaking. You could skip almost everything and head right for the highest city, but you’re not exactly making it easier on yourself. The experiment has changed a bit. I will be including some backtracking as part of the progression and visits to side areas, though this will always be aided by rail vehicles or elevators.

This change was born out of a suggestion that I received at a the Game Center’s Practice conference last November. I asked a crowd about the challenge of guiding players through a linear path in an open world. The best recommendation that I received, via Kevin Cancienne, was that I should just embrace the openness of the world. I originally intended a more-or-less straight linear progression from city to city, the idea being that a player could jump off the highest town and view all the bricks they extended on the way down. While this sounds neat, I’m more interested in creating a good experience on the way up, and fleshing out the world horizontally.

So I amended the plan, but initially kept the same ending. I won’t go into specifics, but the original ending was predictable and cliché. I wasn’t excited about it, and this lack of excitement was a stumbling block for me for quite a while. The real obstacle was my own obstinance; I was sticking to a set of narrative points that I developed back in May 2011 when I started the project. E.g. I won’t reveal X, I won’t explore Y, the player can’t do Z. Well, I broke my rules in order to create something cool. I’ll forgive myself eventually.

School Daze

I should mention, I will have a job and a few classes during the semester. One of these classes is for a thesis project that is the complete polar opposite of Against the Wall: a networked multiplayer sci-fi 2D twitchy action game. I’m trying to position Cartwheel as an eclectic indie studio, a bit like how Double Fine develops an odd mix of cool, quirky games. I suppose the thread that will tie all of my games together is a kind of expansive minimalism. If that fails, I could try to play the pretentious artist whose work is never understood boo-hoo.

What I’ve Been Playing (With)

On Monday, I messed with the Game Center’s Oculus Rift virtual reality headset (OVR). What’s great about this device is that it gives you a good sense of vertigo and a feeling that you occupy space in the world. It’s perfect for Against the Wall, though I cannot bet that the thing will go mainstream. The biggest problem with OVR is motion sickness. I played Half Life 2 with the headset for all of five minutes before I had to stop in my tracks. I’m just not used to experiencing games this way, I suppose. Still this could be a great feature for VR buffs and anyone who wants a fully immersive experience on the Wall.

So, I played with the headset and poked the SDK a bit. From this, I’ve made a list of what needs to be done in order to implement this feature:

  • An OVR  mode should be added to Video Settings in the Menu. This would override the following settings:
    • Resolution will be fixed to 1280×800, full screen. This is the OVR’s screen resolution.
    • The crosshair will always be on.
    • Anti-aliasing will be forced on and set to 4x, rather than optional and using 2x.
  • Currently, the player has a camera that renders the world, another camera is used for the GUI, and a third camera for the loading screen. To be compatible with OVR’s stereoscopic 3D, I need one camera for each eye, and a special script that adds filters to them and controls how far apart they are. Swapping the camera set-ups will be the most difficult technical challenge with OVR.
  • I need a mouse-driven crosshair, rather than the fixed reticule in the center of the screen. This would present the steepest game-feel problem with OVR.
  • The Character Motor and Mouse Look scripts need to be modified to account for head-tracking and crosshair tracking.
  • The wand would appear to be hovering in mid-air. A solution may be to tie its position more closely to head-tracking movement, so the player never sees the whole thing.
  • Xbox controller support.
  • Configuration and calibration options in the video settings menu.
  • Disclaimer message. I’m not in the business of replacing keyboards.

Implementation should take two days of work, with another day for testing, and another for fixes (generous estimates). It will be a weekend project for sure, as this is a secondary feature. I should be able to provide an update on this by the end of the month.

Cartwheel Games

The Wheel Keeps Turning

Cartwheel Games LogoToday, I founded a new game company called Cartwheel Games. Perhaps someday I will be able to justify the ‘s’ at the end of my company’s name, but for now, Against the Wall is the only title being developed. I spent the day setting up a new (rather empty) website, YouTube channel, Facebook page, getting the legal stuff squared away, and writing a blog post.

This has been a long time in the making. I came up with the name early last year, but never saw an imminent need to actually register a business. I also redesigned he logo dozens of times before I settled on the current version. I’m rather proud of it. I suppose that the next step is to write a provisional mission statement. How about this:

The mission of Cartwheel Games is to create and maintain whatever games Michael Consoli feels like making. Quality.

In the process of setting up the company, I’ve been trying to separate my personal and business online identities with mixed success. YouTube doesn’t allow channel changes or transfers, so I’m just going to leave the old consolim1 channel as it is, and will only post to CartwheelGames in the future. If you subscribed to the former, I suppose you should switch over to the new channel.

Oh, and I’ll still be using the MichaelPConsoli Twitter account, no change there.

What I’m (not) Playing

Steam claimed thirty of my dollars on the last day of the Summer sale. I have yet to play any of these games, but the list is: Machinarium, Q.U.B.E., The Swapper, and The 39 Steps. I figured that puzzle platformers and adventure games could serve as research for Against the Wall. I turned down Don’t Starve, since I actually want to work in August. Oh, and I’ve been trying to get my hands on a copy of Catherine. At one point people were drawing parallels between Against the Wall and this fast-paced third-person puzzler/dating sim. Go figure. Though I should play it for reference, regardless.

Oh, and Virtue’s Last Reward consumed a weekend, in the same manner that its predecessor 999 did in June. Contact me if you’ve played either game. I really want to get into a discussion about all of the crazy stuff this series has churned out.

Props

This week has been a weird one so far. The passing of Giant Bomb’s Ryan Davis hit me pretty hard. I’ve listened to his voice everyday for five years in podcasts and videos. I really admired the guy, his opinions, his wit, and the depth of his pop culture knowledge. The man had a deep fear of heights, so I was looking forward to his reaction to my game. My thoughts go out to his wife, his family, and his many friends.

I needed to get my mind off of things the last three days, so I opted to dip back into coding, which requires more concentration, rather than advance the art. I created two new things that gives me some flexibility with level creation. Namely, Dynamic Super Props and Prop Containers.

Props in Against the Wall come in six flavors:
Static: Immobile permanent objects, they are not saved in the player’s game file. e.g. houses, the windmill.
Dynamic: Mobile props that don’t respond to physical forces (kinematic). They can transition between chunks and be saved in the new chunk. e.g. Elevators.
Entity: Limited-mobility props that the player can interact with and change the state of. e.g. levers, buttons.
Dynamic Entity: Mobile props that are physics-enabled (rigidbody). E.g. the scarecrow, anything that can be picked up.
Super: Immobile props that are very large. These props are not saved with chunks, but rather are saved and loaded from files representing large areas called super chunks. If something needs to be seen from very far away, the prop is marked as super. e.g. cities.
Dynamic Super: This is the new category of prop. These props are for anything that can be seen from far away and may have multiple state changes or movement. e.g. trains, rising bridges, large platforms.

The other innovation is a special sub-class of prop called a Prop Container. These props are capable of generating and managing other props. If I want to have a train, the container can spawn the cars, the seats, controls, etc. All containers themselves are either dynamic props or dynamic super props, since they are meant to move around. All that’s left is the bug testing for these features, then I’ll return to the art.

I’ve been co-working with friends frequently, going to this cafe or that, being as productive as possible. I should mention that I participated in Molyjam last weekend, and made a small puzzle game with my friend Atlas.

One more thing, I made a few models for what may be a “facility” or “factory” tileset. Not in love with the design, so there will be a few more iterations on the sketches. That’s it for now.

More Progress on the Art

Completing the Outpost Set

I’ve managed to get the Outpost models into a presentable state, inside and out. Rather than use multiple textures on each mesh, I am using vertex colors to add red coloration to the building components.

atw-outpost-exteriorOutpost Final 2

I also recreated all of the generic material textures for the game (wood, metal, etc.) to be a bit more flat and fitting with the minimalistic aesthetic. Excluding furniture, the outpost is complete. Tomorrow’s task is to start work on a heavy industry building set.

Other Progress

I’ve submitted the latest version to IndieCade, here’s hoping that the game becomes a finalist. I’ve fixed a boatload of bugs over the past couple of days, mostly centered on the elevators and checkpoints. Here are a few bug fixes that may help you if you are a dev:

I’ve fixed this one audio bug that was annoying me for a long time. Apparently there is a bug in Unity’s audio system that causes popping or scratching sounds when 3D audio is played or stopped. Setting the doppler variable to 0 averts the problem entirely.

In general, when modeling  a modular set, make sure that the objects in the set overlap each other by a very tiny amount when positioned next to each other. That is, if you have a wall mesh that is meant to occupy a space of 4 x 4 x 0.5, it would pay to extend it to 4.0001 x 4.0001 x 0.5001. Why? Due to floating point imprecision, there will be a very tiny gap in between meshes that line up exactly next to each other. You will see ugly seams everywhere unless you make minuscule overlaps between objects. The overlaps are not readily visible, but the seams that they prevent  are highly noticeable.

Greenlight

The game’s Greenlight rank is now at 98% of the way to the top 100. It’s been around this level since mid-January, feels like being caught in limbo. Then again, I haven’t exactly been on top of marketing the game.

What I’ve Been Playing

I played through Nine Nine Nine over the weekend. This game hooked me pretty bad, I couldn’t stop playing until I saw every ending. The story was engaging and surreal, the puzzles difficult but fair, and the characters subvert the archetypes that they seem to embody. I was able to figure out who the mastermind was early on, but the game still had plenty of other unexpected twists and turns. Can’t wait to pay the sequel.

There’s another visual novel called Save the Date that you should check out. It’s difficult to describe it without ruining the experience, but it scratched a few of the same itches that Nine Nine Nine did, only in a much shorter game.

Second Pass of the Outpost

On Friday, I had second go at the models for the outpost. I divided each mesh into submeshes, so that there can be multiple materials applied to various parts of an object (in this case, wood and stone). In the pictures below, I’m just using some generic stone and wood textures, and will replace these with brick, tile, carved wood textures in the near future.

Here are shots of the outpost in-engine:

Outpost Second Pass ExteriorOutpost Second Pass Interior

In the first image,  you can see the outpost’s gatehouse and a balcony to one side. The balcony has a broken staircase on the right that points towards the windmill building.

The second shot is of the new interior models for the outpost. There’s a door, some room partitions, staircases leading to a second story, etc. I should note that I split all of the 2-story wall sections in half, so that I can mix and match windows, entryways, and flat walls. Also, I can make buildings of any height by stacking these wall segments on top of each other.

Next step is to add the final textures and script the opening sequence.

Website Woes

My site was slow for a while now, but I took some time yesterday to root out the problem. It was taking 10 seconds to load, and not indicating that messages were submitted in the contact form. Also, I disabled the forum. I’ll re-enable it when I release something new for when people need to submit bugs and such.  Bbpress forum software is severely lacking in features, and it’s near impossible  to export data out of. It’s a real bummer to use, but eh, it works with WordPress.

What Else

I’ve been co-working with a few of my New York indie developer buddies Itay and Joe. I’m much more productive when I have other people in the same room as me to work out problems with, even if hey are on their own projects. Can’t believe I didn’t try this before. Also, it gets me out of this apartment from time to time.

Just bought Kairo on Steam, and It’s right up my ally. Blocky minimalist art, smart puzzles, and monolithic stone structures? Count me in.

 

First Pass of the Outpost Set

Yesterday, I spent the day working in a coffee shop in Brooklyn, whipping up some meshes. These meshes are part of a modular set that can be pieced together into buildings (walls, roofs, columns, etc.). For the demo that I’m submitting to festivals, I plan on starting the player in a building that uses this set. For now, I’m calling these assets the “outpost” set, since this initial building is rather remote from civilization.

In the first image below, you can see my inital 3D sketch, a few grey boxes lumped together with some indication of a doorway. I was originally planning a three-level shanty. The middle building is my second attempt at a sketch. At this point, I had decided to make the building look more like a tower or castle, with arrow slots, two-story-tall walls, and thick entablatures. I then set about using this sketch as the basis for the modular components. I took these components, which are arranged in the second picture, and assembled them into the building in the top picture on the right. I also decided to add kite-shaped crenels to the set, just to make it look cool.

Outpost, First Pass,Progression
Sketch 1, sketch 2, and the assembled outpost
Outpost, First Pass, Components
Modular components of the outpost

Keep in mind that this is a very rough first pass at a mesh set. As stated in my last post, I will just do a box unwrap on these meshes and assign them multiple textures each. This is not the most efficient way of modeling/texturing, since it increases draw calls. The alternative is to use texture atlases, which I really, really hate generating and takes up a ton of time. Also, creating buildings out of small modular components can potentially slow the load times for the particular chunk that they are located in, since there are more objects in a location. On the plus side, the modular set means that I can easily create buildings of many shapes and sizes.

I haven’t decided the color set just yet, but I am leaning towards white walls and red detailing. The whole thing looks more like a mini palace than a military outpost, so I may be adding some components such as wooden scaffolds, cranes, and lookout turrets to make it a bit more utilitarian. The whole game will feature rather blocky and minimalistic structures like this one, keeping with the stark aesthetic of the world while also operating within my capabilities as a modeler. The next step will be to create the interiors, doors, platforms, support brackets, details, and materials.

June Update

Hey everyone! I’ve been working towards an IndieCade submission for Against the Wall, trying to at least get a “starting area” in the game and a few more settlements. I’ve mentioned this before, but texturing has always been my biggest weakness. Blender is a bit convoluted when baking a bunch of textures into an atlas, but it’s a free tool and what I can afford. As such, I’ve taken a cue from Morrowind and other TES games and am just doing a general cube unwrap and slapping on flat textures (wood, stone, etc.). It fits with the minimalist art aesthetic, and cuts down on production time for assets.

My major challenge right now is level design. It’s very difficult to craft vertically-aligned levels that have a good flow to them. I’m thinking that some HL2 or Minecraft-style ladders may be in order. The problem with such ladders is the whole planting your face right up against a texture, and they are not very fun to use… but it may be worth an experiment. Also, I was avoiding including building interiors, but it has become apparent that I cannot just have people crawling around the outside of buildings. Sure, most structures will be locked or in some way obstructed from entry, just part of the scenery, but I do need some contraptions housed in enclosed spaces.

I’ve spent the last couple of days coding some interactive environmental elements, just creatures and objects that provide additional challenges, or contribute to the sense that this is a living, breathing world.

On Exploration

I’ve been doing research into recently released exploration games, looking for inspiration. Since the semester ended, I’ve played Miasmata, Antichamber, and Starseed Pilgrim. Played through most of the Myst series as well. Mostly, I was looking for how each game handles second-to-second action, and how the game world is revealed.

I was toying with the idea of removing quick-saves in favor of checkpoints based around beds and such. However, I realized that this would limit the space that players could explore, if they want to wander deep into the wilderness, for instance. Also, the game is challenging as it is, what with the constant threat of falling and losing progress. Though I would like to avert save scumming, I also don’t want it to be unnecessarily brutal.

A few other notes: each rest area/checkpoint should feel like home, a refuge from the perils of climbing the wall. These areas are not quite hideouts, the player has no inventory and there is no bed mechanic, etc. but I do want to make specific areas that the player would feel like living out of. This was one of my favorite things to do in Morrowind and Minecraft, just setting up camp and exploring an area.

What I’ve Been Playing

I’ve played through Uru: The Complete Chronicle. As a decade-old game, Uru game has no business being this gorgeous. I was really able to immerse myself in these little worlds for a time. CYAN seems to have a thing against repeating artwork, nearly all models in the game are individually crafted and appear once. Oh, and the sound design is impeccable. Some of the puzzles leave a lot to be desired, especially since many were originally intended for multiple players to solve. Still, I liked the ages in this game, a number of the puzzles were entertaining, and the atmosphere was spot-on.

I finally got around to finishing Antichamber. Now that’s an amazingly designed videogame. It left me feeling like a champ, the puzzles were difficult but not so obtuse that I ever needed to consult a FAQ. Like Starseed Pilgrim, half the fun was in exploring the mechanics through experimentation. It never explains anything, outside of fortune cookie-like hints on panels scattered throughout the world. Also, the mechanics do not overstay their welcome, each new mechanic receiving only a handful of puzzles before a new paradigm is introduced. I must confess that I’m a completionist, so I couldn’t put the game down until I unlocked all the secrets and filled out the game’s map. As a first person puzzle-platformer made by a single guy, I had to check this one out to get a sense of the progression, feel, and story.

Then, there is Miasmata. The game is just pure exploration and filling out a map: a cartography-based game where you play as a plague-ridden man abandoned on a lost island and hunted by a strange hybrid monster. Again, as a completionist who loves games about being isolated and lost, this one got its hooks into me. Very impressed that it was made from the ground up by two people.

Two Year Anniversary

Hey everyone! It’s now been two years since I’ve started Against the Wall, back during Ludum Dare #20. Here’s a check in on what I’ve been doing relative to the project.

EuroGamer

Rick Lane of EuroGamer did an article featuring Against the Wall recently. The main focus of the article is climbing games in general, mine closing out the article with a first-person example. It was a fun interview, check it out.

QA and Summer Development

I’ve been doing live playtests every week and fixing the bugs that have cropped up in the most recent builds. Progress has been relatively slow, but at least I’m meeting people on a regular basis and interacting with them about the game. Starting the 17th and going through the Summer, I’ll be concentrating my efforts on the narrative content of Against the Wall. As I mentioned in December, I plan on working with one of my friends from the Game Center MFA program, Shoshana Kessock, on this narrative angle. I need the outside input, and someone to share my wilder ideas with. Also, I’ve started a survey as a prep for this Summer crunch. I’ve been looking for feedback on the game’s design, mostly in the area of measuring player expectations. Or, you know, just send me an email via the site’s contact form, that would also be cool.

Redlight Greenlight

I am hesitant to promise any specific dates for the future, including release dates. Greenlight is still an ongoing project. I’m still at around 90% of the way to the top 100, and have been hovering there since January. I’d appreciate any help that I can get with this one, since it has been a steep climb.

What I’m Playing

Who has time to play games? During commutes, I’ve been sticking my nose into Fire Emblem: Awakening. I’m at the halfway point, and have discovered the breeding… I mean marriage mechanic, where you pair up your characters. This game really rewards plodding gameplay, to the point where grinding random encounters is highly necessary, and new encounters only pop up a few times per real-world day. Luigi’s Mansion has occupied a bit of my time, but the incessant tutorial/narrative framework is getting on my nerves. Egad.

I’ve played some Metroid Prime, spent an hour with BioShock: Infinite, in part to check on the game feel and control schemes of each. Research. Seems as though most of the things that I play are in the context of AtW. Also, I envy BioShock’s cloud system like crazy. I’ve spent enough time on the current sky, so I’m checking it off the list. Prime’s scanning feature is so damn neat and makes exploration very enjoyable. Doesn’t fit with my game, but it is something to remark on.

Spring Break Crunch, Oculus Rift, and GDC

No Such Thing as a Break

My semester at the NYU Game Center is moving at an unrelenting pace, halting briefly after last week’s midterms. Currently I have seven game projects in the works, including Against the Wall. To summarize what I’m doing at the moment: two CCGs, a digital version of one of them, a minimalist computer game, a top-down space shooter, and a video game design doc/pitch. There’s also this one semester-long project for a class called Human Computer Interaction that is somewhat related. Basically I’m juggling a ton of things at once. I’m technically on Spring Break right now, though really I’m just using the time get as much done on Against the Wall as possible.

So far, this work has constituted remaking a location that I refer to with the non-descriptive moniker “Station 4b”, a settlement located in a forest. The earlier versions left a lot to be desired in terms of level design. Now it has a much simpler and straightforward path to take. Here’s a post that I did on the first draft. The overarching theme of this location is that it is something of a “cage.” Here are some pics from my first pass at the new version:

Against the Wall - Forest City - Station 4bAgainst the Wall - City in the Forest - Station 4b

Also, I redid how props are loaded to prevent a bug that partially broke chunk generation.

Oculus Rift at IndieCade East

Against the Wall at IndieCade East
Action shot of me putting a bottle down while leaning on a rail. Also, someone is playing my game. Image owned by IndieCade, not me.

I should have mentioned this after IndieCade East, but I was able to try on the Oculus Rift. It was very interesting, but I’m still highlt skeptical. It gives you a wonderful sense of your position in the world and the space that your virtual body occupies, which would be absolutely perfect for games like mine. Really, I’ve never had such a severe case of vertigo playing a game as when I leapt off the side of Rift’s demo world (for science). I am curious as to how they solve the aiming problem. That is, in FPS games, you aim by centering the camera on a target. I wonder what it would be like to aim with a tool that tracks head movement. Would the player just stare in the direction of a target and pull the trigger? Would the player have to keep their head perfectly still to make a precise shot? Would the gun aiming still be controlled by a thumbstick on a controller? TrackIR has support for several first-person games, but this kind of head tracking technology seems better suited for games that take place in a cockpit, like a flight sim or driving game.

Also there are apparently latency issues, which was one of the possible reasons that DOOM 3 is no longer shipping with the dev kits (could also be disagreement with the publisher or something). Naturally, I’m going to get my hands on a kit and test it like crazy. If nothing else, players would be able to put on the Rift and take a dive, if I manage to get some implementation going.

Oh yes, and IndieCade East was fun. I was a volunteer “docent”, badge-checker, and at one point a coat room attendant. I ran around a bit, showed off the game, and spoke to a bunch of other indie devs.

GDC

Next week will be all GDC all the time for me. I bought one of those Summits and Tutorials passes that lets me into things such as the Independent Games summit, but not into the main conference lectures. The main and all access passes were too expensive for me to consider, and I am really just interested in the indie stuff anyway, and meeting with other indie devs. I’ll be going to parties and hanging out at the IGF area for a while, and that’s pretty much it. Closest thing to a vacation that I’ve had in a while. Shout-out to my friend Itay for getting his game Mushroom 11 into  the Experimental Gameplay Workshop!

The week I get back is when many of my projects are due (or at least new versions). Here’s to hoping that I clear some of these things out of the way. Check my blog for one of the projects that I worked on this semester.