I moved to a new URL! Check it out!

2014: A Pretty Weird Year Part IV

2014: A Pretty Weird Year Part IV
The year is coming to a close... it feels like it just started!


October started out as a huge month for Otter with the addition of the polygon collider!


Polygon collisions were yet another thing that I never thought I'd be able to figure out, but finally after all these years the separated axis theorem finally made sense to me... or at least it made enough sense for me to code. I don't think I still fully understand the mathematics behind it other than it's kind of like casting a shadow of the polygons and seeing if the shadows overlap.

Another big thing that was alluding me was a basic skeleton system for entities in Otter.


Something I want to do in Stratoforce is make enemies out of individual pieces that all can be interacted with. Sure there are tools like Spine and Spriter but I couldn't really figure out how to wrangle those tools into giving me a bunch of individual objects instead of just one sprite with some collider data.


I continued on with making enemies that can form a snake, and then a snake made out of entity skeletons.


I'm pretty excited about how I can use this to make huge stuff in my games, but I still have to clean up the API a little bit to have it make more sense. I tried to use it at a game jam, but it turned out a little more complicated than I thought so I need some more practice and refinement with it.

Meanwhile in shader town I was able to get a color grading shader implemented with Otter and that's yet another thing that has been alluding me for a long time.


This is something I've wanted to get working ever since I started trying to use shaders with Otter, and finally I understood what the secret ingredient was: a 3d texture! I never understood how it worked until one day I sat down and everything clicked.

October was pretty awesome in terms of unlocking a lot of things in my brain that I never thought I'd understand or be able to do.


November is the beginning of the holiday season which also tends to be bad for productivity for me, but maybe it didn't turn out as bad as I thought it was going to.

First I released a more cleaned up version of my palette index shader for all of the GLSL people of the world to use.


Then came along another Phoenix 48 hour game jam that was cosponsored by Xamarin. This was an awesome game jam and I made a cool (yet to be released) two player co-op game.


I also recorded my screen for the whole thing and released a time lapse of the entire production of the game during the 48 hours:

I also spent some time this month on some productivity booster tools. I noticed some points of friction during the game jam, so I wanted to address those. One of my biggest slow downs is getting assets imported into the game, so I wrote a tool that will parse a directory of files and generate a .cs file with references to all of the files.

I wrote one of these before for Actionscript, so this one is a C# version of that. I also got it hooked into Visual Studio as a keyboard shortcut so whenever I change any files in my assets folder I just hit the keyboard shortcut and my class is immediately updated and now my auto complete knows all the paths to all of my assets.

Along with that I pushed some big updates to Otter and started on some cool stuff like bitmap font support and started to change some of the core logic with how entities are added to scenes and how components are added to entities.

Later that month I started on a clean version of my game jam game from earlier. I wanted to rewrite the game from scratch because the game jam code became really terrible and I also wanted to use this as an opportunity to try a very intense component based game architecture on a small project.

I also started working on a board game with some folks in Phoenix and that's been pretty fun so far.


I started December with a big breakthrough with Photoshop animations!


It turns out using the video timeline with a video group of layers is the best thing ever because it actually makes sense and it lets you use onion skinning.

I spent a lot of time working on more board game stuff with my friends in Phoenix.


We're trying to make a truly engaging co-op only game inspired by some co-op games that we've tried over the past year. So many games are all about co-op play until you get to a certain point where it's then one player vs. the rest of the players, or co-op play but there are individual scores leading to players making decisions that will screw other players over.

I'm sure I'll have more to say when the game has progressed further as right now it's still in the early prototype and play test stages.

The rest of December was pretty weird because I got kinda trapped in a pit of crazy anxiety. Currently I'm sitting in my mom's house in upstate New York which means I had to travel and fly to get here. For whatever reason this particular trip gave me terrible anxiety. For about two weeks leading up to the flight I was feeling pretty awful and riddled with depression and panic attacks. Yahoo.

I think I might be reaching the point where I'll actually have to do something about my mental issues, but first I'll see how the rest of my time in New York goes, and how my flight back to Phoenix ends up being. I really tend to bounce back and forth with being totally okay with flying to feeling overwhelmed with panic about it.

So now I'm wrapping up 2014 by writing these blog posts about 2014.


It seems like these three months were pretty productive! October and November especially which I'm surprised about November. October seemed to be an incredibly huge month for me as I tackled so many things that I thought I would never be able to figure out. Maybe I have been making progress after all! The final next part will be more of my thoughts on the year now that the recap is totally finished. Stay tuned!


What are some of your favorite co-op traditional games? I feel like the ones that are truly co-operative usually boil down to one or two of the players coming up with the best strategy and kind of running the game. I think that will always happen if you can always share all of your information (Cards in hand etc.).
Posted January 11th 2015 12:52 PM
Right now I don't think I have a favorite co op tabletop game. I think Elder Sign is pretty cool, and Legendary has some elements of cooperation but beyond 3 players it just doesn't work. I've heard good things about the new Robinson Crusoe game, but I haven't played it yet myself.

The problem you're referring to is usually called "quarterbacking." One player who knows the game better than all the rest ends up calling the shots for everyone, or maybe they're just the loudest player at the table. It is a big problem and it's difficult to solve, but I think maybe one way to address it is to have too much information for one player to possibly download the entire board state -- as in the game is complex enough that each player has to focus on keeping track of their own stuff and can't really spend any brain power worrying about what everyone else has.
Posted January 12th 2015 2:16 PM
Gotcha, I think that making the game complex could solve the problem, but then there's other potential problems you might need to design around. Like if there's still a 'quarterback' and he/she tries to figure it all out for everyone, it'll just make the game drag. I could see it working in a lot of cases though! I'd love a game where my friends and I were each doing something challenging individually but it all worked together somehow. It might also be a little complicated for some players.
I've never seen a co-operative game implement a time component. A timer could both make it more challenging as well as make sure everyone is responsible for what they do on their turn.

I had an idea for a co-operative board game where you aren't allowed to talk or share information, but then making mechanics around sharing the information. Like spend X resource to write a note to one other player, or show them your hand, that kind of thing. Too many things to work on at once though. :P
Posted January 19th 2015 4:33 PM
Making the exchange of information a mechanic in the game itself does sound pretty fun. If you can manage to keep it inforced, it would be cool. I've played tabletop RPGs where time limits were imposed on players discussing their next move in the middle of battles to prevent too much meta gaming and that's pretty fun ;D
Posted January 21st 2015 2:37 PM
new comment!

Post your comment!