@TommyRefenes @BriBriChatter also #qbf (Today)

@TommyRefenes @BriBriChatter I disabled chat from opponents it's pretty great (Today)

@celsiusgs hold on baby I just gotta install ace's mega codecs pack (Yesterday)

okay I think this ui stuff is good enough to prototype the actual game with now look at all this DRAGGING t.co/eBvbiXHn5n (Yesterday)

@fucrate @djcoreynolan many combolations, elizagerth. (2 days ago)

@MattThorson y o u k n o w m y v o t e (つ•̀ᴥ•́)つ*:・゚✧ (2 days ago)

@kamihkamih Haven't played Avalon, but to me it feels waaaaaaay better than Resistance. (2 days ago)

Secret Hitler is probably the most fun lying bluffing secret game I've played and you should totes check it out t.co/ESF3nxUlyr (2 days ago)

@kinifi There's a tilemap class and I use ogmo editor for most stuff (2 days ago)

RT @KingOfElks: A kill breakdown of my battle with @zecmo from @tripleboop's tourney last night: t.co/6e5qWjMJBc cc @kylepulver, @M… (3 days ago)

@kertgartner They're all in the area so I'd imagine so (3 days ago)

@floatvoid the hell is wrong with you (3 days ago)

The reason I believe TowerFall is the most amazing game ever made is demonstrated in all of these videos: t.co/kuLitv3OhS (3 days ago)

@benprunty historians will look back at the era of when touchscreens replaced physical keyboards as the biggest blunder of humanity (3 days ago)

RT @kagijouurushi: いい ふーふ の日♪ t.co/n16wnWl8sH (4 days ago)

@Thompson_Kaa @kagijouurushi @eugelng wooooowwwwww amazing * o * (4 days ago)

@KingOfElks @MattThorson I had to go to a social event and missed the end will watch the vods ;_; (4 days ago)

this is seriously the kind of #towerfall I've dreamed of watching since the beginning t.co/maWfYJhetn :o (4 days ago)

@Shin_Hogosha It's a 1v1 tournament! (4 days ago)

some high level #towerfall matches going down: t.co/maWfYJhetn (4 days ago)

posts filed under: general

2015 - 11 - 24 / 10:01 pm / general

Dev Log: GUI Stuff

Dev Log: GUI Stuff

I've been making some good progress on my latest prototype over the past few days. I got a quick GUI system working in the game but then quickly realized that my approach was pretty bad. After reading up on some articles written about making simple lightweight GUI stuff for video games I scrapped almost all the code and rewrote it.

My first approach was just having each GUI Entity operate independently and that worked for a bunch of simple cases such as a single drag and drop item, or a button that does something when it's pressed. However doing things beyond that, such as multiselect, and having different GUI elements pass info along to one another, requires a different approach.

The approach I settled on for now is something I've done briefly before with a quick prototype a few months ago. I'm now electing to use a single "controller" class as the base of the GUI system. The controller has a list of all the GUI elements it's in charge of, and almost all of the logic for the system is handled inside the controller.


A controller has a list of child elements that it controls, and each element can also have even more child elements added to it. The controller is the only element that receives input from the game, and anything resulting from that input is passed along to the appropriate element on the list of children.

I still have a little ways to go on a few things. I want to be able to get modal elements working so that I can do things like message boxes that have to be cleared before continuing and interruptions when important things happen. There are still a few bugs to sort out with clicking through elements and dragging stuff around, but so far I feel like my progress has been pretty great and I might have something playable way sooner than I thought!

No Comments

2015 - 11 - 21 / 9:12 am / general

Dev Log: RPG and YAML Stuff

Dev Log: RPG and YAML Stuff

With the move to Denver pretty much complete I've gotten back into some sort of groove of working on stuff, but I guess my brain must've been pretty scrambled with this sudden weather change because now I'm taking some time to work on a completely different project again!

This is actually a project I've worked on here and there over the past year, but I think I finally have narrowed down some ideas in my head on more of the finer details and that's inspired me to work on it some more.

Without spoiling too much about it: it is some sort of RPG, and it does have some sort of procedural generation element to it. I've been digging into using YAML for the data since I've been looking for something easy to parse and easy to write out. I think the failings of JSON and XML are that it is a giant pain to write out by hand, so YAML seems to be covering that gap quite well.

Here's an example of some of my YAML data:

name: "Bob"
health: 10
money: 5
drop: [null, null, basicattack]
color: ff0000
- Attack 1
- Attack 1
- [Attack 1, Attack 1, Charge]
- Attack 1
- [Flee, Defend]
- Restart

And to parse it in Otter I'm using a library called YamlDotNet. It makes parsing YAML pretty easy but unfortunately it is lacking in documentation and community.

The parsing code for the above data looks like this:

// An enemy class to match the structure of the YAML
public class Enemy : DataObject {
public static string DataPath = Assets.Data.Enemies;

public int Health { get; set; }
public int Money { get; set; }
public List<string> Drop { get; set; }
public List<object> Combat { get; set; }
public string Color { get; set; }
// A method to load the data from the YAML
enemies = Load<Parsed.Enemy>();
// The method to load the data from YAML
static Dictionary<string, T> Load<T>() where T : Parsed.DataObject {
string dataPath = "";
try {
dataPath = (string)Util.GetFieldValue(typeof(T), "DataPath");
catch {
throw new Exception(string.Format("No data path found on type {0}", typeof(T)));

var dict = DD.Yaml.Deserialize<Dictionary<string, T>>(File.ReadAllText(dataPath));
dict.Each((k, v) => {
v.Id = k;
return dict;

Normally I would be using my Google Spreadsheet tools for data, but unfortunately spreadsheets break down at a certain point. When my data starts to need more than just scalar values in each field spreadsheets become a pain to use. Basically if I want an enemy to have a list of attacks to perform on the player I have to enter that list into a single cell of a spreadsheet which just doesn't look or feel good.

More updates on this and hopefully Super Sky Sisters coming soon!

No Comments

2015 - 11 - 7 / 1:40 pm / general

Hello from Denver

Hello from Denver

It's been a pretty crazy week for me! Last Sunday I packed up my car and started off on the trip to Denver from Phoenix. Stopped in Santa Fe for the night and ended up in Denver the next day. I stayed with some friends for a couple of days, and through some weird stroke of luck and good fortune found a place to live the day after I got here.

So hopefully pretty soon I will have some internet hooked up, but for now I'm sitting in Roostercat in Denver with my laptop typing this up. I'm really anxious to get back into a schedule of working on my projects.

I'm also going to be on the lookout for Denver game dev meet ups and so far CiGDA seems like the best bet.

Until I get back into the groove I probably wont be posting too much here but I still want (or need) to make my post quota for the month. Hopefully by Monday things will be back on schedule and I can get back to work.

No Comments

2015 - 10 - 27 / 1:08 pm / general

Change Places!

Change Places!

Well for the past week I've been working on getting Super Sky Sisters to a more finished state, but I've also been trying to figure out all the details of packing up all my stuff and moving to Denver, Colorado.

My time in the sunny desert of Tempe, Arizona is coming to an end. It's gonna be super tough to say goodbye to everything and everyone in the place I've called home for the past 6 years of my life. I originally moved out to the desert to join my teammates to work on Snapshot (a one year project that quickly became a three year project, whoops.) The other team members moved away, but I ended up staying in Phoenix since I loved it so much. Phoenix has a small, but active game developer scene that I enjoyed being a part of during my time here, and I even took up helping lead the local IGDA chapter here. I'm gonna miss this place a lot!

I'm officially making the move to Colorado on November 1st, so unfortunately that means that working on stuff this week, next week, and probably still after that is going to be a gigantic pain in the butt. I actually haven't had a proper home or place to work in about 2 months since it was almost nonstop traveling during the summer, and over the past month I've been waiting on figuring out if I was in fact moving to a new city or not. I'm currently writing this blog post from outside a coffee shop in Tempe as I haven't even set up my desktop computer in weeks. Surprisingly I've been doing okay without my desktop set up, but I am missing having a multi-monitor set up.

What's this all mean?! Well I don't know, I'm going to still be trying to make games, work on Otter, and update my blog a few times a week, but I am expecting that to slow down while I'm on the move... we'll see how this goes!

No Comments

2015 - 10 - 22 / 10:49 am / general

Dev Log: Online Ranking

Dev Log: Online Ranking

Whoops I dozed off on my blog for a few days there. I've been working away at Super Sky Sisters trying to add enough stuff to call it a finished, proper game. The next step with that is adding a simple online ranking system!


Right now the way it works is your computer will have a unique id associated with it and you will see how you match up against other high scores from all the other players. Right now in the screenshot above the online scores are all completely random so the graph looks a little nonsensical, but I imagine when the game is actually released and played over time what you'll end up seeing is more of a bell curve instead.

I opted to do this kind of ranking system to try to just tell players generally how they're doing. If you're not in the top 100 scores in the world you'll end up seeing a percentage value instead of a rank. That percentage value is the number of players you're currently ahead of. You also need to reach a certain minimum score (yet to be determined) to post to the ranking system at all.

The computer id thing does mean that if you switch what computer you're playing on you will not keep your ranking. If the game ends up on a system like Steam then I can probably use the steam id of the player, but honestly using a unique id related to the computer is the easiest solution for the player. The player doesn't have to do anything in order to start submitting their time, and everything just happens magically. I still might make a way to transfer your id to another computer though, maybe!

Things are going well even in the midst of life chaos! I had some more ideas to add to boss battles so I might tackle that next.

No Comments

2015 - 10 - 15 / 12:18 pm / general

Dev Log: Sky Sisters Progression

Dev Log: Sky Sisters Progression

Okay so I'm taking a moment to step out of crazy box physics land to go back to polish some things up on Super Sky Sisters. It's been awhile since I've posted about it but it's that weird two player co-op game that I made at a game jam a billion years ago and decided to finish it which took way longer than I thought it would because I'm dumb.

I'm adding some kind of progression system onto it (which I refuse to call a metagame because it's not a metagame stop calling it a metagame already.) I want to make it clear that I'm being a total sell out because I hate progression systems in most games, but it seems like a lot of people want it and a lot of feedback I've received suggests it might be a good idea to add. So here it is.


These are sort of like achievements in the game and represent different challenges. Some include clearing a certain game difficulty or defeating a boss enemy, or scoring a certain amount of points in a single session. These will be used to unlock the special abilities in the game, and the harder difficulty levels.


This is probably just another elaborate way to procrastinate on finishing the player animations which I should've finished like 6 months ago but hey what are you gonna do! I should probably release this game soon ha haaaa.

No Comments



Hi! My name's Kyle, and I make video games most of the time in Denver, Colorado. Here you will find my thoughts, games, websites, doodles, and other stuff like that. I worked on Snapshot, Offspring Fling, and a whole bunch of other games. I also created and maintain Otter, a 2d game making framework. If you want to get a hold of me use the form on the bottom of the page, leave a comment, or just tweet at me. I try to post three times a week. Thanks for stoppin' by! You're the coolest.

blog stuff






Do you want to make a Let's Play of one of my games, or a just a video featuring footage of my games? You have my full permission to do so! Even if you are monetizing your videos, you still have my full permission to use any footage from any of my games. Go for it!


Your message has been sent! Thanks :)