I moved to a new URL! Check it out!

posts dated from: august 2014

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.

Behavior Tree Experiments

Behavior Tree Experiments
As I dig back into my main project one of the upcoming things on my to do list that has been bugging me has been getting the enemies working in a fun and compelling way. Something where they feel smart enough to be challenging to take on.

Usually the way I've always done enemies is through finite state machines which is a pretty fancy term that you shouldn't look up on Wikipedia unless you're going to become incredibly confused. Basically a finite state machine can be used to separate an enemy's behaviors into a bunch of different distinct states. A state can then link itself to other states. So an enemy might have attack, confused, hurt, or defeated states, and depending on what's happening in the game it will switch between them to act on things.

A behavior tree is way more fancy than that and apparently is more powerful in a lot of ways. Ways that I'm not sure that I understand yet, and ways that I've been trying to figure out over the past however long I've actually been working on this game.

Image


I've started putting together a quick behavior tree library that covers the basics that I learned from this article here. For now I'm calling it Kodo and you can check out the full source on BitBucket. I'm not sure how well it works at all, so be warned. Currently I'm using it for some tests using Otter, and so far it seems like things are working but I haven't stepped into the realm of incredibly complicated trees yet.

One of the toughest things for me right now is understand how exactly I'm supposed to be building behavior trees. Finite state machines have always been easier for me to implement, and understand, and going from that to behavior trees has left me completely clueless for the most part, but everywhere I go on the internet assures me that behavior trees are ultimately worth it in the end!

Doodle Post

Image

Doodle Post

Image

Dan Adelman Web Stuff

Dan Adelman Web Stuff
News is spreading fast that the famous Dan Adelman has left his job at Nintendo to pursue helping indie game development teams with business development and marketing. How awesome is that! What's even more awesome is that I got to make Dan's new website for him. Check it out!

Image


The site is actually created as a custom Tumblr theme which ended up being pretty straight forward to set up. I find it way easier to work with than WordPress, although you don't have as much freedom to host it yourself. Working with Tumblr definitely has its kinks though. The work flow can get pretty weird towards the end of the development... I ended up having to copy and paste the entire template for the site over and over again to update things which is pretty strange, but hey it works!

This is also the first site I've done with any sort of real responsive design. Check out how the site changes when the screen width changes.

Image


It can be squeezed down pretty far in case you're viewing it on a Game Boy.

Image


I had a lot of fun making this site! Haven't really taken on any web development work in awhile, so I had to shake a lot of the rust off, and I got to learn a lot of new things along the way.