kroltan

LD31

I’m back!

Last time I didn’t get to finish the entry, but hopefully it will not be the case this time.

My last completed entry was Farm Fortress, which got a lot of positive feedback, and I intend to explore those suggestions as soon as I get a new phone.

This time the game will have sounds, possibly even music! I’ll be working alone with the following tools:

  • FL Studio 10
  • Unity 4.6
  • Blender 2.71
  • Paint.NET something.something

This time I got a dual-monitor setup, with the same specs as last comp:

FX6300, GTX760, 8GB, 1.5TB

FX6300, GTX760, 8GB, 1.5TB, Plus gaming level peripherals

LD33

Let’s roll!

Even though I’ll only have one of the weekend days available, I will try!

Language: C# 6
Libraries: OpenTK, ObjectTK (awesome)
IDE: Visual Studio 2015
Graphics: Paint.NET, Blender
Sound: Whatever I can find that works
Other: 10kg of desperation

Sadly I will not have my second screen available for this one!

LD 38

The Infinitely Small Room is now available!

(well, actually since ~10h ago) altar.png

Play Now

It's a user-generated game, where you traverse randomly levels created by other users!

Included is an editor mode that allows you to upload your own levels, or save/load to clipboard.

Postmortem: The Infinitely Small Room

Menu Screen

PLAY NOW

So, it's one of those times of the year again...

How big is the world of your imagination?

First of all, here is the game. It is a user-generated puzzle game, that is, users create their levels and upload for other users to play. The goal of the game is simple: Reach the exit! But to do so might prove difficult, since each room is governed by a potentially complex puzzle. But, since those are user-created rooms, it might be just a scenic ride.

For players, the goal is simply to amass the most points you can. Completion points (green flags) are awarded for reaching the exit, and spent to destroy slime barriers. The other kind of score is diamonds, which can be found inside chests. To open a chest, you first will need a key, which might be hidden or locked somewhere else in the level.

The idea behind this game was to simply give each player a constrained space for them to exercise their creativity. The trigger system, while not completely intuitive, is very complex, capable of receiving user input, aggregating conditions and propagating those changes to other objects.

On the gamedev side of things, this is much easier for me since I only need to design enough levels to get people interested in making their own. At any point in the game, you may enter edit mode and see exactly how each level is made, which serves as a simple form of "documenting" the editor.


bastion.png

The process

Preparations

This time, I've made sure there were no major interruptions during the Compo weekend, so I had all those sweet 48 hours to focus on the game. I chose technologies I was familiar with, that is, Unity and Blender, so there was no learning curve or remakes.

The Theme and the Idea

When the theme was announced, I was stumped.

How in the world will I create a game about a small world?

I mean, that worked before. My first LD was #23, which was about a "Tiny World" (or something along those lines). There had to be something!

First thing I thought, was of how the Internet brings people together, and makes the world "smaller". The game idea would then be that the player is part of the Three Letter Agency, snooping on the online and physical lives of random people to find a suspect. The player would be able to see camera footage, phone call recordings and social media posts & bio of everyone in a very small "town". But then I realized the scope was huge, and scratched the idea.

Still with online in mind, I thought about a mini turn-based RTS, where each player starts on a face of a 5x5 cube and had to conquer all other 5 players to win. But then I realized I'm shit at writing AIs, would take too long to implement properly, and no way in hell would there be 5 Ludum Darians playing at the same time.

Then I was reminded of my very first LD game, which was following a similar theme, and was a puzzle game. I decided to take inspiration from that, but still there was something missing. During a 5 minute existential crysis I noticed how people's minds can be so... small sometimes... so boxed into a few alternatives, and somehow that made its way into the game idea:

A game of creativity where you struggle to make the most of the limited resources to do something polished and functional. In some ways, this game is a meta-analysis on LD and Jams in general.

But hey, it seems to work! So let's get going!

Development Story

The first thing I tackled was a system for loading a bunch of Unity prefabs given a JSON recipe. This would become my level format.

Then, after handcrafting a (very claustrophobically tiny) level by hand, I had to put a player on it! Here comes Mr. Capsule, my old friend, and a simple mouse-directional movement script. A fine detail of the player controller is that you can actually run if you move the mouse far enough from the character. AAnyway! Scope!

Erm, did I say "scope"? Then I certainly shouldn't have had proceeded to work on this:

Unarmed Post-compo Render

First screwup: Spending 3 and a half hours on a player model is not classified as efficient time usage! Well, at least I can say this is the best rigging job I've ever done (not that I did that many of those)!

Ok, deviation done. It's been 16 hours since the reveal already, back to work!

The rest of the first day and the morning of the second were spent writing and debugging the trigger system and writing the level editor. Everything went quite fine during this period, but I really spent a lot of time with Unity's UI. Too much hassle to data-bind! (and I had to release with bugs anyways)

The last 12 hours were spent on writing the behaviours for brazier, chest, and scoring, and also creating the 3D assets. Everything went mostly smooth. The only issue I had was writing the scoring UI and blocking interactions with the chest when you don't have a key.

Final hour! All that is left to do is add some music. Since I have an innate -70 musicality modifier, I used Otomata to generate it, and recorded the output. This results in a pretty random/chaotic BGM, but better than nothing.

Deploying everything was a bit of a hassle, because I used the MonoUpgrade branch of Unity 5.6, I couldn't cross-compile to Mac/Linux, and for some reason on WebGL the UI disappeared, so the game ended up being Windows-only (but if you want to play on Mac, you can get the appropriate version of Unity to compile the game yourself! Check the GitHub repo for details). The LD website wasn't accepting my images, probably due to request timeouts, and Itch.io took a bit to upload the zip to. But it worked out, with 30 minutes to spare!

...or did it?

THE SERVER!

I had forgotten to change the server URL when building the game, causing everyone to get connection errors because the game tried to access localhost

Reupload everything... Check if the web hosting didn't explode. But it did! I had to delete the project and re-create the database. (which was simple, but still, time!) (000webhosting sucks)

Now I'm done! With 12 seconds to spare! Success!


Conclusion

This was a good LD. The theme unfortunately was a repeat, I wish there would be a policy so that doesn't happen. But good anyways. Everything was for the most part not on fire, which is a huge plus in my opinion. The resulting game was a bit underscoped and simplistic, but it ended up quite stable, at least.

LD 39

Yeah yeah the usual

I'm in! But with a twist, this time with a team!

@Moski will be handling the virtual pencils, @jmm will be jmming some grooves, and I'll be the code monkey.

As for the tools, Unity, VS and UniRx are confirmed, the rest will depend on the game!

LD 40

MUST CONSUME PIZZA IN ANY WAY POSSIBLE

But I don't have a pizza tray to put in the oven.

So I put the pizza in a pot, over another pot with water, on the stove.

IMGem20171202/em142024.jpg

Diagram:

Untitled.png

PGC is in!

Don't forget to hop into the stream! Unityem2017-12-02/em16-31-21.png

MAGNETOGRABBER2000 IS OUT

Have you ever wanted to play Star Citizen, but did not have a stellar (pun intended) computer? Well damn, you're out of luck because no way I'll optimize well with 3 hours left.

So come on! Play this 2D ripoff! I promise it will be as grindy as the real thing! And it has highscores!

Play Now!

firefoxem2017-12-03/em20-31-46.png/a

And if you wonder where the theme fits: Have you ever even tried to haul tons of ores attached to a spaceship's hull?

LD 41

Getting the Ball Rolling in Wizsnooks: Hopefully a Success Story

Skeletorb

This has been my favorite LD so far, I had the opportunity to work with great teammates: @Moski arting (he's who drew Skeletorb, seen above), @RobinHoodPT sounding and me coding, and debuting as part of Whales and Games. I had partnered with @Moski earlier, in LD39, and sticked around their Discord annoying everyone until stockholm syndrome hit them again and we decided going for LD41.

Our entry is Wizsnooks, a billiards dungeon crawler!


This is a telling of the Jam's events through my eyes, but not the game's postmortem! Not yet at least. Stay tuned for that one somewhen this week!


Day One

Our team decided quite early on on the Snooker RPG idea, so I immediately started working on a prototype for snooker physics ~~so the artist's eyes bled and gave him motivation~~ so we could see with our own eyes.

Programmer art at its apex

Then we got the first batch of sprites and I started working on some animations and flair. This will be a repeating theme within this post: make a base mechanic, then fluff it up so it looks good before moving on to the next.

Kapoof

After that, we knew that an RPG needed an inventory, naturally. At the time we thought it would be nice if we had attack and defense stats that would affect how balls respond to collision:

  • A higher Defense stat would increase ball stability after bouncing on enemies, effectively a "knockforward" on hit;
  • As for Attack, it would increase the knock that the enemy ball takes, so a wielder of a strong weapon would need only small nudges to send enemies flying.

I had a lot of time while the artist worked on a crapton of equipment sprites, so I spent a lot of the time writing up a very flexible attribute system based on ScriptableObjects (more on that later) and making the inventory UI with stat comparisons.

Inventoringing

Day the Second

After spending a million years perfecting a satisfying loot animation, I bodged together some more code to drop items based on a percent chance. And sneakily, I inserted a new requirement for the code: item rarities! No idea how would they matter, but I wanted colors so I put them in.

We decided going more RPG and less Snooks so we added health and made attack and defense stats affect that.

Oh and also, the initial tileset was in so I had to learn how to use Unity's tilemap in 30 minutes. I sorta did, but the repercussions are visible to this day.

You got mail!

Now, obviously, the priority was adding disembodied hands to the game, like any sane person would naturally choose to do.

Handpants

Had to add events to every possible situation in the universe so soundman could add sounds to them.

Doomsday

Day One's meneacing seemed to have worked, the artist was quite motivated. All menu sprites were done even faster than I could see them being pushed to the git repository. Tilesets flooded the Assets folder.

I also reused the drop animation's sprites for a death screen, and burdened myself with the tiny visual detail that the death screen's sprites are actually the player's currently-equipped items.

Main menu Death screen

The rest of the time was spent fixing bugs and polishing mechanics, while artman drew more items and soundman made more maps, and balanced artman's items.

We hit publish, having needed the holy Submission Hour, with the game clocked at 19 items, 4 rarities, 4 monsters and 13 levels. Turns out a lot of items hadn't been balanced and added to the loot tables (I mean, poor soundman having to do everything today, but such is life), otherwise we'd have 23!

Day the After-th

I spent this day using my webdevguy skills to polish the fuck out of the Itch game page, while secondary platforms were built (Win32, Linux, OSX). I mean, just look at it! So pretty!

Thuswhile

I think this was a fantastic jam, finally with a Theme That Didn't Suck, awesome teammates and no social interruptions (for once)!

So many great games! Now goodbye while I go hunt for some more.

Skeletorb

But wait!

I did say

(more on that later)

earlier, did I not? Well, I'll be honest with you, it's 00:30AM Monday, so I gotta hit the hay. I will however do a full post about it Soon:tm:!

Hopefully tomorrow, maybe in 2 days. One thing is sure: I'll have @Moski make a ruckus out of it, so everyone hears it!

In the meanwhile, do check out our entry, and hop over on Discord to have a chat with us!

LD 43

Wallpaper!

A 3D render of the Ludum Dare initials in glossy plastic, rendered in 4K for your viewing pleasure.

I left a bit of space on the left for those of you who have desktop icons, or if you want to add some branding for your stream. If you don't like it, feel free to crop!

LDwall_1080.png/a

Note that the image linked here is the 1080p version, click it to view the 4K version on imgur.

If you want the source .blend, I've uploaded it to Mega. The license is public domain, so feel free to do whatever you want with it!

Wallpaper, dark edition!

Same deal as yesterday's, just on a dark background. Click it for 4K version.

By request of @stepan-shabalin.

LDdark_1080.png

Streaming!

Hop on for a sea of fun! https://www.twitch.tv/kroltan :whale2:

unknown.png

(actually just me programming while on voice with the other WaG members and listening to Pokémon jazz)

LD 44

Ludum Dare 45

About Farm Fortress 2

So, it is finally over...

gameplay photo Farm Fortress 2

This was a bit of a convoluted weekend (moreso than an usual LD), I had basically only 1.5 day's worth of uptime for the weekend. Ended up having to submit the game for the Jam instead, even though I made the game all by myself (including art).

But anyways, it was an interesting take. I decided on remaking one of my old LD titles, all the way from #28 (sadly the host is deceased so you can't play it anymore, but the screenshots and jam page is still up). Here it is, included for your convenience:

farm fortress the first The original Farm Fortress, from 2013

I took the core idea of a "semi-idle farming strategy tower defense", already present in the old game, and expanded it for a more interesting mechanic - multiple resources and production chains. I also wanted to expand the visuals and make it an overall more polished game, considering I wouldn't have to spend as much time prototyping as the original.

Original Gameplay

In the original, you would click a tile, and according to what was there, you could build a few different things. For example, on grass you can build foundations or till the land. On tilled land, you can water it, while foundations can be bought into buildings (towers and farms).

Each of those upgrades costs gold, which you gain whenever a crop grows. This original version had a lot of manual clicking to re-water and seed till spots.

Your income would be multiplied by the number of farms in the map.

In addition to this, to provide some challenge, enemies would sporadically attack you, possibly destroying your buildings. For that, towers had to be built to provide defenses.

Revised Gameplay

Gold has been split into multiple resources, and now each building consumes and produces some resource as part of its function. This adds a bit more depth as now you must match the impedance of your farm empire to ensure the best throughput.

Building placement has been reworked to move away from tiles, mainly because I thought they looked terrible. It also simplified implementation of the actual placement logic.

To still keep you engaged after setting up a nice loop, some buildings must be collected manually once their production is gone, before they go to your stockpile.

Due to time constraints I had to remove the building upgrades, but hopefully the resource split kind of fills the mechanical gap.

Polishing

This time around I spent a lot of time making sure the UI is reasonable, the game's presentation is clear and understandable, and overall finish up the game. The AI is comparatively much better, it will always unstuck itself if it reaches a dead end. The ingame UI shows all the information you need to play the game (I did not, however, manage to implement a tutorial screen).

There are still some glaring bugs, but overall I am personally very satisfied with this evolution.

conclusion - splash screenshot

Thank you for reading! If you haven't already, go play the game!