Back in the Saddle

I’m happy to report that I’ve made some progress on Against the Wall.

The game has been on hiatus for quite a while. I started a new job and had to step away from it for a bit, not really finding the time to work on my passion project.

I figured the best way to get things going again was to completely restart production. I created a new project and began importing and re-factoring my old code, leaving out anything extraneous, creating a new versioning repository, not including any of my old 3D art, etc. The idea was to start as fresh as possible while still retaining the core functionality of the game. I still have a way to go, but it feels good so far.

 

The biggest gameplay change that I’m planning: you can only save the game at certain points, located in the cities or in remote shacks. Thematically, these locations are hideouts, complete with hearth fires ala Dark Souls. This will make the game considerably more challenging, no more saving after every jump. It will also give players a focused mid-term objective of finding the next hideout.

The game has also been upgraded to the latest version of the Unity Engine (took longer than I imagined to get that working), and the final game will support DX11 on Windows machines.

I’ll post again once I’ve made a bit more progress.

April Update

Progress on Against the Wall has been rather sporadic. I upgraded to Unity 5 and have been fixing bugs. Otherwise, I have not been able to devote real time to development. For this game, I need solid weeks of time for any new feature or level, which translates to me needing extra cash to support myself. I just don’t have the resources to continue working on it full-time and also pay for food or rent (or maintain my sanity).

Currently, I’m working at a local game company while holding a TA position at NYU. I’m also developing smaller, more minimalistic games that I can churn out in a week or two. AtW is rather over-scoped for one person. I feel stuck and unable to make my dream a reality. I know, poor me, but that’s the truth.

So what now? A Kickstarter campaign is an option I’ve been floating, but that would require quite a bit of work to create the video and plan the rewards. I could use some help in this area, if anyone has ideas. I also have a second game called Asterisk that I made back in school which is about 3/4 of the way to completion. It’s like a multiplayer FTL crossed with Star Control, yet somehow minimalistic. That game could perhaps use a little crowd-funding love as well.

Also, today marks the release of GameLoading: Rise of the Indies. It’s a documentary that’s wider in scope than Indie Game: The Movie, though it still does focus on the more established indie scene. I’m in the film a total of five times, dropping some hard-earned truths (with a smile). Mostly, I talk about the difficulty of surviving in the industry from the perspective of a solo, independent developer

My ultimate dream is to create cool, fun games that kinda mess with peoples’ heads, while still making enough to support myself. Nothing makes me happier than watching other people react to my work, shouting orders at each other in a co-op game, talking smack in my local multilayer joints, or remarking in wonder as they explore a mysterious, strange, and twisted world that I made.

Moving Forward

Since grad school restarted in January, it has been difficult to find solid blocks of time to devote to the game. I have since graduated from NYU and completed the business incubator that I participated in over the Summer. I now have more time to give to AtW, so I should be able to update more frequently.

My focus continues to be on art and level design. I am more of a programmer / game designer than an artist, much more comfortable with solving technical problems over aesthetic ones. Over my time in school, I’ve developed more of a hyper-minimalist art style, making games that did not require a ton of artistic skill. With more complicated 3D art, it takes me a good deal of time to create the smaller assets. I may compromise by making everything everything even more visually abstract and emphasize on gameplay and scripted events.

Level design requires frequent play tests, which I will conduct publicly every Thursday at 5 at the NYU Game Center in Brooklyn. This is a content-driven game. Procedural code is limited to brick layout, rather than the creation of structures in the world. At one point I had full randomly generated biomes in the game, but it ruined the feeling of being exposed on the side of a bare flat wall, in addition to introducing performance issues. There are currently six different biomes in the game that I have manually placed around the level areas. If I do reintroduce procedural biomes, they would be sparse, infrequent, and away from the central story area.

Outside of AtW, I am working on my networked multiplayer space shooter called Asterisk. I have also produced a number of smaller games, such as Alternate Function IV and Nothing Good Can Come Of This.

More info as I progress.

Building a Better Wall

This past week, I occupied myself with a few tasks, major and minor. A number of these changes relate to the game’s presentation, player interaction with the world, and the game’s feel.

Just Another Brick in the Wall

For a while now, I have been using a texture that defines the border of a brick, and attempts to simulate a bevel. Without it, the wall appears as a solid grey stone surface. The texture would stretch out over each brick face indiscriminate of the brick’s size. As such, 1×1 bricks and 8×8 bricks both had their front faces largely defined by the same image, the latter with noticeable stretching. To fix this, I created a large texture atlas with 8 permutations of the texture, each of a different size. When a brick is created, it is given the coordinates of the correctly sized version of the texture. Here are the results:

New Bricks

As you can see, the older brick texture is stretched out over each of the bricks. It’s a huge improvement, artistically (looks more clean and professional). The sides of the extended bricks will also need to be included on the texture atlas, since stretching is still visible there. I will be experimenting with adding some slight discoloration to each brick to add some variation. I will also experiment with adding random cracks and imperfections to the bricks.

Holding Things and Wand Motion

I did a major overhaul of the system that governs picking things up and putting them back down. It’s smoother, feels better, and much more stable than the earlier implementation. This system accounts for all player interactions with the environment that are unrelated to brick movement, so  it was important that I square this one away.

Also, the wand is no longer fixed in place in front of the player… or rather, it is, but it does not feel that way. It rotates a bit in response to player movement, complementing the wand’s movement bobbing. The player turns left and it takes a little time to rotate back into position.  In other terms, before it felt like a Doom gun, now it’s more like the device from Portal.

Dynamic Weather

Before, weather was static depending on your current biome. Rain, snow, fog, etc. each effectively had their own biome. Well, I now have a more dynamic system that randomizes the weather every X minutes, based on the “climate” attached to the current biome. Should be a nice atmospheric touch. Now I am debating whether adding a day/night cycle is worth it. Could make things that much more interesting if the world is always changing around you.

Misc

I did some content work on a city. I had an idea for a simple one-shot puzzle mechanic that I think will be fun. That’s all I’ll say about that.

I am going to Steam’s Dev Days in Seattle tomorrow. It will be a welcome break from NYC, and there will be a number of interesting panels there. I want to get my hands on one of those Steam controllers to see what the deal is with them. I’ll do a post next week on what I’ve learned there.

Also, Spelunky’s has gotten its claws in me with the daily challenge.

One Step At A Time

For the last week, I’ve been working out many of the kinks in the game and taking some time to update the art. I am happy with the progress so far, but I have a long way to go.

I’m using an app called Trello to manage all of my tasks and bugs. It’s pretty satisfying to fill out and label a card, then drag it into the appropriate column.  You should check it out if you have an extensive todo list (it beats paper).

Next week, I’ll be going to Steam Dev Days, a small Seattle conference for indie devs. I was invited thanks to Against the Wall getting greenlit on Steam. No clue what to expect from it, but I’ll keep you posted.

Art

My time spent on the art was to give things a flatter, slightly more abstracted look. Check out this comparison:

Improved TexturesThe new textures are much nicer, but perhaps they could use a bit more color. This will be an ongoing process.

For the game’s reticule, I am now using a single dot in the middle of the screen rather than a crosshair. This dot has a shader that inverts the colors behind it, like the crosshair in Minecraft. When pointing at a dark surface, the reticule becomes white, and when pointing at a bright surface like the wall, it becomes black. This is so that it is almost always visible.

Oh, and now when you look directly at the sun, the sun beams grow and fill up the sky, a blinding white light. Just a little “game feel” thing that I quickly put together.

Biomes

Okay, the biomes are just not working for me. They clutter the wall in random props, slow down world generation, look ugly from a distance, and feel mechanical and out-of-place. Generally, I prefer the big, empty bone-white wall as an imposing edifice to climb. The plan now is to manually place the biome chunks in areas around each town to provide those locations some context. Perhaps I can make procedurally-placed biomes very rare and small. Eh. Right now I should focus on the core game experience, then I can come back to the peripheral stuff.

Head-Bobbing

Or rather, wand-bobbing. I don’t move the head from side-to-side like I did in early builds, just the wand in the player’s hand. There are a couple reasons for this: first, when aiming at something, any movement would change the target as the player’s head swayed left or right. Second, this kind of bobbing can induce motion sickness in some people.

I’n Portal 2, the gun is semi-fixed in front of the player and moves from left to right using a sine-wave. The exact same “animation” is the jump/falling animation. They also have the gun interpolate its position and rotation to match a point in front of the player, making it sway slightly when the player moves from side to side or jumps/lands. Half-Life 2 guns work the same way. Basically, they use a few very cheap tricks to get across the feeling of head movement. It makes the gun feel less stiff, taking a second or so to catch up with the player’s adjusted direction.

So the wand bobs instead of the player’s camera. I  tried the interpolation trick, de-parenting it from the camera and having it move to the position of an invisible object in front of the player. However,  the wand kind-of jerks around as it tries to reach the correct position/rotation, and can disappear if the player spins fast enough. I think that I can fake it by keeping the wand parented and faking the interpolation. I do not want to spend too much time on this, but really, the wand feels very stiff right now, like a mounted steady-cam.

Miscellany

This week I’ll be moving through my backlog of issues. QA for this game has been and continues to be an enormous task.

I’ve had pretty much only art and tech days for this past week, and not content. I think that tomorrow, I’ll whip up a placeholder collectible item. I also want to have interactive bonfires and fireplaces. That might be a nice touch.

Winter Break

Hey everyone. Winter break just started, and I’ve begun to shift my full time attention back onto Against the Wall. I can say with confidence that I will miss the “Late 2013” deadline for Against the Wall. It’s a real bummer, but I don’t really have the manpower (money) to get this game completed in a timely manner. Lack of funds also means I can’t be on this project full time, so I’ll have to make the most of  the hours that I have.

So here’s the plan: I’m free until the end of January, then grad school starts again. I’m going to work every weekday, and try to post small updates each day. Every day will have a focus: tech, art, or content.

  • Tech days are devoted to bug fixes and optimization, which, as it turns out, is my favorite thing to do in terms of game development, concept and design work aside. Other days will focus on art development.
  • Art days are for art creation, experimentation and optimization through draw call reduction. Right now, I’m planing on giving the game a low-res minimalistic look. I feel I have overused realistic textures that do not fit my low-poly models. It would be easier for me to go all-in with the low fidelity models and textures, I don’t have the time or skill to make anything more complex.
  • Content days are for the creation of locations in the game world, tweaking how the game feels, and experimenting with mechanical changes.

The last one is the trickiest. Right now, the game has immediate goals (extending the correct bricks to get from point A to B) and an overall narrative arc has been planned for players’ long-term goals. What I’ve been struggling with are the intermediate goals: what drives you forward, what small tasks do you complete on the way, what emergent tasks could the player create for themselves, etc. Right now, the mechanics are so stripped-down that there is not a ton of room for this kind of goal. That is, there is no player inventory, no concept of, say, sleep, health, energy, etc.  that would give the player a reason to create a side quest for themselves. I don’t want to make to game too complex, of course, but I do think it needs something else for the player to manage besides just extending bricks.  I’d appreciate any feedback or suggestions that I can get on this front.

Really, I’ve been playing a number of survival games lately: Minecraft, Starbound, Don’t Starve, Lone Survivor, and Teleglitch. Against the Wall could be considered minimal survival game. Such games usually have a hunger stat and an inventory in some form. I wonder if I do need an inventory after all. Perhaps there is away around a traditional inventory, such as the one implemented in Miasmata.

Today’s Progress

There was this bug where, when exiting one chunk of bricks, the game would completely lock-up, but only on some playthroughs. Such lock-ups usually happen when a program enters an infinite loop (that is, the program gets stuck executing the same bit of code repeatedly and cannot move on to anything else). I spent a total of five hours tracking this one down. It was a tough one to reproduce. Here was the cause: when a dynamic entity falls off the side of the wall, it continues falling until it reaches the bottom edge of the generated world. At this point, it disables itself and adds itself to a list. Now, whenever the player changes chunks, the program would check the list for  any such props to re-enable them if they are close enough to the player. There was an apparently infinite loop that iterated through the list when changing chunks. The problem would only happen on playthroughs where I chucked the scarecrow entity off the side of the world, adding an item to the list for the loop to be caught on.

I did some other optimizations, mostly dealing with C# events. Boring stuff to relate, honestly.

What I’m Playing

Survival games, as mentioned. Also, The Legend of Zelda: A Link Between Worlds, which is fantastic game that brought me back to my childhood. Gone Home was a nice little story. Didn’t care for the nostalgia-baiting bits, liked the atmosphere, though the architecture was rather wild (e.g. the second-story rooms are not built above any first-story rooms). I finally beat FTL for the first time, bought the PC version of Dark Souls (loved it on the XBox) and played the hell out of Spelunky. There is a free indie game called Naev that I charged through until it began feeling rote. Finally, I played Icarus Proudbottom Teaches Typing, a surreal edutainment experience in the spirit of Frog Fractions.

A Quiet Day at the Game Center

Right now, it’s Thanksgiving weekend. Had dinner with my family and returned to the city to get some work done. I showed up today to find the whole of the MAGNET center deserted, save for the security detail. There are three weeks left in the semester, and I’m dead-set on getting my thesis game in better shape before then.

Anyway, I’m pretty much alone on the floor, fretting about the Unity engine’s complete inability to do client-side prediction for networked multiplayer games, and stressing over my to-do list. I decided to take a little walk around the floor and take pics of the place to share on the site.

I should preface this by saying that this whole Brooklyn-based facility is brand-spanking new. Last year, we were basically squatting in a couple of classrooms on the 9th floor of NYU Tisch. I kind of prefer everyone working in the same room and being in each other’s faces. Anyway, here is the tour:

magnet vestibule

I get off the elevator at the 8th floor into a sort of glass antechamber area, then swipe my NYU ID to get in past the two sets of doors.

magnet hall

The West side of the floor is office space for faculty and Game Center MFA students. At the end of the hall are the classrooms 829 and 830, which we use exclusively. The rest of the floor is divided between NYU Poly and NYU Steinhardt.

magnet studio

Game Center MFA students are assigned shared office space for their final year of the program. Counting tuition, I consider it the most expensive workplace on the planet, and I’m pretty intent on getting the most out of it. There have been ongoing problems with heating this space for whatever reason. As I speak, I feel the A/C blowing on me. Still, it’s a good setup, with a desk that can be raised to a standing position and a fancy desk lamp.

magnet class

This is room 830, where Bennett Foddy teaches his studio classes. I’m Bennett’s TA for one of these classes, acting as a helper and resident Unity know-it-all for the new crop of MFAs. It’s also where we keep some office supplies and random hardware. Pretty big monitor for presentations and such.

magnet shared studio

This is 829, which is a sort of collective office for all of the MFA students in their first year. We had a place like this back at Tisch, only with slightly more sunlight and more random film students wandering in. There are a few busted arcade cabinets in here as well.

magnet pantry

Here’s the pantry on the East side of the floor. Not pictured: fridge, and the worst coffee vending machine on the planet. Otherwise, it’s rather shiny.

magnet library

Here’s a shot of our Game’s Library. Quite a few video and board games are stored here. Kind of dark with everyone gone for the break.

magnet nidhogg

This is the centerpiece of our “Town Hall” area in front of the library. It’s called the Winnitron, or as most refer to it: the Nidhogg machine. Nidhogg is a very cool game, the reigning champion of the floor being my classmate Zeke Virant. The buttons are currently busted due to over-enthusiastic play.

So that’s a circuit of the floor, or the interesting parts, at least. If I ever have time, I’ll post on the old Tisch Space and maybe take some shots of the Game Center when people are actually here.

Transparency

I’m naturally a very reserved person, so posting to this blog or social media happens to be a challenge at times. Attending Metatopia over the weekend, I was repeatedly advised to drop these old habits and take to social media more, establish a rapport with fans. Naturally, the next thing I did was lose my phone charger and spend the next day without an internet connection. Regardless, I’m resolved to inform people about what’s going on in my life a bit more, and get into the habit of documenting everything (interesting) that I’m going through, primarily through Twitter.

To start with, I’m still an MFA student at the NYU Game Center, so my attention is split between Against the Wall and my thesis game, a project called Asterisk. Now, Asterisk was designed to be as close to the opposite of Against the Wall as I could manage: It’s a networked multiplayer 2D space shooter. I’ve posted a few times on my other blog about it, but posting there is like painting a picture and locking it in a drawer. I’ll need to put up a dedicated Asterisk blog soon enough.

Just keeping myself active, busy, and my mind on more than one project. The alternative laser-focus has been detrimental in the past, I need to be able to switch off between things. This need to create a variety of things was what brought me to the Game Center in the first place. I’ve become a better designer through practice and experimenting with other forms, and have access to amazing advice from Bennett Foddy, Frank Lantz, and Clara Fernández-Vara.

So, in the past two months, I’ve taken AtW to IndieCade in the NYU tent, submitted it to the IGF, learned and experimented with networked multiplayer code (not for AtW), and started developing an actual story-centric tabletop. I’ll write another post this week on the game plan going forward, and probably expand on what I’ve been up to.

Greenlight, PAX Prime, and Birthdays

Against the Wall Has Been Greenlit!

It’s official! As of the 28th of August, my game was Greenlit on Valve’s game distribution service. Thank you to everyone who up-voted Against the Wall and making this possible. I received this news directly before my 29th birthday and shipping off to PAX on a red-eye to Seattle. It’s been pretty hectic, but I finally found some time to post here.

I’ve been on Greenlight for a total of 9 months. In December and January, I went through the 5 stages of grief before just letting it climb the ranks naturally and not checking the Greenlight page every other hour. It was not the best experience, but the game had enough merit to pull through.

PAX Prime and the Indie MEGABOOTH

Michael Consoli with Against the Wall at PAXI just got back from PAX Prime. I had a mini booth at the Indie MEGABOOTH for Friday and Saturday. The mini booth is a table inside of a larger game booth, a space that I shared with 15 other developers. I had a blast showing my game to dozens of attendees, though there was a hitch on Friday: the tables were arranged in a way where it was very difficult for people to reach the games in the center, including mine. This was corrected on the second day, however, and I managed to have a number of cool play-throughs.

I should mention that PAX is the ideal QA forum. People from all different backgrounds stopped by to play Against the Wall for the first time, and it was enlightening to see them learn how to control the character and move through the world. Also, they managed to break the game in ways I had not thought possible. It was extremely informative, to say the least.

Oh, and I gave my pitch of the game several hundred times, at the booth, on the show floor, and at the after-parties. The shortest way to pigeon-hole my game is to call it a cross between MYST and Portal 2, but set on an infinite open wall-world. I should probably do a longer post on my current design which leans more on MYST tropes, a focus on world-building and atmosphere with interrelated levels.

In other news: I shook hands with Jonathan Blow and Tim Schafer without acting like a total fan-boy.

Also, as I am writing this, I am getting the feeling that I may be sick very soon, perhaps with the dreaded PAX Pox. Just in time for the Fall semester which starts tomorrow.

Oculus Developments

I met the team behind the Oculus Rift at one of the PAX after-parties. The Oculus guys were very cool and down-to-earth, recalling their days with headsets held together by duct tape and wishes, and their Kickstarter experiences. During the show, I snuck in a session with the HD rift. The operator seemed disappointed that this was not my first rift experience, the usual response being one of awe, while mine was one of clinical product testing. I kept swaying and swishing my head from side to side, observing the problematic motion-blur effect that induces some level of sickness in users. The blur is still there, but at least you can’t see the damn pixels anymore, which was half the problem. I’m sure they’ll fix this, now that John Carmack has joined the team as the Oculus CTO.

Still, I was impressed by the quality of the view-screen, the sleeker design of the unit, and the fact that I didn’t make myself sick this time around. We’ll see how the unit holds up on extended play sessions, but I’m very impressed with their progress.

Megaboothing

The lineup for this year’s Indie MEGABOOTH at PAX Prime has been posted, and Against the Wall is on it! I have a minibooth on the 30th and 31st. A minibooth is essentially 1/16th of a large square booth. It’s for game developers who are largely independent of money. Here’s my rather bare-bones page on their site, with the ancient trailer that I always fall back on.

Prep Work

I enjoy chatting up folks about my game like a regular carnival barker. I spent 5 hours at GDC’s Killscreen party last year, talking to people as they played my game which was projected onto a side of the room. Pretty sure that I can handle PAX’s sensory overload. The whole marketing side of things is a baffling mystery to me, but I’ll try to put myself out there and try to generate a little buzz.

Against the Wall - Windmill, 2013

Whatever. Developing the game is the important thing. I’ve dolled-up the game’s starting area a bit. Finally stopped using static red bricks for the windmill’s structure. Realized that it looked to bare and flat, so I fleshed it out using the Outpost tile set that I made in June. No plans on showing the ending areas of the game, of course.

Against the Wall - Windmill InteriorThis is the interior of the windmill. Unfurnished at the moment. Cut a large chunk out of the building’s rear with some new “destroyed” models. The support columns are part of the elevator/windmill structure.

I will be adding two new features: 1) optional automatic “death” when the player hits terminal velocity and is pretty much dead anyway. Won’t have to reset the game as often at the conference with this option. 2) No saving while in midair or on a moving platform. Should prevent a quick-save while hurtling towards the ground at 60mph. Also, saving on certain moving objects could easily result in a load where the player is halfway inside the object, or the lift is loaded in the wrong state (e.g. standing still rather than moving). This addition will stick around for the final game. Just a note: At one point, I entertained the idea of disabling quick-saves and relying on checkpoints. I realized how dumb this was, and reversed course. If people want to spam the quick save button, they are welcome to.

Finally, I’ll pepper the area with hidden paths, rooms, and interesting junk. Puzzles don’t seem to play well at these conferences, than again, neither do slow-paced exploration games. I’ve been experimenting with very simple Myst-inspired puzzles, so maybe I’ll finish one up and throw it in somewhere.

OVR and OVR Again

The NYU Game Center is in the process of moving to the its new building in Brooklyn. I haven’t had access to the Oculus Rift (OVR) in that time, but I’ve come up with a simple first step for integrating the new tech: create a new Unity scene identical to the normal one, only with the stock OVR character motor and cameras, tweaked to feel close to the existing motor. Players would not be able to swap modes on the fly, but this should save me about a month or so of headaches trying to fit the OVR code onto the existing character motor. Will have to add crouching, sounds, and fall damage. Really, I think that my game is a perfect for the Rift, considering the lack of HUD, simplistic controls, slow pace, and the immersive environment. Oh yeah, and the gut-wrenching heights may be a plus as well.

What I’ve Been Playing

I’ve been using Netflix to play the pilot episode of Twin Peaks. Man. It’s one very surreal series. I watched the Giant Bomb Endurance Runs for Deadly Premonition, and knew that it was referential to Twin Peaks. I just didn’t know how closely it stuck to the source. Loving it so much for how off it is, how it plays with and destroys expectations left and right, and the main character so damn endearing in his strangeness. Will need to find some time to catch up on the other eight episodes (hear the second season was not well received).

Bought a copy of Demon’s Souls. Only played it for an hour, but it’s  pretty much is  Dark Souls so far, though it lacks that Metroidvania-style contiguous world. I loved Dark souls, so I’m at home in this game. I also bought Brain Age to play some Sudoku puzzles on the commute (and not for the patronizing pseudo-science). Also, got copies of Catherine, Hotel Dusk, and Shadow of Destiny, but who has the time to play Video Games?