About Kerinova Studios (twitter: @twitter.com/kerinovastudios)


MiniLD 48
Ludum Dare 27
Ludum Dare 27 Warmup

Kerinova Studios's Trophies

Kerinova Studios's Archive

Mini Ludum Dare 48: Final Day (Three) Dev Log

Monday, January 13th, 2014 6:53 pm
Screenshot of the game. Yay programmer art!

Today (technically yesterday) was the only day our team (me and Sebastian) were really productive. We got the bulk of the game today. This log will be on my perspective of today. For Sebastian’s perspective on today (and the past few days) see his developer log here. Since this article is written a day later, you can download the finished game here.
I started today with a new game state management system, both of the players, and a buggy player shooting projectile system.
The first thing that I did was remove the need to press right to start moving at the beginning of the game. The reason I did this, is because, since that is the only direction you can move on the X plane, the input to move right was moot. Once you started going right you couldn’t stop, so I decided to just remove the input outright.
Now that this was done, I went to fixing my bullet implementation. unfortunately, I didn’t have the programming know-how to salvage what I had done, so I decided to just axe the current implementation and restart it. This was necessary at that point, although in hindsight, the fact that I had to restart it cost me valuable time that I could have used implementing every feature I had planned for the Ludum Dare version. Anyway, it still had bugs, namely the bullet position starting somewhere out of view, and not on the players cannon, and that it went the wrong direction, and in an arc as opposed to straight. I was able to fix all of these though. The direction was the easiest, I just flipped an errant sight that I accidently wrote as less than instead of greater than. I fixed the arc, by editing more vector positions, and the position code, by creating a new position variable, and using that instead of my very niche player position code, which didn’t work very well. The bullets were now working…. until the player goes to the upper or lower bounds of the screen. After you touch the bounds, the bullets would stop spawning in a visible location. The 48 hours was starting to wane, so I got Sebastian on a fork of the code to work on scoring and the options menu, while I used trace statements to figure out what was going wrong. I rapidly figured out the gunPosition.Y was unbounded. That was one of the many times the problem was so simple that it made me feel dumb throughout this project. I quickly fixed the gunPosition bounding. Then I completely un-object orientedly copied and pasted the whole bullet class, and all of my bullet code, but for the other player. Yeah, I should probably make the code better, but it was a time limit, and when you have a limited amount of time, you go for what works, not what is better.

Update() code in the Bullet2 Class

By this time Sebastian had finished his work on the score, as well as finished the menu theme, and the rest of the art assets. I merged his score code back into the main code base. The score actually, the way we did it was really interesting. I don’t think it is the correct way to implement, but it was the quickest way, that didn’t cause horrible lag to the game. You can read about it on his blog here. If you were to run the game for 2.2 years, and somehow survive, the game will crash because it will run into an out of memory exception based on the limit on 32 bit systems. I kind of want to have it running in a server somewhere, with collision turned off, just to see it, but I digress.
To add the menu music, I once again hacked in a system where when you press the Enter Key in the main menu screen to go to the Game Screen, I switched the music from the menu looping, to the game one looping. This could be the right way to do it, but it seems weird.
I then added Xbox 360 controller support, which was really easy to add. Nothing needs to be written about it.
Lastly, I added the enemies, This wasn’t as bad as I initially feared it would be. I got them to spawn randomly, and move randomly very easily. I even added the facades, which were enemies that didn’t actually exist. They would shoot you, and run through you, but it wouldn’t damage you. Except that I didn’t get the shooting done in time.
Ok, really lastly, I got the game ready to publish. I fixed any bugs that were low hanging fruit, considering I had a severe paucity of time. Then I created a .exe version and a installer version of the game, packaged them, uploaded them to Dropbox, and uploaded them. apparently Dropbox was down for a few days, so I am glad it went back online in time for the upload.
We streamed most, if not all, of the development of the game on  my twitch channel: twitch.tv/ictuateAnomaly. It is from my perspective. The videos of the stream are up on the Kerinova YouTube channel now.

Sunday, January 12th, 2014 10:33 pm

Note: Sebastian’s Perspective of Day 1, 2, and 3.

For roughly the last 6 hours, me and Xeon have been hacking and badly programming our way through Death Plot for LD47.

A few statistics-
I’ve made-

-1 song, not including the one I made yesterday

-3 sound effects

-10 sprites/icons

-1 score system
Now, the score system *was* going to be based off of a float = GameTime kind of setup, but it was lagging the game and causing all kinds of strange issues with explicit casting. In the end, I decided to axe that system in favor of an int that += 1 every frame, because it didn’t lag out and break everything.
I forgot what caused me to do the math on the issues with ints and casting to longs, but here it is-
You can play the game for

2,147,483,647  frames,

71582788.2333 seconds,

1193046.47056 minutes,

19884.1078427 hours,

828.504493446 days,

118.357784778 weeks,

and 2.26987532451 years, before it crashes due to the number being larger than the int can hold (on a 32 bit system).

Meanwhile, Xeon’s been hard at work fixing all the bugs in the universe, and is even now swearing under his breath at the monitor.
The game is in it’s final stretches, and all that’s left to implement are the enemies and extra features such as an options menu.

Mini Ludum Dare 48: Day Two Devlog

Sunday, January 12th, 2014 10:30 pm

Hello everyone, and welcome to day Two of my Ludum Dare Game Development. This is for Mini Ludum Dare 48. I am developing a game called Death Plot. You can read about it here. Anyway, today (Technically yesterday, I am writing it a day late.) was a very unproductive day. Today was the first day that I had Sebastian Benjamin in the room with me, and we both did awful. All I managed to do is as follows:

  • I streamed on my Twitch Channel (uploaded to YouTube now (or soon, depending on when you read this))
  • I re-implemented GameStateManagement, because the previous implementation was very bad. It was far too complex, and was creating way too many bugs. I decided to use a simpler Enum and Switch based one.
  • I fixed and introduced various bugs
  • I implemented a very buggy version of player bullets. Now one of the players shoots, but it is in the wrong start position, and goes the wrong direction.

I can tell you, seeing as I am writing this Day two blog on Day three, that things go much better on day three.
You can follow my Ludum Dare blogs on: www.ictuateanomaly.blogspot.com or twitter.com/Kerinova_xeon

Mini Ludum Dare 48 Game: Death Plot

Friday, January 10th, 2014 11:36 pm
Current Title Screen of the game

Yesterday, I posted the day zero development log of my Mini LD 48 game, Death Plot. Now I will explain the game. I am using a more literal definition of conspiracy and façade. The game is a top down two dimensional shooter/bullet hell. It is a single player game where you control two characters at the same time, tying in conspiracy.

The graphics are OBVIOUSLY placeholder. They’ll be worked on tomorrow.

One of the characters is controlled with WASD controls, the other with the arrow keys. You will fire bullets with the spacebar. It is intended that you use both hands on the keyboard, and control the characters single player. That adds a challenge. You could potentially do local multiplayer, but it is not designed that way.
The enemies come in two flavours: real and façade enemies. The real ones shoot bullets that one shot you. (It’s a bullet hell after all.) The facades’ shoot bullets that don’t harm you, but they serve as visual clutter to make dodging more difficult.
I haven’t completely decided on the visual style, but it will probably be ASCII or early sprite based.
Anyway, that’s the general gist of the game. If all goes well, I will have a playable prototype tomorrow. My Day 1 Dev Blog is coming next.
You can follow my Ludum Dare blogs on: www.ictuateanomaly.blogspot.com or twitter.com/Kerinova_xeon

Mini Ludum Dare 48- Day Zero Dev Log

Thursday, January 9th, 2014 11:48 pm

NOTE: I wont be here for most of tomorrow, so I decided that I will use half of today, and half of tomorrow, and that will still end up as 48 hours. I hope that is allowed.

NOTE2: I will post the post explaining the game tomorrow, I just wanted to log my progress for today before I forget.

Alternate title for this post: “I FINALLY SQUASHED THE BUG!!!!!111!”, or “I am so bad I have to resort to unconventional means”.

I finally fixed the bug I was having with SpriteBatches, on my Mini Ludum Dare 48 game: Death Plot. See, I had a convoluted set up with a Sprite Class for general sprites doing the drawing for my player class. I then had the Player class call that drawing function, and then the Gameplay screen class, which is my main class, call the player one.
Much to my chagrin however, I was getting null exception errors, due to me supposedly not initializing the SpriteBatch using new. However, I was actually doing that.
Long story short, after trying multiple things to fix it, like initializing the SpriteBatch in the Game class, in LoadContent, in Draw, and pretty much everywhere, it didn’t work. I then scoured the internet for help to no avail.
So, what did I do to fix this? I moved the player drawing to the Gamplay screen class. From there it called Player.Position as a parameter to the drawing. Everything related to the player is in Player, except the drawing. It seems to be working perfectly fine now.
Anyway, I am tired, and due to school, I haven’t had much time. I got a movement system implemented, title screen art, game menus, and one of my two player controlled objects. I’ll finish the rest, as well as a design post explaining this game, tomorrow.

The Title Screen.

Follow my Twitter (Kerinova_xeon) for more about my development process.

Direct Interval- Finished

Sunday, August 25th, 2013 6:15 pm

It is over. I finished the #LD48 edition of Direct Interval the second it became 6:00. Just in time. If I hadn’t implemented the dynamic level editing, I wouldn’t have been able to finish. Thankfully I sought to do that early in the development schedule.


Nevertheless, I have finished, and you can play it at:



I will be posting a MacOSX, Web, and Linux version as well as a post-mortem VERY soon.

Here is a picture!

I am terrible at art.


You can follow my Ludum Dare blogs at www.kerinova.blogspot.com

Kerinova Studios LD27 Report- Hour: 30

Saturday, August 24th, 2013 11:43 pm

I am 30 hours in to Ludum Dare. The game is nearly complete. While it probably wont get the features that I really want to add, like saving, level preview, easier level editing, multiplatform, multiplayer, high score table, and the like, it has gotten to a very playable state. I will probably actually continue making this game even better, using the engine I have developed for Ludum Dare, after LD.

Nevertheless, since the last post:

  • I finished the menus
  • I finished all the art assets, sound effects, and music tracks
  • I added open level modding
  • I added spikes, moveable tiles, and more general tiles
  • I implemented the main mechanic. You start with 10 seconds to beat the game. You can however collect timers, these reset your 10 seconds. However you don’t want to just get timers, and go to the exit. If you do that, you will get a low score. You will want to go out of your way to get powerups, and score bonuses. You will have to balance what you go for carefully.
  • I added Melee, with right click
  • I added a non-interactive tutorial. I would add a full one, if I continue this game
  • I continued convergence with the Windows Phone and Xbox 360 version, including Virtual Thumbsticks
  • I basically finished the game

All I need to add now, are the levels, and then extras, such as high score, and ports.

Wish me luck!


Goals for end:

1. At least 3 levels

2. Port to at least: Windows Phone, Xbox 360,  PC, Web, Mac OSX, Linux

3. High Score and Extras



You can follow my live stream at www.twitch.tv/coXine, and my live tweets at www.twitter.com/Kerinova_Xeon

You can follow my Ludum Dare blogs at www.kerinova.blogspot.com

Kerinova Studios LD27 Report- Hour: 4

Friday, August 23rd, 2013 11:26 pm

The second bi-hourly post has come, and I am really late for it. One hour and 20 minutes late in fact. Oh well. Better late than never, as they always say.


I am starting to get really tired. Ludum Dare started at a fairly bad time for me. It started at 6:00 PM, so by the time Ludum Dare began, I was already wake for like 12 hours. Nevertheless, I continued on for as long as possible. So, what have I gotten done since the last post?


If you remember, during the last post, I had nothing playable. Just some engine level stuff. In the 3:30 hours since then, I have finished most of the core features. I finished about 25% of the assets, and got more done on ideas.


I now have a working menu :) Which is sort of playable I guess. So goal number 2 finished, Goal number 1 sort of failed.

I don’t really like this menu background. I will probably change it later.

I don’t however, like the menu. I think it is rather ugly, and will need a revamp later on.



The game itself isn’t playable. I still need to finish the tile, player, and enemy assets. Tomorrow will be a lot of asset work, then debugging all the things I couldn’t test, because I didn’t have assets.

You might say a solution to the debug problem, is to use placeholders. However I hate placeholders. I would rather spend the art time doing something that may end up in the final submission.


Nevertheless, I am making decent progress so far. 42 hours and a half to go.



Before the next post, my goals are:

  1. Get sleep.
  2. Work on the game in my dreams.

You can follow my live stream at www.twitch.tv/coXine, and my live tweets at www.twitter.com/Kerinova_Xeon

You can follow my Ludum Dare blogs at www.kerinova.blogspot.com

Kerinova Studios LD27 Report- Hour: 2

Friday, August 23rd, 2013 8:12 pm

Ah, the first of my bi-hourly posts. There isn’t a point in adding a picture here, as I haven’t really gotten anything done yet.


I love lists, and so, here is the list of what I got done:

  • Came up with the idea for the game, as well as genre, and art style.
    • The game will be a Platformer (Yes, a Platformer, but in my defense, it is my first LD48), in which you have 10 seconds to beat the game. There are power-ups in game that add seconds to your time limit however. But, there are also explorable areas, that give you rewards if you explore. You will have to balance gaining more time, with getting the highest score, or best gear.
    • The game’s name is currently Direct Interval.
  • Started the project- Set up the icons and logos, ect
  • Imported my public open source Collision, Tile, and GameState engine
  • Added the base animation code
  • Optimized my workplace
  • Began work on the Player

Before the next post, my goals are:

  1. Don’t get tired.
  2. Add player and level code, to make something playable.

You can follow my live stream at www.twitch.tv/coXine, and my live tweets at www.twitter.com/Kerinova_Xeon

You can follow my Ludum Dare blogs at www.kerinova.blogspot.com

Kerinova 45 Minute Post

Friday, August 23rd, 2013 7:09 pm

Just a heads up, I will be live tweeting development progress, with pictures at twitter.com/Kerinova_Xeon

Everything, will end up in a massive Bi-Hourly post on the Ludum Dare site, and Kerinova.blogspot.com

I’m in for my first LD48!

Friday, August 23rd, 2013 11:53 am

Hello everyone. I am going to do my first Ludum Dare Compo! I am incredibly excited for this. I have done a Mini Ludum Dare before, however it didn’t turn out well. Hopefully I have improved my skills since last time. Anyway, without further ado, here are the tools I will be using.


IDE: Visual Studio Ultimate 2010 and 2012

Language: C# using XNA, MonoGame, and JSIL

Sound Effects: BFXR

Music: FL Studio

Voice Acting: Melodyne

Art: Graphics Gale full, Paint.NET, possibly 3DS MAX

Stream: www.twitch.tv/coXine

I do have one question about the rules however.

I know how to make a GlaDOS sounding voice in Melodyne. Would that be allowed for the compo? It doesn’t need any outside assets. Just my voice, and editing in Melodyne.

Today wasn’t as difficult as yesterday, at least on my end. I got some preliminary planning done, as well as fixing some bugs. I feel today was a lot more productive than Day 1. I personally was streaming for most of the day. Sebastian’s stream however was only for about 30 minutes before it fell apart completely.

What I accomplished on Day 2 of #7DRTS


  • Fixed some issues with the ranged weaponry, although I still have a lot to fix that I am planning to do on Day 3. Namely, the problem with the PC controls being inverse, and the 360 controls refusing to work at all.
  • I replaced the jump sound effect to something less annoying.
  • I designed the tutorial level, but I still need to add the dialogue, enemies, heroes, towers, and everything else.
  • I added melee combat, and that is perfectly working on everything but Windows Phone. I will do the Windows Phone implementation post- ludum dare. I just need to implement the animations Sebastian will be working on tomorrow.


Tomorrow I plan on finishing the split screen, the map editor, and beginning the networking. I will face a huge host of issued tomorrow doing all of that, and I won’t even have the whole day to do it, as I have to spend a large amount of the day at the dentist.

With the split screen my challenges will be making it an option to have the game but with split screen, if you click “Start Local.” I will also have to create a Player 2 class, but that shouldn’t be as difficult.

With the map editor, I just need to implement the sprites Sebastian does, and keep that updated.

With the networking I will have to deal with learning how to actually do it, implementing the lidgren libraries, and the same issue with making it an option called “Start Online”


Those are the challenges I will be facing Day 2. I really hope we can get the game playable in time for the end of the competition, but I am starting to worry we may not finish it in time. Even worse, the exhaustion is starting to set in. The work gets harder and harder as time goes on. Oh well. Hopefully I can make it playable by the end of Day 6, and leave Day 7 to fix things.


If you want to follow this developer blog easier, then go to www.kerinova.blogspot.com I will be posting these blogs there, in addition to here.

I think I made today a lot more painful than it needed to be.

        -I made the first ranged weapon along with the bullet it fires
gun_1 - Copy
                                           bullet - Copy
        -I half finished the first map’s theme
        -I did a lot of attempted and failed animation stuff in CS6

(Sorry for it being a day late.)

Today was more difficult than me and Sebastian have anticipated. He spent a long time today having trouble with drawing characters. I have also had troubles based on programming porting and the options menu. We managed to get some things done however in the 7 or so hours we worked today (all on stream on Twitch.tv/zxeonz and twitch.tv/threadNecromancer) His log will be coming sometime tomorrow.

Anyway, what I have managed to accomplish today.


  • Set up parallax scrolling for the Y axis of the camera //This was the last thing I accomplished today, and also the easiest. I merely needed to add a few lines of code to the existing Strider Run codebase for the camera.
  • I updated the start and options menus.
  • I worked on ranged weapon implementation. It currently has a few problems with the gamepad control not working, and the controls for the mouse are inverted.
  • I added the ability to resize the window. //I just need to add an option for Full Screen.


Anyway, that is all we have accomplished on Day 1. Do tune into my Twitch channel if you want to see the development process. I will be streaming most of the day on Twitch.tv/zxeonz.

I will add media once the game is actually more like an RTS. In the mean time, if you really want to see the game, I did live stream it.

If you want to follow this developer blog easier, then go to www.kerinova.blogspot.com I will be posting these blogs there, in addition to here.

Hello everyone, Sebastian here.

Day 0 was a day of immense preparation for our debut in #7DRTS, as we had many things to get ready for the challenge that will be not *entirely* failing at this. I think we did well…? At least, we managed to not break anything so far.

To reiterate for the fifty-thousanth time, the game we are making will be called Defence Paradigm. Basically the concept is a MOBA/ARTS- with potential macro elements and controllable units other than the main hero.

What I did on Day 0 [7/21]-

-I tried and managed to actually succeed at making the stream work with semi-decent quality

-We (me and Xeon over at twitch.tv/zxeonz) created the GDD

– I set up all the VSTs that I’ll be using to make the music and sound

– I made my already ghetto setup more ghetto by trying to make the second monitor for streaming not be crunched into the wall

-I designed the HUD concept




Go to my stream at twitch.tv/threadnecromancer for my side of the development

Yes, it is spelled Defence instead of Defense in other variations of English that aren’t American English. :p

Anyway, I am Xeon Gutierrez of Kerinova Game Studios, and I will be participating in #7DRTS, or Mini Ludum Dare 44. There will be one other person working with me: Sebastian Benjamin. He will be doing his day 0 blog later today.

We are making a game called Defence Paradigm. It is intended to be a 2D ARTS/MOBA, but with far more RTS elements than MOBA, and not top down. We are hoping we can get online multiplayer done in time, but it will be difficult. If we do have extra time, I will add leaderboards, and port it to more platforms.

Anyway, enough with the introductions. Without further ado, the nominal amount of work I have achieved on Sunday, the 0th day.


  • Set up my Twitch account, and got Twitch premium, as to be able to stream as much of the Ludum Dare process as I can. // This proved more problematic than I first expected, as I got an issue when I used my password, and only realized an hour in that I needed to use the stream key. Then I started optimizing the stream for high quality, and little-to-no lag.
  • Designed the game using a game design document template. //This, other than naming everything, proved relatively easy.
  • Then for most of the work of that day, I set up the engine I would be using for Defence Paradigm. I would use a modified version of the Strider Run engine, which was a custom built engine we were using for our first game. All I did was work on importing the engine, as well as mixing in the GameState engine provided by Microsoft.

Anyway, that is all we have accomplished on Day 0. Now it is time to work, as it is now Day 1. Do tune into my Twitch channel if you want to see the development process. I will be streaming most of the day on Twitch.tv/zxeonz.

If you want to follow this developer blog easier, then go to www.kerinova.blogspot.com I will be posting these blogs there, in addition to here.

[cache: storing page]