I moved to a new URL! Check it out!

posts dated from: february 2015

Dev Log: Bosses and Explosions

Dev Log: Bosses and Explosions
I've been working away at getting some bosses working in Super Sky Sisters. I don't know how to embed a gifv from imgur so you'll have to click here to check out a super cool explosion.

Over the past year I've gotten more into using coroutines for complex behaviors and "cut scenes" in my games and my conclusion so far is that coroutines are the most amazing thing ever for game development. Back in the days of Flash I actually made my own version of coroutines (kinda) by making my own scripting language that was able to execute code over the course of multiple frames, but with C# and Otter I can just keep using the same code and have it just do the whole magical "yield return" business.

Image


Working on having three bosses in the game including this big worm snake guy. I'm making use of Otter's Skeleton and Snake components which can take a bunch of entities and move and transform them in various ways to make big monsters. This is a system I've wanted to make for a reaaaallly long time but I finally figured out how just a few months ago.

I'll be at Game Developers Conference next week so if you want to play a round of Super Sky Sisters be sure to find me! I'm hoping it have it done shortly after GDC time and release it as soon as I can. It's been a lot of fun working on a really small project that I feel like I can just mess around with. I think it's been improving my work habits and my attitude a lot, so if I can just figure out how to keep that up then I think this will be a pretty good year productivity wise.

I'm still planning on sharing a bunch of stuff from this game once I feel like I have time to dig into blog posts more. There's a lot of source codes and tricks and shaders that would be cool to share!

Doodle Post

Image


Horribly skewed but ohhh welll

Dev Log: Bosses and Stuff

Dev Log: Bosses and Stuff
Sorry it's been so quiet around here! I've been in a pretty heads down headphones on kinda zone lately which has been pretty awesome. I've been hammering away at Super Sky Sisters to get to ready to show to people at Game Developers Conference in just over a week! The latest thing I've been tackling is boss battles.

Image


Image


I'm using Otter's Skeleton and Bone components for the construction of big boss monsters to fight. They all abide by the classic video game trope of dying after all the eyes have been destroyed. Right now only one boss is functioning but I want to try to have three different bosses in the game by the time it's done.

Image


Image


There are some cool things I've been discovering along the development of this game that I do want to talk more about at some point soon (especially if I want to hit my blog post quota for the month.) I've been pretty focused on working on the game though and haven't really dedicated any brain power to writing up more detailed posts.

Also I'm still using toggl and I've made pretty good use of Trello for this project as well. As of right now things are going pretty well and I've been really focused these past few weeks!

Doodle Post

Image

Dev Log: Super Sky Sisters Screenshots

Dev Log: Super Sky Sisters Screenshots
Sorry about the silence on my blog lately but I've been pretty heads down getting a lot of stuff done on Super Sky Sisters, my two player action co-op game! I'm planning on having the game totally playable by the time the Game Developers Conference rolls around early next month, so I've been pretty focused on it.

Here's what it's been looking like lately:

Image


Image


Image


Image


I'm planning on going into a bit more detail on some things like how I'm rendering particles and the sky background for this game because I have some cool shader stuff going on. Also rendering those big red spiky blocks (or stamps as someone has called them) involves a neat shader trick as well. Back to work!

Dev Log: Otter Updates!

Dev Log: Otter Updates!
In case you didn't know I have a free to use open source 2d game making framework named Otter. It's built on top of SFML.NET and uses C#. Here are some recent changes available in the dev branch!

* Color.AddCustom() and Color.Custom() added. This is a handy way to define custom colors by Enum and later retrieve them. I didn't like making my own static colors class for each project to keep track of my custom colors, so I added some functionality to the Color class.

* BitmapFonts have been almost finalized. They should be usable now for the most part and you should be able to import fonts from a handful of different editors. You can check out what editors are supported in the class itself with the Enum BitmapDataType.

* RichText has been updated and fixed once again. I guess I've been doing kerning wrong all this time and I think I finally have it corrected. RichTextCharacters also have some new values to play with like their X and Y offset positions, scale and rotation and more.

* Added Enum.HasFlag() as an extension method. This is a handy way to check if an Enum with a [Flags] attribute contains a specific flag. I guess you can use this if you're not comfortable looking at the bitwise operators or whatever they're called (I sure am not!)

* Shader.AddParameter() is now available to register your shader parameters as an Enum. Now you can just define it once and use the Enum everywhere which should reduce pesky typos when working with shaders.

* StateMachine has been scrapped and StateMachine<> has been upgraded a little bit. It's now possible to use a stack of States in a StateMachine<> and it will run the top most state. Also now if you call ChangeState (or if you push and/or pop states) during a StateMachine's update function the StateMachine will wait until the update has finished before applying the state change!

* Fixed a typo in the Shader class whoops (SetParamter?)

* Surfaces now have their Display() function exposed. This is crucial in using a Surface that doesn't render at all, like if you're using a Surface as input to a Shader. Without calling Display() the texture will be upside down.

* Updated Collider and Entity and Graphics with more stuff like SetPosition(), SetOrigin(), and other handy stuff.

* Surface.SaveToFile() will now automatically save with a timestamp file name as a png if you don't specify an output file path. Handy for taking a bunch of screenshots during a session.

* NineSlice has some new utility functions like SetBorderPadding. I found it easier to define the areas of a NineSlice object in this way instead of trying to figure out what the bounds of the rectangle inside the texture was.

* RichText now will always round its origin since setting the origin to a 0.5f value results in blurry text!

* Fixed a bad bug in the PolygonCollider which resulted in the collider not using the transformed polygon for collision checks.

* Added 3D Audio support thanks to Fruckert.

* Lots of little bug fixes and tuning changes here and there.

Once again this is all available on the dev branch. I'll be pushing a whole bunch of changes to main branch as soon as I can sit down and write some documentation up for the new and changed stuff.