I moved to a new URL! Check it out!

posts dated from: december 2015

2015: What Happened Part III

2015: What Happened Part III
We're already halfway done with the year and what a year it's been. The summer is upon us. The birds are signing, the children are playing, the dogs are barking, the ice cream is melting... it's the best time of year except where I was living at the time which was Arizona because the temperature gets up to about 115 and you can't really spend a lot of time outside without dying.


This month was dedicated to working on Otter to make it into something more usable for the general public. The main problem with the engine at the time was that I kept updating it and I had totally outdated example videos.

I buckled down and got a simple content management system up and running on the Otter site and started churning out examples. I wanted to focus on getting potential new users up and running with the engine so that I could hopefully expand the community, which would lead to more people using it and contributing to it hopefully!

I also went to EVO this month with a bunch of amazing people and it was the most amount of fun you could possibly fit on a bun.


August was a pretty strange month because I spent most of it traveling. The first half of the month was pretty much spent visiting my home land of the Northeast. It's much more pleasant to visit Upstate New York in the summer than the winter... although this year the winter for some reason it's been 60s and 70s, so shout outs to El Nino and global warming, I guess.

Also what made it strange was it was the official end of the indie house in Arizona! After living together for like 5 years or something crazy like that, we decided it was time to go our separate ways. I think this was for the best, as you probably need some change in your life and your surroundings to keep growing as a person, and it felt like things were getting stagnant in the desert. The plans to move out were in motion, and I still had more travel to do, so things were going to get crazy.

I only had a limited amount of time before I had to take to the skies once again though. I did a little bit of reflecting and I had high apply pie in the sky hopes of maybe finishing Otter to a 1.0 version, but I kinda don't think that will ever happen with just me working on it unfortunately.

I did some more examples for Otter for some more complicated stuff like collision detection.


And loading tilemaps


The end of August came, and suddenly I found myself in Seattle for PAX for my yearly summer trip up to the Pacific Northwest.


This was a pretty weird month to say the least. It more or less began in Vancouver as I went to visit the indie house up there. So what did I do when I got there? Well I started a brand new prototype, of course!


What else am I going to do surrounded by really cool people working on cool stuff? Working away at grunt work to finish a game feels really crappy when you could be working on a sparkling new project which is probably a big part of my problem!

I became pretty obsessed with moving platforms and getting wall jumping to work with them and all this kind of stuff... so I went down a rabbit hole of despair pretty quickly.


So when I returned to Arizona after my wonderful adventures full of good times, friends, and sushi, I had some reality to face! The indie house was undergoing renovations, and I was in a strange scenario where I didn't know where I was going to live yet...

My girlfriend Corey had applied at a game studio in Denver, Colorado back in July. We still had no idea if she was going to get the job or not because they had been pretty sluggish at keeping us updated on the status of her application. We were basically stuck in limbo because we didn't want to sign a lease on a new place if we were going to be potentially moving to a new state.

When I got back to Arizona I immediately packed up my room at the old indie house, and Corey and I opted to go stay with some friends of ours. They had a spare room in their house, and were kind enough to let us crash there for what ended up being a pretty long time, whoops!

So I found myself in a new situation where all I had access to was my laptop for working on stuff. My desktop was totally packed away, and all I had pretty much was a small table and an air mattress. It was pretty cool actually... I went from having a lot of stuff around me to almost nothing.

I ended up going to a local coffee shop just about every day to work and I noticed it had a pretty strong effect on my motivation and work ethic. I continued to work on my platformer ideas from a coffee shop in Gilbert, Arizona.

I got to the point where everything felt frustrating though because I just ended up aiming too high as usual.


The problem was that I had been exposed to Mario Maker, a game where almost everything interacts with everything, and you can have stuff move and push and carry other things, so I wanted my platforming system to be able to match that... and also have slopes. What is wrong with me!

I ended this month with some more Otter examples.


So by this point life was feeling pretty weird! I had just got back from a bunch of travel and now I'm in a spare bedroom living in a house with my friends and their three little kids, and three cats. Things were pretty chaotic, but it felt like a lot of fun, and a cool change of pace. I still had no idea if I was staying in the desert or moving to Denver at the time, but I had a feeling that we were going to be going to Denver in the near future.

2015: What Happened Part II

2015: What Happened Part II
Hey it's another recap post to see if I actually did anything this year, yeehaw! I think I did some stuff, but it's never enough!


In the magical land of Super Sky Sisters I thought it would be an amazing idea to make some sort of graphing system for the end of each round that is played. I remember this being pretty fun to work on, but I have no idea if it was worth it. Then again, I never have any idea if anything is worth it!


Look at how cool that looks though!

More work went into the menus:


And a help screen:



It looks like this month I started to run out of steam after working on a bunch of menu stuff for what felt like forever. I think this was the point where I realized all my work on the menus and UI stuff was totally eclipsing the amount of work I had done on the game, and that probably did a number on my motivation.

I was doodling a lot this month.


And I also did a presentation at the Phoenix IGDA about making explosions and that was pretty fun.


This was when Sky Sisters began to feel like a weight. I became so close to being finished with it but I just felt like it wasn't there. I had to do the player animations, and I still, cannot do it. Whenever I try I just end up making garbage art that I'm never happy with, and I still feel like the game is just not there... if a game is just "okay" then it might as well be just total crap, right? Nobody will play an "okay" game when there are so many amazing games out there.

Whoa okay don't want to get carried away on a rant just yet. I'll save that for another post. Let's just get to the next month...


Okay so let's procrastinate on this game by adding more useless junk to it. I don't know. I worked on making the graph at the end of a Sky Sisters round super optimized so it wouldn't take a long time to load for long rounds.


I then buckled down and tried to animate some of the enemies for Super Sky Sisters and well it went okay I guess.


I ended up redoing that animation later because dang it is so bad.

I also began my existential crisis about the future of my game engine that's still happening today. Was it a good idea to even make this engine? I guess I've had a lot of fun with it... and people are using it... but is it really good enough to ship anything with? I don't think I have enough technical background to push it much further, and it probably needs a lot more work to be totally sound... I don't know! Another rant I'll save for later I guess.

I did this animation for Sky Sisters that just looks way better than everything else in the game, whoops.


I guess by now I was feeling better about Sky Sisters with some animations getting done, but as usual I'm pretty sure I was a horrible mess of stress and anxiety as I just tried to push forward on everything. Neat.

2015: What Happened Part I

2015: What Happened Part I
This is something I've been doing year after year as long as I can remember (like 2 years I think) so I might as well keep up the tradition. It's time to go over 2015 and figure out how much of a mess it was! It's going to be a wonderful trip down memory lane three months at a time...


To start things off for 2015 I signed up for toggl which is a neat time tracking thing. I only use the free version and I've been tracking things in broad categories, but I think this turned out to be a pretty good idea because I can finally see how much time I'm spending on various things throughout the day, week, month, and year.

This month was also apparently when I first prototyped the game idea I'm currently working on now! So I've already been working on this game for about a year... I don't know how I feel about that. Time goes so fast and I hate it.

Toward the end of the month I worked on a tool to use Google Spreadsheets to sync data with my games. I ended up making an external tool for Visual Studio that can end up parsing a google spreadsheet and turning it into a .cs file full of data. A lot of people seem weirded out by this but I guess when you're working solo having all of your assets embedded into the code with autocomplete and intellisense options is really handy.


I also was able to finish a new splash page for my website which features my game first and my blog second. I felt like a lot of people were probably coming to my site to find my games so I wanted to put those first and foremost.


February was heavily spent on the new version of Super Sky Sisters which I have... uh... still failed to release. I also worked a bunch on Otter and pushed a lot of neat updates.

(What's great about writing this post is that I'm going back and looking at what I posted and I'm totally rediscovering what I was doing that month.)

I also dove into more shader stuff for Sky Sisters as I worked on the background sky for the game. What's funny now is that I don't even know if this will end up being the final background for when the game actually does come out someday.

Not a whole lot else other than more Super Sky Sisters work going on for February, which in retrospect seems really nice. Focusing on one thing for a month feels pretty good usually!



Some part of March was spent at Game Developers Conference, and if I recall correctly I got super duper sick this year. Recovering from traveling and getting sick took a little bit longer than usual, but I did get back into it and continued work on making some cool boss monsters for Sky Sisters.


More work went into the menus and making them feel all neat and stuff with a fancy transition. Having a cool transition that isn't just a fade out and fade back can really add a lot of personality to a game!


Another whole month spent on one game? What a miracle. Toward the end of the month I was laying out the rest of the menu and hud stuff, like stats and hud options and everything a real video game needs.

Things were looking pretty good at the start of the year and I was doing a lot of work on Sky Sisters! But what will happen next? Will I keep up this pace or will I be side tracked down a dark path into oblivion? Find out in the next episode.

Dev Log: Dice Bags

Dev Log: Dice Bags
Work continues on this dice RPG thing that has been in my brain for a long time. I've been working on a lot of stuff but neglecting to post about it, but here's a quick shot of some recent progress:


At the end of the battle if any enemies dropped any new dice for you to grab you can choose to add them to your dice bag. So right now the game uses a generic dice inventory user interface that can be loaded with different sets of dice. The dice that the enemies drop are loaded on the left side, and the player's dice bag are loaded on the right. You can also bring up your dice inventory any time in the overworld screen, and I'll actually probably end up turning the dice inventory screen on the overworld into the main menu that shows all your stats and what not.

It's been a lot of fun working on this prototype and hopefully that continues for awhile. I figure once I hit a wall with this I can go back and finally finish Super Sky Sisters like I was supposed to a billion years ago.

Doodle Post


Kinda feel like I can't draw anything lately but I shall post anywaaayyy

Otter Updates

Otter Updates
Okay apparently it's been like three months since I've posted about Otter updates, and there's been a lot since then. I guess since my life was in chaos for the past few months I slipped up. Oh well! Here's a quick breakdown on changes and fixes to my C# game making framework thing.

* Fixed a bug with rendering a BoxCollider with a width or height of 1 or 0.

* Fixed a rendering bug caused by changing the font size of a RichText object at runtime.

* Added flags for Sound and Music to check if they're currently playing audio. Sound.IsPlaying and Music.IsPlaying will be true if they're playing back audio.

* Added Color.Shade(float) which will return a color from black to white with the specified float. For example Color.Shade(0.5f) will return a gray color where 0.5f is set for red green and blue.

* Fixed a bug in Input.CharToKey() (a key was missing...)

* Fixed a bug in CollideEntities where an Entity could collide with itself.

* Added Collider.Overlap(x, y, px, py) which will do an Overlap test with a specified point (px, py) Very useful for doing UI stuff and checking for a point overlapping a collider.

* Fixed a bug with LastPressed and LastReleased timers on Button.

* Added Util.ListCombine<T>() to take a bunch of lists and combine them into one list. I don't know if this is already a C# thing so whatever.

* Added Color.FromBytes()

* Added Axis.Reset() to totally clear an Axis's input state.

* Added Button.Reset() to totally clear a Button's input state.

* Fixed a bug where Gradient wasn't blending with its Color.

* Added DataSaver.FileExists().

* Added Particle.ActiveCount but I'm not totally sure if this works as intended.

* Fixed a bug where creating a Text object would not accept an SFML.Graphics.Font.

* Added MouseDeltaX and MouseDeltaY to get the mouse movement since the last update. Mostly used for locking the mouse inside the game window.

* Util.GetFieldValue works for static fields now.

* Added Scene.CameraFocus which if set to an Entity the Scene will then follow that Entity.

* Added Rand.IntXY which returns a vector2 of ints.

* Reworked EventQueue component into EventStack and EventQueue.

* Added GraphicList which is a Graphic type that is a list of graphics.

* Added Anim.OnNewFrame() which is invoked whenever the current frame of an Anim changes. Useful for tying code to specific frames of an animation.

* Huge debugger api changes which uses attributes now instead of RegisterCommand with CommandTypes. Check out the example here to see the new style.

* Added a bunch of stuff to the Debugger like tab auto complete and parameter help when typing in a command.

* Entity.UpdatedOnce is now public (private set.)

* Scene.RemoveNextFrame(Entity) will remove an entity with a one frame delay.

Wow that's a lot of stuff! I'm really happy with the new debugger API that uses all kinds of crazy reflection stuff now instead of a bunch of RegisterCommand method calls.

If you've been using Otter then you should drop by the official slack sometime and hang out with your fellow otter lovers!