Cold Remembrance – Ludum Dare 31

Click to go to the entry's page

Click to go to the entry’s page

As I said last post, two weeks ago there was another Ludum Dare. This time, the theme was “Entire Game on One Screen”. First of all, here’s the timelapse:

At first, I didn’t like this theme at all. For me, it meant no scrolling, no menus, no other states… What you see when the game starts is everything that will be there at the end. At first, I said “screw this” and decided to have a arena shooter that had falling craters making the arena smaller. You would be able to destroy those craters to gain some more space and time, until more crates fell again. I gave up quickly because I didn’t like the idea so much (and thought it wouldn’t be as simple as I thought).

Then, I started to draw a “iron ball attached by chains to the mouse (I’ll call it simply ‘chain-ball’)”. I didn’t have any ideas for gameplay, perhaps I’d have it attached to a ship and you would have to destroy incoming ships while avoiding death… Notice, that I had already gave up my interpretation on the theme. So long as the game was inside a single screen it would be OK for me.

The only I had at the beginning

The only I had at the beginning

So, for stupids reason that I don’t remember, I didn’t bother to thinking about how the physics of the chain-ball should work… I simply tried to code it to behave like I expected. Unsurprisingly, I didn’t work at all as I had expected. So I blamed the theme, gave up that idea and started to draw a snowman.

It all started with this sprite...

It all started with this sprite…

If you weren’t into the theme voting, on Round 4, one of the themes were “☃”… Yeah, an ASCII (or unicode, whatever) for a snowman. It won that round by a large margin and seemed like a favorite to be the theme this time. Even though I also didn’t like this theme at first, this was the first that came to my mind, and thus the drawing. It was also a sub-theme for many others participants.

After drawing it I finally had the idea of making the story of a [SPOILERS] snowman reminiscing about the time between when it was built and when it melted, and how it “tried to survive the passing of seasons by staying where was winter currently”.[/SPOILERS] I was aware that this didn’t made a lot of sense, but I gave it a try, anyway. It was also almost 12 hours in, so I didn’t have much choice.

I drew everything before starting to code or to think about the actual story.It was quite fun to draw all the seasons but Autumn. I couldn’t see it as anything other than a mess of orange and yellow, which wasn’t coming out nice in as few as 20×8 pixels. I didn’t gave it much thought at the moment because the assets were still temporary by then.

All that time, I slacked off a lot. You can see me on twitter and on the LD’s site for quite a while on the timelapse. Also, I spent quite some time away from the computer (though I took it off of the timelapse, as the screen would stay blank for a while). In the mean time, I finally added the assets into the game.

I wouldn’t have too much free time on the following day, so I tried my best to have a functional game by the end of Saturday.

This is how the game looked by the end of Saturday

This is pretty much how the game looked by the end of Saturday (I think I this pic is only missing particles…)

Somehow, I was able to do it. I still had to redo all the assets, fix a few bugs and… something else that I’ve already forgotten.

Other than only having 8 hours to work on the game Sunday, nothing remarkable happened. I redid all the graphics, added sound effects and finally got to packaged the game. I only got to make an Android version the next day, as I had only slept around 3 hours from Saturday to Sunday and really needed to rest.

I’m really happy with the outcome. This should come as no surprise, since I even added it to this blog’s header. But looking back at the game, and at some comments I’ve received… It’s quite a simple and stupid game, right? You simply hold a button and watch a story, there’s no real gameplay…

So, I’ve been working on a post-compo version. One thing that I want to “fix” is to make its native resolution to be 320×240. This is the smallest that I like to work with (except when trying to do crazy stuff… I’ll have to post about it, someday). I’ve already made a border for the game, so I can keep the “game screen” smaller, which I think is fitting for this game. But I’ve yet to start drawing the actual game…

gfm_ld31-pc_mockup

Well, that’s it for now… I’ll post soon with a selection of games from this LD.

Until then!

LD#31, prelude

Two weeks ago was Ludum Dare, and I just noticed that there are a few games I’ve yet to talk about here… I’d better take that off of the to-do list before talking about this last LD…

True Sight – Global Game Jam 2014

though I don't advise you to do so...

Click to play…

It’s been just a little while since I’ve made this game… mere 11 months ago (back in January/2014)… And I’ve yet to say a single thing about it…

Well, I took part of this year GGJ with two friends, but stuff happened and they gave up on the evening of the first day, when we had as few as only a vague idea and, background I had started drawing before and a character facing right. I refused to give up and finished the game as I understood it, during the second day. Since I didn’t have a lot of time and didn’t understand the idea completely, the game became a complete mess… also, it’s pretty unplayable (as in, it makes no sense and you’ll lose really quickly).

Also, I’ve made a timelapse for this game:

On the plus side, I started drawing some big sprites during this jam… It also has some cute/funny graphics and I like the color I used for the background (though, yeah… I’m not sure if using warm colors for the BG is a good idea…). On the other hand, it’s a terrible game.

Once upon a castle… –  Campjam 2014

Click to download (windows only)

Click to download (windows only)

Then, I took part of a local game jam with @pinkmonkeyhead. It was fun working in a team, for once. We took quite a while to get an idea we where happy with, and we had to deal with lots of bugs during the jam… The basic idea is: villagers are coming to the castle to save the princess, and you must help them, adding stairs, weapon shops (with cute animal hats… XD), and other stuff. You command when they should use any of those facilities, but some have a cost per person to be used and all have some cost to be built.

It was something like that... I had to merge the sprites, because there's no single assets with a char actually wearing a hat (it was done in-game, only)

We tried to develop it further, but the code was so messy that trying to fix it was worse than simply restarting from scratch. After a while, we gave up and never talked about it again…

we never got to a agreement about the colors... I wanted it like this, but he kept changing it to gray...

My new version of the skeleton…

(I think...)

with @pinkmonkeyhead’s colors

This was the first time I actually tried to make a game in Unity and also the first time I didn’t work with pixel art. It was fun…

The Nether – Ludum Dare 30

Click to go to its page on Ludum Dare

Click to go to its page on Ludum Dare

Another Ludum Dare came and I made another game a 2D pathfinder. I spent around 10 hours getting that feature to work, and my only options were to actually finish it or start from scratch (that game wouldn’t work without it…). It makes only sense that after so much time spent on a stupid feature, I didn’t have too long to work on the actual game… So both graphics and gameplay are really lacking, here… Also, since I hard coded somethings to the pathfinder, like every character speed, both the player and the enemies moves at the same speed (which is the same as the bullet’s…).

Here’s its timelapse:

I want to someday further develop that pathfinder. It would be really useful to make something like this: Nodal Movement (by squidi). That would be great to developing a platformer for mobile…

By the way, I intent this to be my last game in Flash. I want to port a few of my current games to C (and maybe release it to Android…)

Bug Squasher

This gif really sums up what the game is about

Click to go to its homepage

I wanted to make a separate post for this game, but seems like it’ll never be made… After those games and LD#30, I finished a game I had started last year. Originally, I had made it in Flash, but while I developed my own game framework, I decided to remake it. Since I had actually designed it to have touch controls, and I wanted to support at least Android with that Framework, I later released it on the Play Store. 🙂

I’ll someday make it into a proper game… but not anywhere soon.

Unity 3D – OnTriggerEnter2D and OnTriggerExit2D “problem”

I don’t really like using engines. I prefer using libraries and having everything coded into the game, instead of having a software suite of some kind to help the process. Instead of easing the process of making games, I normally find myself fighting the engine and trying to do things my own way… which don’t always (actually, pretty much never) work out. My latest struggle has been with Unity…

Two weeks ago, a friend and I took part of a local game jam, and we used Unity. On the rush to get things working as quickly as possible, since we hadn’t been able to do a lot of work during the first few hours of the jam, we decided to manually integrate the players/enemies position. This wouldn’t mess with the Animator and everything worked just fine… or so we thought.

After the jam, we kept working on it. After a while (the next day, actually), a lot of things had broken. As I tried to fix it weirder things began to happen. Imagine the following: the camera is set side ways; villagers keep coming from the sides of the screen into a castle and you can drag and drop rooms into the castle, which can be than click at to execute an action (e.g., moving every player on that room upstairs). As I made a script, the game kept track of which room the villager is on, switching the reference if it moves into another one or assigning it to null if it moves outside a room. When a room is clicked, its state is changed and the players notices it… The problem is, when I clicked on a staircase, even villagers that weren’t on that room would move toward it and upstairs, which wasn’t the intended behavior at all.

After fiddling with that game object to see why it wasn’t working, I noticed only the OnTriggerEnter2D function was being called. OnTriggerExit2D and OnTriggerStay2D were never called. Since the reference was supposed to be cleared up on the Exit function, it was obvious what was happening… but why?

Well, quite easy (though it took me a quite while, and a lot of swearing and complaining about Unity, to understand it). We made the integration manually (i.e., curX += speed*Time.deltaTime;transform.position.x = curX+dX;), right? Turns out that clears up some states on the game object and it doesn’t issue any Exit function… actually, it was issuing Enter functions every frame. After fixing it, i.e. adding a Rigidbody2D to the villager and setting its velocity, I was able to make it work… when I disabled the Animator. After more fiddling I was able to make it work by disabling the “Apply root motion” check box on the Animator.

So, lesson learned: either do things the engine way or make your own. XD

An overview of my time as a game developer

If I remember correctly, around two years ago I first used SDL. At that time, I rendered everything though simple rendering and devised a really simple framework. That framework went through a few revisions, through which I understood what OOP really meant (at that time, it simply meant not having to copy the basic “map” initializer for to every of it’s sub class… only later I would learn what polymorphism really meant). That framework really sucked and I never finished it. A friend would sometimes say that there had to be an easier way with flash, since there were so many games done for it.

One day I saw a nice game on Kongregate and searched what was used on it. My only hints were the game name, it’s developer blog and a small ‘f’ (like this one default, but bigger). After some time I learned about Flixel and started experimenting with it. I quickly liked it. A lot! It was like the framework I wanted to do but much better. And I could make games in flash using it! This was around September and I somehow learned about Ludum Dare soon afterward. So, on December of that year I took part of Ludum Dare #22 and finished my first game ever (there were a few prototypes before, but let’s ignore those…).

Since then, I took part of every Ludum Dare there was and although I’ve had a few failures I still haven’t missed a dead line for any of those. During this time I’ve been improving mainly on making graphics, polishing and coding. I still have to get better at making a fun and well designed game and at writing music. I’ve also made a game for the 2012 GMB, and submitted two games for this years SBGames (those weren’t even selected, but oh well…). But the most important thing that happened to me this year was the One Game a Month.

I took part of it from January to April, and the games I made for it really helped me understanding how to polish a game and how hellish developing a game can be. Since I didn’t have a real work schedule, I would work on my games every free time I had. I thought it was a bad idea but I couldn’t help it since I really like making games. Well, on April I already started to struggle a lot to finish something, and was only able to do it thanks to that month’s LD. From may onward I wasn’t able to do anything at all. Only after July’s vacation I went back to making something (I started a stupid HTML5 engine and then there was the SBGames).

Sometime after the last Ludum Dare I started writing a game framework in C++. Different from two years ago, this time I’m using OpenGL for rendering, but I’m still using SDL for everything else.The idea is somewhat similar to Flixel, since that is the framework I’ve most used and it’s really like how I think a game should work. I’m planning to soon release a port of my first game, Loneliness, using this framework. It’s mostly done, but I still want to work on it a little more… Two things that I still want to do is to make a shared library of my framework and to be sure it can run on Linux. I tried to run it on my desktop (that runs Ubuntu), but it’s graphic card only supports OpenGL 2.X, and I need OpenGL 3.1 (and GLSL 3.30).

Well, this post has become long enough. I don’t think I can add anything else to it without having to write a lot more. Sometime later I shall post about one of my previous projects or the current framework. I’ll definitely publish my game’s port here (but I don’t know when)..,

Until then!

Small update and “trailer”

No big update or new game in this post. I’ve actually haven’t worked in a new game for a while now. Needless to say, I’ve failed to make One Game A Month, since I’ve done nothing for the past two. xD But this will change next month, as there’s a Ludum Dare approaching…

Well, what I really had to say is the following: I sent two of my games (Color Runner and Laser dude vs His enemies) to the “Festival de Jogos Independentes do SBGames 2013” (something like “SBGames 2013 Indie Games Festival”). But, in order to summit the games, I had to make thirty seconds trailers for both of them. So, here they are:

As it can be seen in the Color Runner trailer, now there’s a back story (and introduction animation) and the player has proper graphics. This doesn’t solve this game’s main problem lack of stages. (I could also add to that list boss battle and power ups) Someday I’ll fix that… hopefully. xD

Hello world!

Since I first took part of the Ludum Dare #22 I’ve been meaning to write a blog about the games I’ve developed and the projects I’m working on.

It’s about time I stop being lazy and just write something. =D

Expect lots (I mean LOTS) of incomplete projects and random stuff… And perhaps 3 complete (not necessarily good) games per year (one per Ludum Dare compo).

Oh, and also delayed post… But since I’ll be writing about my projects, perhaps I’ll post “frequently”… who knows… xD