BIG Festival 2015 – JJAT

It’s been quite a while since my previous post. Before talking about this last Ludum Dare, there something else I gotta write about… I’ll split this into two post, in order not to make a too long one.

First I’ll talk about my latest “non-game-jam” game.

Don't ask what "JJAT" means... it's quite stupid.

Click to go to its download page

Once again, I took part of Global Game Jam. Since I had a few other things to take care of, I couldn’t spend much time making the game. It turned out quite simple; it’s a game about controlling two character and trying to get them to the top of a kind of tower… You can check it out here (but you really shouldn’t… >__<).

So… although that game sucks, I really liked the idea of having two player (or playing along side someone). I decided to try to turn it into a real game. Since I can’t work on games without deadlines, I decided to make something to this year’s BIG Festival.

I’ve been using Dawnbringer’s 32 colors palette for some time, now. When drawing the first mockup, I wasn’t quite able to get the atmosphere I wanted to the game (when using all 32 colors). So, after noticing that there are 8 shades of blue* in the palette, I decided to try to limit the game’s color to those 8, focusing on the shapes. (*some of those colors aren’t really blue, but they got along nicely)

After 2 months, 200 commits and a few fixes to my framework, I finished the game. As usual, it’s quite hard (because, otherwise, there would be no fun).

The game got quite rushed at the end. Looking back at the commit logs, I was able to finish it by the original deadline (March 20th), but after it got first extended, I decided to polish it a little. I fixed some bugs, tweaked the menus and added more songs and sfx. By April 4th, I was done with the game. I still got some time to work on the game, but I’d rather not… I’m happy with its current state (albeit not really polished) and I don’t want to look at that messy code no more than necessary. (though I did comment most of it… I think)

This was the first time I used my framework to try and make such a “big” (there may be only 20 maps, but still…) game. I was luck to have a lot of time, because I had to write a parser for the maps, a plugin for tiled to export my maps, custom collision code (I use a quad-tree to easily detect which two objects, and which kind of objects, collided) and a event system. It was really fun, but now I gotta add those things into the main lib…

If you want to play the game (and didn’t click on the image above), you can download it here.

Advertisements

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

Persona postmortem

Finally got around to adding the postmortem here. I had done it already on the LD site, though, so it’s mostly copy paste…

On a side note, I’m considering making a post compo version, but I’ll first have to rewrite the story. Also, I might do another game in the mean time… something that I’ve wanted do for a while know. Depending on how this goes, I’ll say more about it later.

Now, on with the postmortem.

Theme

I don’t get prepared before hand for any theme. Sometimes a theme may give me an idea upon reading it during the voting, but I don’t intentionally try to know what I could do with any theme. So I was as prepared for this theme as I was for any other (except “It never ends”; I had a cool idea for it).

But this theme was both easier and tougher than every other from previous entries to me. I usually have an idea early and keep working on it through all the weekend. This time, though, I had only a concept early on, and this was after a lot of thinking. I first decided that I wanted to make a story driven game (and therefore a visual novel thing), so I started getting the engine ready with Flixel. Then, I posted a concept here and started to think about a story for it… Which wasn’t coming out nicely. Then, I kept going forth and back between writing the story and drawing assets.

Another thing I did was keep coming back to read the original concept. I was afraid I might get off track again (as I did with Hummy’s Hunger), so I was tried to think how I was going to fit the theme with the game.

Time handling

Seems like each passing LD I get better able at handling my time. I didn’t feel as pressured as with previous LDs. Before, I’d keep working until the last second while panicking cause there were too many things still to do/broken/etc. Since I set on a story driven game, that didn’t depend too heavily on implementing stuff, I was able to take it easy and, after writing a basic VN engine over Flixel, concentrating on assets.

I knew what I had to do and how… Also, since I had a setting in my mind, but not the story itself, I was able to think about the graphics for the world before writing anything. This really helped as I only did start writing the story at the ~23 hours left mark.

Story

Right, making a VN requires less coding than a platformer and is less error prone, since I know (almost) exactly how the player is going to behave… I at least know for sure all the possible actions to be performed. But there’s a greater difficulty here: writing a great story.

Since this was to be the main focus of my game, it had to be good. That’s why, even though I had the concept already in mind 4 hours after the compo had started, I was only able to write the final version by the last 22 or so hours. At the same time, I wasn’t too worried about this, because I knew that, if I had everything drawn before hand, I could “script” the story quickly enough.

I must admit I’m not completely happy with the outcome. I know that I’m not a great write, and it’s been a while since I had last written anything… Still, I’m proud that I was able to finish it and not lose track of the theme, even if with the cast isn’t good at all… Not forgetting the theme was my main focus. I even kept reading the concept time and time again, and also kept writing ideas on papers.

Graphics

Since I was going to make a VN, I thought my usual 16×16 sprites wouldn’t be fitting. So, I tried going with 24×32. I used dimensions similar to those on this year’s Global Game Jam (the overall drawing is pretty similar, actually), so I knew it would be way harder to animate and come up with different designs… That’s why I decided to start early drawing.

I had already an overall idea about how the game would be, so all I needed at first was a simple base character with a walk cycle. Switching palette colors is quite easy, even on GIMP, so I decided this was the way to make “lots” of characters.  I could also make small modifications to make each one slightly unique.

There’s no reason not do do that. Even before I had the final idea I was already polishing the graphics. The game type wasn’t likely to change, so anything I had already finished would be useful for the final game. But by the end of the compo, I left some graphics unpolished… The room wasn’t properly finished, I didn’t add dynamic shadows beneath each char, there’s no portrait for the speaking character and the scene are too static. Well, I decided to focus on the story, not on the graphics, so I expected some things to be left undone.

Audio

Along with the theme, another thing that had been annoying me for sometime were my entries’ song since LD#26. They are all too generic and weird… And I knew I could do better than that, my first game for OneGameAMonth had such a great songs… To change my that, I tried using MML for the post compo of my previous LD entry. I really liked the outcome, and restricting me to as few as “3 channels” (base+melody+drums(2 channels, actually)) helped trying to make the songs better.

Well, I liked it so much that I decided I’d use it once again. I find it easier to write songs with it than with LMMS, it’s easy to integrate with the game (but I also set up a class for that before hand) and it make seamless loop as painless as possible. Screw you Flash and your goddamned mp3 songs.

I know that the songs aren’t that unique, but I thought about what would be somewhat fitting with the scene and would also sound good. I didn’t care that the songs were short, nor that it doesn’t have a remarkable melody… I think they are fine the way they are.

One thing I must say, though: that jazzy song! I took a break and started playing the guitar, for a while. Then, I simply thought of that  simple riff and played it sometimes… Afterward, I wasn’t able to take it all from mind. So, I decided to use it for the bar scene.

Coding

Though there’s few to this, I want to talk a little about it. The first thing I (think I) did after thinking how the game should be was to code a way to script the game. I made it really simple, allowing for non-linear scripted sequences (or ‘goto’s, using a more common term), adding characters to the screen, moving them around and displaying text/options. I later modified it to have objects (‘characters’ are animated by default) and fix a few bugs… But that’s about it. XD

And, that’s it. Thanks for reading. 🙂

Persona – LD#29

It’s been almost a week already, but here is my entry for Ludum Dare 29, Persona.

Click to play

Click to play

This time the theme was “Beneath the surface” and, since I didn’t want to make yet another platformer, I went for a story driven game. I’ll post later the postmortem, but, in the mean time, check out the timelapse for this game.

You can check out my entry’s page here.