I moved to a new URL! Check it out!

posts tagged with: yay!

2014: A Pretty Weird Year Part II

2014: A Pretty Weird Year Part II
Let's continue the recap of a pretty strange feeling year for me!

April


Hot of the heels of Game Developers Conference I jumped back into work on Otter and Stratoforce. I got some more basic art stuff done, and finally tackled the topic of 2d path finding. Path finding is something that always felt like it was too complicated for me to figure out, but thanks to some tutorials around the internet and help from some great friends I was able to get something basic working.

Image


Image


I still don't totally understand how it works, and if I had to come up with a path finding solution that isn't detailed in an internet tutorial then I'm pretty sure I'd be screwed. I still haven't really figured out how to make it more efficient, and I'm pretty sure I have to figure out a better way to implement it in my game... argh.

I spent a lot of time doodling this month, and probably spent too much time overall doodling during the year. Oops.

Image


May


Mainly just working on Stratoforce some more this month and got some of the menus up and running.

Image


This month I also spent some time doing some pretty hardcore experiments with rendering in Otter. I was obsessed with the idea of trying to get sprite batching working with everything that is renderable in Otter. A lot of engines or frameworks support batched rendering out of the gate, but unfortunately SFML does not meaning that I have to come up with my own solution.

I ended up hitting a wall that I didn't understand how to pass. I got some basic sprite batching working, but ultimately it seemed like a waste of time because building the batches takes the same amount of time as just rendering everything with a crapload of draw calls.

Without sprite batching a lot of sprites are sent to the GPU when they're ready to go which results in a lot of draw calls. I assumed that this was bad because a lot of engines use sprite batching to reduce the number of draw calls. However when I got a system up and running in Otter to handle automatic sprite batching what I found is that instead of the rendering being slow from a lot of draw calls, the rendering ends up being slow because it has to construct the batch of sprites on the CPU to send to the GPU.

So I felt like I wasted a lot of time here and that was crappy, but it was still fun to try and set up the sprite batching system.

June


June was the month of shaders and web design. A lot of time was spent finally buckling down and learning a thing or two about GLSL.

Image


A lot of what I'm focusing on is post processing shaders for 2d games. Shaders seem to have a near infinite amount of applications which actually makes it pretty difficult to learn them since a lot of tutorials out there on the internet cover stuff that I'm not even going to come close to using. Whenever I got anything up and running I tried to share the source code with the hopes that maybe someday a google search to my blog will help someone with similar goals out.

After some experimentation I ended up getting a cool shockwave effect set up in Stratoforce.

Image


On the web design side of things this month I also started on a project that would ultimately end up being Dan Adelman's site. I had a lot of fun diving back into the web design world and seeing that pretty much everything is completely different. Responsive design is the big game changer, and making everything on the site mobile friendly. Pretty intimidating stuff, but luckily I was able to find a lot of helpful guides and frameworks to move me along.

I also spent way too much time doodling probably.

Image


--

Hmmm... yeah it seems like although progress was being made, it wasn't being made fast enough! Path finding and shaders were two big things that have eluded me for a long time, so getting those somewhat under control in my brain was a huge accomplishment, but I'm still not really satisfied. Getting back into web design for a quick project was fun, but I think I also used that as a distraction because I didn't want to work on my game all that much.

Part III is coming up!

2014: A Pretty Weird Year Part I

2014: A Pretty Weird Year Part I
I feel like 2014 has been a pretty strange year for me. It's been a long time now since both Snapshot and Offspring Fling came out and it's pretty crazy how fast time seems to be moving lately. Snapshot took three years to make and it felt like the longest three years ever, and halfway through 2015 it will be three years since we finished the game. It's also going to be three years since Offspring Fling came out... madness.

Anyway, let's recap the year and see if I managed to actually do anything worthwhile!

January


I spent half of January last year at Steam Dev Days up in Seattle. Dev Days was a conference put on by Valve I think mostly to promote their new Steam Machines idea that was going to do battle with consoles or something like that. Ever since then we haven't really heard much about the whole Steam Machines idea though... so I don't really know what happened to that.

The conference was fun though and I got to spend some quality time with some Seattle area friends. Afterwards I got to bounce up to Vancouver to visit my lovely friends at Indie House (not to be confused with Indie House AZ.) I spent my time up there working on the beginnings of Stratoforce. I spent a lot of this month developing some of the core systems that I think the game will use.

Image


February


This month was spent a little bit working on some first pass art for Stratoforce.

Image


I also ended up joining Tumblr as another place to post my doodles to. I spent part of this month working on getting Spine animations implemented in Otter, and also made a quick example game showing off some of the basic features of the framework.

Image


This month I also remember being plagued by insanely bad sinus problems. While I was in Seattle in January I had developed some pretty bad sinus headaches. They were probably the worst head aches I've ever experienced, and this made it pretty hard to sit down and work on stuff. I still don't have any idea as to what was causing it, but I know that I do have pretty bad sinuses that often cause me various troubles like this.

Also in February the super smash hit mobile game Threes! came out, and I had the distinct honor and privilege of providing the voice for Torvus: Number 48. My girlfriend Corey also appeared in the game as Number 24. We recorded our dialogue on her mac book one night before going to sleep and somehow it sounded good enough to be included in the game!

March


March is a pretty crazy month usually since it's when Game Developers Conference takes place and I spend a week in San Francisco with a bunch of awesome people. For the conference I stayed with a bunch of people from all over the world in a huge place we found on AirBnB. I spent a lot of time just hanging out with awesome people and eating a crazy amount of good food. I'm not really sure how much appeal GDC has for me anymore outside of those things. Going to sessions for the Independent Games Summit is fun, but the main conference is just too expensive to go to for a little ole indie developer like me.

Later that month I was working on more artwork for Stratoforce and even more featrues for Otter. I managed to implement coroutines into the engine with some help from Chevy. Coroutines are amazing and have been a huge help for me (especially in game jams.)

Image


I should also mention there was a big TowerFall tournament at the end of the week of GDC. It was a 32 person 1v1 tournament with some pretty serious players. At the very end it came down to myself and my friend Will in the final set. It was an awesome experience since both of us were from Phoenix, and all we wanted to do was prove that the Phoenix area had the best TowerFall metagame. Ultimately it was I, the Assassin Prince who claimed victory.

March is also the time where Offspring Fling was in a Humble Weekly Sale which a bunch of cool games supporting open source development tools.

Image


The weekly sale was a huge success, and it's crazy to me that Offspring Fling is able to provide me with the means to cover my living expenses. I feel incredibly fortunate that both Offspring Fling and Snapshot were successful enough to allow me to keep pursuing my dream of making video games.

-

So far so good... but I think looking back on it my progress on everything is so slow! I don't feel like I got anything done in 2014, and thinking back on the year is a little stressful for that reason. I guess I'll find out if that's really the case... stay tuned for Part II!

Dev Log: Game Jammin

Dev Log: Game Jammin
Whoops I've totally neglected my blog for the past week or so. I spent last week working on some minor Otter things, as well as getting ready for a local game jam. Then I jammed for 48 hours last weekend!

Image


Image


Here's some shots of what I ended up making:

Image


Image


Image


Image


I also recorded a timelapse, and that'll be coming pretty soon!

Starforger II

Starforger II
A few weeks ago I went to a local game jam in Phoenix! The them was discovery and I set out to make some kind of space exploration procedural thing. The final result was a game I named Starforger II. There is no Starforger I, but maybe I can make a prequel someday.

Download


Starforger II v1.0 - Windows (92mb)

Whoa what's with the file size? Well this game has a lot of weird sounds in it, and maybe I can figure out how to get them more compressed, but right now they take up a lot of space.

The game uses Enter, X, C, and the arrow keys, or a USB game controller (although the game is designed around the 360 controller, so using one of those would be ideal.)

Screenshots


Image


Image


Image


Image

Otter Nap



I recently was in Seattle for PAX 2014 so obviously I had to make a stop at the Seattle Aquarium to hang out with some otters. These otters were just chilling out after a hectic day of otter stuff and I was able to get some super cute video of it. I added some random Youtube public domain music to the video since the original video just had waterfall noise.

Otter Updates!

Otter Updates!
I've pushed a handful of updates to the dev branch of Otter over the past week. The commits and source and all that good stuff is always available on BitBucket.

* Fixed a minor bug in the Coroutines. (If you opted to use multiple coroutine managers for whatever reason it would break the game's main coroutine manager. This should no longer be the case now.)

* Changed Direction to a bitfield. (Thanks to Fruckert!)

* Added a Prerender() function to Entities. (I realized I needed to draw some graphics before an Entity has rendered its own graphics, and the way I set it up in Otter made it harder to do this than compared to FlashPunk. Now you can render things before the Entity renders by overriding Prerender() and putting your Draw functions there.)

* Added tagging to the debug logs. (You can now log things to the console with a tag, and add or remove tags that you want to see in the console.)

That's all for now. I might be adding a PathFinder component to Otter soon, but we'll see if it makes sense to do so.