LD29 April 25–28, 2014

Mind the Gap, LD26 alumnus

Mind the Gap was our jam entry into Ludum Dare 26. The theme for LD26 was minimalism, so we decided to create a game inspired by the London tube map. The player builds the tube map as the city grows around them. Stations fill up, and if the player’s network isn’t up to scratch they’ll quickly overcrowd. The entry is still playable.

Mind the Gap, our Ludum Dare 26 jam entry and prototype for Mini Metro.

We were pleased with how the concept came out and floored by the response we received, so we decided to continue development into a full game.

Mini Metro

So was born Mini Metro! There was plenty of room to improve over the prototype, so while the basic gameplay remains almost everything has been improved upon. The art style is much closer to the inspiration, rivers and tunnels present a new challenge, line editing is more powerful and intuitive, pathfinding is much smarter, and the player’s capabilities are increased throughout an upgrade system. We’ve attempted to stick closely to the minimalist theme throughout development.

mini-metro-1 mini-metro-3

Greenlight & Press

Despite our initial estimates (of course it’ll be done by 2014!), a year later and we’re not quite out but almost there. Mini Metro’s been in open alpha since September 2013. In March 2014 we submitted the game to Steam Greenlight and received some amazing press—weirdly, mainly from non-gaming press. Mini Metro popped up on mainstream sites such as The Verge, Huffington Post UK, Wired UK, Brokelyn, The Atlantic Cities, Popular Mechanics, and Fast Company. The alpha has since been played well over a million times, and we’re furiously working at getting Mini Metro finished and out the door!

Release

We hope to release Q2 2014 on desktop (through Steam and DRM-free through the Humble Store), iOS, Android, and PS Vita. The alpha is playable at http://dinopoloclub.com/minimetro/.

A huge thanks to everyone behind Ludum Dare! It’s impossible to overestimate the motivation you receive by competing, both from finishing your entry and receiving feedback from the great community.

Dare to Scare – reflections on the making of a creepy game.

I threw my hat into the ring for the second time as a solo entrant in the 48-hour competition, and here is a breakdown of how it all went developing my entry Darkness Shines Through. I realize this is a bit late, but it’s been a hectic week for me, and I didn’t have the time or the drive to do this until today. Ludum Dare takes a lot out of me, and trying to rate a large number of games to get widespread exposure is almost more work than making the game in the first place. Almost.

Man against machine

If you’ve followed this blog at all, you know I’ve been making games for a long, long time, as a hobby. I was content to put my prototypes out to my friends and family and leave it at that. A while back that all changed, and I decided to try and go public with my work. After making a moderately popular Minecraft mod that took almost two years to write, I decided to go much smaller scale to save my sanity and have a better chance at finishing something cohesive. I tried to make an RPG, but I bit off a bit more than I could chew at the time, and when Ludum Dare 27 came around, I decided I would give it a go. I’ve always thought it was a fun idea, and that seemed as good a time as any to give it a try. It went pretty well, I turned that game into my first commercial product and earned my first dollars through making games. The feeling was incredible, though the project was a bit underwhelming as it didn’t exactly target the broadest of audiences. I finished up the final touches on the last patch for that game a mere week before this round started; the timing couldn’t have been better.

About a week before the contest started, I decided I was going to try and use Unity this time around. Despite the few hiccups I ran into, I largely enjoyed my experience with LibGDX, but I would like to branch out into the console market, and Unity provides me an easy way to do that while still making small PC games in the interim. I only had a few days to try and learn how to use Unity, and that simply wasn’t enough time. I’m a programmer, I write code, it’s what I like to do, it’s how my brain works. I was not able to easily adapt to the much-more-visual style of development that Unity presents, so at the last minute I scrapped the idea and went back to LibGDX.

LibGDX is like my fried chicken. It's not what I wanted to be eating, but it's so tasty. Photo by beketchai via Flickr

LibGDX is like my fried chicken. It’s not what I wanted to be eating, but it’s so tasty. Photo by beketchai via Flickr

I also thought this would be the perfect time to give this whole game development streaming thing a go. I’ve seen it around quite a bit, and while it really didn’t sound like a good time to me, I’ve been working on breaking out of my comfort zone to get my name out there. After a few snags with that, I finally got things up and running. Sort of. For whatever reason, Twitch would not update my status from offline, no matter how online I got. Others could view my stream, it was up and running, but I was listed as offline which meant nobody could find me; I didn’t show up in the Ludum Dare list of streams. In getting set up I had to switch my account from being a Justin.tv account to a Twitch.tv account, so I assumed it was because of that, and declared myself ready.

Man against theme

As soon as I knew I would have the time to enter, I started looking at the theme voting. There were some great themes, some that were mediocre, and some that I could do naught but roll my eyes at. As the list narrowed down to the final twenty, my brain went into overdrive. Every theme I read, my mind would flood with ideas of how I could possibly interpret that theme in a way that wouldn’t be overdone, and wouldn’t be out of the reach of my capability. I jotted down the best ideas that came to mind; nothing more than an elevator pitch and maybe a title, but it helped me not go crazy in the days leading up to the event. In the end I think I wrote down about 15 different ideas, each able to be tweaked to fit one of a couple of themes depending on what the actual theme was. I even tried to give myself a leg up by looking at the voting stats for the first four rounds to get a best guess at what it would be. Don’t do this, kids, it doesn’t work and it’s not a good use of time. When the theme was announced, I looked at what I had for that theme and realized I hated it.

I took parts from what I had written down; it was a platformer, the surface I was delving beneath was the facade of a small town of cult members, and there would be no combat. Outside of that it was back to the drawing board. In the first hour after the theme was announced, I started up my Twitch stream and started brainstorming. I decided to go with stealth as the conflict mechanic to replace combat, and to go with a horror-game feel. Making a stealth game in 48 hours that feels satisfying is no easy feat, so I decided to downplay that aspect in favor of a metroidvania-style of exploration. The stealth would still be there, but instead of being an epic struggle like Mark of the Ninja, it would be something more along the lines of blasting away Skree bats in Super Metroid. Something to get in the way and maybe slow you down a bit, but not really the focus. I came up with a list of must-have features, should-have features, and nice extras to add if I had time to spare. I felt good about it.

Stealth was to be my broken escalator. Sorry for the convenience. Photo by Kevin Simpson via Flickr.

Stealth was to be my broken escalator. Sorry for the convenience. Photo by Kevin Simpson via Flickr.

Man against time

By the end of the first night I had a simple platformer up and running. No graphics, no sound, just boxes jumping around and going through doors. The last time I did this, I had a horrible method for getting level content into the game, it took forever, and I nearly didn’t finish as a result, so one of the first things I set up was a streamlined process for getting levels from Tiled into my game. That turned out to be a crucial feature later on, so I’m glad I nailed that down early. My other biggest shortcomings last time were a lack of good audio, and the fact that the game was insanely hard. Audio was easy, I just had to prioritize it higher, and to address the second issue I pulled a page from the Bioshock playbook and made death a non-issue. I simply teleported the player back to the start of the map if they got caught. No loss of upgrades or progress, just a small inconvenience, and one that was easily avoided by entering a door. Going into day two I had a plan and felt on track.

I had convinced a friend of mine, the one with whom I am currently building a ping pong table, to try his hand at the solo competition for the first time. On Saturday he came over and set his laptop up across from me, with the idea that we could bounce ideas off of each other, and when the time came we would have easy and quick access to a playtester. This also gave us the opportunity to try and finish painting our table. None of those things ended up happening, but it was nice to not be locked in solitude for the entire event. I am seriously considering trying to find a local gathering for the next one, the extra human interaction was a bit distracting at times, but it helped stave off panic in a big way. What didn’t help was the fact that trying to stream was causing performance issues and eventually crashed my computer. Being behind didn’t help either.

By the end of day two, the panic had set in. I felt like I had over scoped, I felt like there was no way I could finish, and my mind was going at full speed when I tried to go to sleep the first time. I had fully animated, randomly assembled characters, tiled graphics loading from the map, and all of the music complete, but the gameplay was still missing a fair bit of what I had originally listed in the mandatory category, and I hadn’t even started on the level design. I tried to think back to where I was the last time, but my memory was hazy, I was tired, and I felt mentally drained. After kicking around in bed for about thirty minutes with no sleep in sight, against my better judgement I went back to my office and sat down for some more programming. I managed to get a buggy version of one of the planned platforming moves up and running in about twenty minutes, and while it wasn’t a huge milestone, it set my mind at ease that all of my architecture up to this point had put me in a good place. It seemed like a lot, but it would go quickly.

My mind was calm. Well, as calm as it could be, given the circumstances. Photo by Robert Grant, via Flickr.

My mind was calm. Well, as calm as it could be, given the circumstances. Photo by Robert Grant, via Flickr.

Man against self

On the final day, I was all drive. I became hyper focused and started chewing through features like a programming wizard. Within the first few hours I had all of the movement upgrades I had on my mandatory list implemented with only a few bugs that I waved away as being a casualty of speed. Stealth was working, the enemies would spot and react to the player. I wanted the whole town to react to the player being spotted, like invasion of the body snatchers, they would point and scream, and some flying cultist would come in and knock you out. Instead I went with a simple screen fade and called it a day. With about four hours left, I had all of my must-haves but two put in, and after deciding that I had time for neither of them, looked at the list of cool extras. I really wanted to add windows to the buildings, have them react to the sound of the player and open with a short delay. They would spot you just like the cultists, and the result would be the same, it just added an extra dimension to the game. I started drawing, got the graphics for them ready, got the code for how they would react written up, and with about three hours left, realized I didn’t have time to tweak the level editor and loading code to put them into the game.

I got pretty upset with myself for wasting that time. It was time I should have been using to finish the level map. Then it hit me. I hadn’t even started the level map. I panicked hard. I wanted backtracking and exploration, how could I design all of that in just a couple of hours? Fortunately, the pipeline I had set up for myself at the start saved me. The process was so streamlined I didn’t even have to close the game to load in the new map. With the editor on one screen and the game running on another, I was throwing down tiles like a fiend. After the first hour I was probably a quarter done with what I had initially envisioned. Instead of trying to finish that goal, I started throwing upgrades into existing places on the map. I added a few ledges to make the tops of building accessible with the right upgrades and stashed things all over. It changed the feel from what I wanted, no more sprawling exploration, instead a densely packed town with a collectible around every corner. The town was done, all I had left was to design the final area of the map, the church, and slap it into the game. Then I looked at the clock.

I had minutes left. Less than ten of them. I had lost track of time completely, but at least the town was done enough to play. After taking a deep breath, I made a giant empty room and put it into the game. I coded up the triggers for that map, which didn’t end up working anyway, threw in the entrance and exit, and then checked the time again. Five minutes. In a frenzy I played through the game one last time to make sure it could be beaten. With just two minutes to spare I saw the ending screen, threw my hands up and called it done.

Close enough. Photo by Mr.TinDC via Flickr.

Close enough. Photo by Mr.TinDC via Flickr.

Man against society

After I finished, worked through a stupid compatibility issue with the web version and got both versions uploaded, I took a break. I watched a movie with my oh-so-patient wife who was crucial to me not breaking down and quitting, ate some food, and just let the experience wash over me. I had done it again. Sure I didn’t get everything I wanted, or even felt I needed, in the game, but it was a product you could play from start to finish. I felt accomplished. After talking with my wife about it, she reminded me that it was just as last-minute and hectic the previous time, so at least I didn’t get worse. The game was done, but now the real challenge began. Trying to get people to care about my game.

Ludum Dare is nice in that you can steer a lot of people to your game just by voting on the entries of others. So I did that. I did that a lot. To date I have rated almost a hundred and fifty entries, which has consumed almost all of my spare time for the past week. The feedback this time around is much more positive than last time. The only glaring issues seem to be the occasional glitch in collision that results from how I handled the crouching, and the lack of a coherent introductory period in the game. Nobody seems to think it’s too hard or not fun, so I’m feeling pretty good this time around. In particular, the audio seems to be getting high praises, and since that was my worst score last time, I can’t wait to see how it turns out this time.

There are a lot of good entries this time around. Some make me feel inadequate and awful, some show a lot of promise but have a few design flaws, and some make me feel like other people don’t take this event quite as seriously as I do. It’s hard to be fair and impartial when judging, and often times the description can alter that in drastic ways. Some people didn’t get started right away, so I can understand why their game feel incomplete even for a dare entry. Should that mean they get a better score for a less complete game? I’m awful at dealing with people, so rating entries is a taxing process for me. I try to leave constructive feedback on every entry I rate, and while it makes me feel more like I’m part of the community, I think my blunt nature has left a sour taste in more than a few mouths. I try to state both the positive and the negative, but when there’s not a lot of positive, it can be hard to seem sincere with coming off as being negative.

I'm about 99% confident he's talking to me. Photo by Surian Soosay via Flickr.

I’m about 99% confident he’s talking to me. Photo by Surian Soosay via Flickr.

Initially I was going to list my favorite entries I had played so far, but since this article is already way longer than I wanted it to be, it will have to wait for another day.

Tags: post-mortem

48H

Electric Sieve

I took a few photos during the competition I would like to share.

My intestines were left a barren wasteland, but four cups of this ramen kept me from falling asleep.

I adorned my couch with members of the major snack groups: cookies, chips and jellies. At some point in my daze, I went back to the store and added sour candies. I ate fruit and vegetables, too. Plus, I drank a lot of coffee.

From Friday morning to Monday night, I slept once for 6 hours. I started early, prototyping all night before the competition and finished when I left for work. I hallucinated a few times. I saw a cartoon dog’s face in a tree and generally felt unusual.

Before the competition, I thought this mat could be my inspiration. I ended up using triangles for the sprites, so maybe it happened. I think this mat could also be a board game.

Postmortem: SUPER ROBO GARDEN ADVENTURE

This post was originally posted on my Tumblr.

The 29th installment of Ludum Dare ended over a week ago now, but I’d like to write a post now, reflecting on how the weekend went.

The game I made, SUPER ROBO GARDEN ADVENTURE, can be found here.

screenshot3

It’s a top-down action game, with pixel-tastic graphics. To start: here’s a broad outline of things that went well and things that didn’t go quite so well.

GOOD STUFF:

– I made something almost finished, by myself, in forty-eight hours.

– The thing I made looked pretty decent, IMO

– I managed my time pretty well, all things considered.

– I wrote my first proper game in Haxe / HaxeFlixel.

– I learnt a whole lot about lots of different things.

– The most important good thing that happened over the weekend, however, was the Skype Call I was part of. More on that in a sec.

– I had an absolute blast!

NOT – SO – GOOD STUFF

– The game I made had no clear direction because I sat around scratching my head with no viable ideas.

– The game is mechanically weak. I totally made up all the mechanics in the last few hours.

– The game doesn’t have any music, because I’m a lousy musician and I’m not comfortable with any music software.

– The game is buggy. Obvious stuff that should have been fixed easily was left too late, and stuff was forgotten in the final rush.

– The game hasn’t got any tutorialization – this isn’t so important, but it makes it harder for people.

– The game’s controls are sluggish and animation is slow to change because of unoptimized code.

The best part of the whole weekend was the Skype conversation I was a part of. Folmer Kelly, a gamedude I admire a lot, tweeted out his Skype name inviting people to be a part of theme discussion. I quickly responded and added Folmer, just because I could, and joined a group of people who I think all assumed that I knew some other person. The chat quickly evolved into a place to share ideas, get feedback and show WIP. This was really useful, because it inspired me to keep going (I guess because I wanted to prove myself) and produce something good. The chat, post-LD, has evolved into a general developer chat, which is really cool, and I’ve met a bunch of really cool and talented people.

My goal for the next Ludum Dare is to produce something more thematically and stylistically interesting; I want to innovate a little more. I trapped myself into going for one specific genre this LD, and I think that was because I was unconfident about my programming ability.

Anyway, I can’t wait for the next one!

iOS version submitted!

Play Web (Flash)

So, this could have been finished sooner, but I got stuck on a few things:

– Performance issues. Decided to give up. 30fps is acceptable for now, and likely only affects older devices.

– IAP code. Decided to leave this feature out and just have ads only.

– Chartboost crashes on iOS 5. Turns out it’s not supported.

– Added Flurry Analytics. Ah, feature creep.

Descent: A post mortem

Firstly, sorry for neglecting to write a post mortem last time I entered in LD24, after the first couple of days of voting I kind of disappeared and didn’t come back till recently.

Secondly, if you haven’t played Descent, have a look over here

Here are some screenshots:

ld29_screenshot1

ld29_screenshot2

ld29_screenshot3

A little bit about the game:

Descent is a sort of odd game. I didn’t really know what I was going for, I just sort of went along with what I was doing to see what came out of it. I ended up with a sort of paper plane/flappy birds cross that was much moodier than either, and centered around exploring underground caverns.

You play as a sort of droid, and you’re meant to pick up various treasures. At one point I planned to do a short cutscene at the start whereby a couple of archaeologists launched you down into the cave, but I decided against that idea and instead to focus on the mechanic itself.

What went well:

The controls.

I managed to develop a pretty unique control system, and it’s quite an interesting thing to play with and get used to.

The graphics.

It’s a very simple style, walls and corners are smooth, and there’s a static lighting effect. The text somehow seems to add to the feel of it.

The mechanic.

The end result is not really something I’ve seen done before.

The menus.

I got these done incredibly quickly, and they don’t look half bad. There’s a considerable amount of options to explore, including enabling/disabling music, sound effects and lighting, and changing the difficulty.

The plugin API.

Would do again. This was less work than I expected, and includes a decent system for plugins to hook into. It was also a lot of fun to do.

The map editor.

This made map creation considerably less difficult, and also allowed me to release something that other people could use to create maps.

 

What didn’t go so well:

The controls.

Although it’s a unique system, perhaps because of this, a lot of people disliked it and how it handled. A few alternatives I’ve been thinking about have been pressing a key gradually steering you towards a point or using the mouse and clicking where you wanted to go (which I couldn’t get to work within the 48 hours). I’d like this to be a modifiable thing in the menus somewhere. Meanwhile, if someone wants to make a plugin to switch the PlayerController, feel free 😉 just might need to use reflection to do so

The map loader.

For some reason, this took longer than expected. The end result wasn’t bad, but I had to go through numerous hoops to get something that worked. Glad it’s there, not so fun to implement though

The difficulty.

A lot of people have been complaining about this – while I can clear the included level in one run on normal difficulty, collecting all of the artefacts and scoring 600+, not everyone can do this it seems. A lot of people got stuck on the initial couple of rooms. Which is a shame, as the music develops a lot as you continue on. I’ve been thinking about making easy “snap” to each direction, change normal to the existing easy, hard to the existing normal, and insane to the existing normal with one life. (Also, hard and insane are pretty much impossible currently)

The music.

Although a lot of people liked this, I wasn’t happy with it personally. It was fairly randomly bashed together, and wasn’t really something I enjoy listening to most of. There are nice sections, but I don’t enjoy the overall feel of the piece.

 

Anyway, look forward to joining in again some other time. I’ll try and make LD30, but no promises.

 

Havoc2d Postmortem

I figured since this is my first entry, a few days have passed and I’ve received some feedback, it’s time for me to do my VERY FIRST POSTMORTEM! :D

HAVOCgif_140x223_f15a52

About Havoc2d:
You control a metal vehicle underneath a city, it has a punching device and a magnet. I don’t have a backstory to whoever is controlling this metal machine underground, but it doesn’t matter just yet. If you like destroying things, that is the purpose of this game. I reward you not with points but with auditory and visual payoffs.

If you haven’t played it yet, the entry is HERE

What went right:

The graphics- I am very proud of the visuals in this game. I managed to maintain a uniform style between vehicles and buildings, and the positioning and rendering of these elements worked out very very nicely. If you look at the time lapse of development, you will see that most of the 36 or so hours I spent developing this went into graphics alone/visual gimmicks.

The mechanics/inner workings- Everything seems to function very nicely. I have a few bugs(drive in reverse when you start), and there are a few tweaks that need to happen, however compared to any other game I have half-finished(and trust me there are many many of them), this one functions the best as a complete game-ish arcade experience.

The brain sucking addicting feeling of playing- This caused most of the things I wanted to add go unimplemented, as the game gained play ability as I was testing it, I would keep “testing” it longer and longer just because it was so much fun to watch and interact with.

The upgrade system- It is elementary at best, however, the upgrade system I added to this game really gave it some addictive qualities. That “addictive” feeling increased ten-fold when I added the 3 minute countdown timer. It really becomes a game against the clock to see how upgraded to can get your puncher and magnet before the time is up.

What went wrong:

The code- In a post-compo environment, I have to say this is very frustrating code to work with. I rushed through a lot of the coding aspects of the engine because I needed to save time. Many things that I would have coded and implemented behind the scenes would have been “long-term time investments” because the time-savings would kick in after a few weeks of programming or so.  For instance, I really should have formed a resource loading platform to go through, centralized all of the assets in some organized fashion(moreso than it currently is), and I REALLY REALLY should have not kept most of the game code in the main GameScreen.java file. I hate when I do that as it immediately makes the game hard to expand upon.

The Controls- These controls aren’t so good, I simply has WASD + Space, azerty folks are having trouble, and being right handed, I’m not so sure why I made things so dependant on my left hand while there really is zero mouse involvement in this game.

The Completion- I completed ONE aspect of this game, the cars. There was supposed to be 3 layers, Cars, sidewalk stuff(poles, stands, CARDSTANDS /b/ CARDSTANDS, fruit carts, newspaper machines), and the buildings should be more diverse, have funny company names/sayings, and be destructible.  Also, there was supposed to be helicopters, planes, all sorts of stuff. I was disappointed that I didn’t get far enough to even implement some sort of scoring system, however I was happy that I was able to submit something this year.

The Sound- I love the sound effects, But I was going to produce some good fitting music to put in this game, and I wasn’t able to do that part :'( which makes me very sad as that is something I do very often. I was even possibly going to make the music interactive and respond to in-game actions. But it’s okay I’m sure we all expected to get much more finished than we did.

So, the end result? I have myself a game to work on, you guys have something to play around with for a few minutes/possibly more. I was very inspired and thrilled throughout this entire process! The theme voting, the theme unveiling, the quiet thinking moments right after, the IDEA, the explosive code/test/code/test session that follows, stressing, coding, drawing, thinking,wondering why it’s already sunday,and definitely the relief of that last hour passing and submitting the entry.

I will definitely be participating this august!

2D physics based player controller with procedural animation (Unity)

I never finished my entry for LD29, but I’ve decided to share what I managed to accomplish anyway!
I intented to make some kind of spelunky-like cave exploring platformer with some pokémon-like mechanics on the side. Lack of motivation got the best of me though.

What I ended up with is a half finished level generation system (quite buggy) and a pretty sweet physics based 2d player controller (for platforming games) with some KISS-procedural animation.

It also has collision handling and jumping.

It was developed in Unity, but the scripts are simple enough to port to similar engines, I reckon.
I hope someone might find it useful! Use it as you like.

I’ve included the project as a whole as well as a separate package with only the player- and camera controller.
Note that the full project is dependant on AutoTileSet for rendering the tiles and that I have excluded it from this package. The player controller does not have any external dependencies.
Enjoy!

walk0

 

Whole project (Unity, AutoTileSet needed)

2D Player Controller (Unity package)

Hair Spirit Adventure – Postmortem!

As some time has passed, reviews collected and lots of bugs fixed, it seems like a good time to write a short postmortem about our experiences.

Before I start – big thanks to everyone who reviewed our game! It helped a lot for bug finding and fixing and understanding about future priorities! :) Now to the postmortem…

Idea about making platformer came  about week before event, because we don’t like puzzle games, we wouldn’t manage to make 3D game and… we like platformers.

This event was pretty historical for us, because this was first ever experience in games for our artist and first real game programming for our coder. So we’re actually very surprised that we managed to make something like this :D

 

You can check out our game here

hairSpirits

What went right:

– We made very nice artwork and it mostly worked as expected… if not –  we now know how to get it work and even better than previously :)

– Almost all content what was planned was made and included in game.

– Gameplay worked as expected (that was a surprise!)

 

What went wrong:

– bugs… a lot… in next 24h after deadline we uploaded new bugfix each 2 hours. Some bugs required complete rewriting of specific code and it was written even better (shorter and with better functionality) than before, so we learned a lot from our mistakes – that’s a good thing :)

– Surprisingly we didn’t waste too much time on non-related stuff, but some features what was required we didn’t know how to develop before, so we spent some time learning )

– We managed to record sounds but didn’t have time to include them in game

– Gameplay was more or less finished in time, but we left out story – dialogues and cutscenes , which either wasn’t included or didn’t work.

– Difficulty… We even thought about increasing it, because coder could finish all game in less than minute… but then we got reviews… It was too dificult for most of people so there was some updates to make it easyer (like multiple respawn points, easyer to kill enemies, closer platforms etc).

 

What we’re planning to do:

Well… we’re going to keep working on this game and in future releases add all content what was planned. We will try to make it more responsive on controls, implement multiple difficulty levels and expand game on more than single level. As we got a lot of reviews, we know on which aspects of game we should concentrate more and we hope that pretty soon we will have completed little game!
:)

 

Another LD Timelapse

So I’m glad I made a timelapse this year. The sad thing is the first day was overwritten.

Anyway here you go:

Behind the… hey, look, shiny things! – Postmortem!

(If you haven’t played yet, you can play by clicking here!)

What went well:
The theme. Was among my favorites during voting, and was really easy to find an idea that seemed good.

The idea was born at 6 am on a day when I couldn’t sleep because of an annoying toothache. It doesn’t seem a good start, but that morning, ignoring the lack of sleep, I had a prototype ready.
Were left behind several things I wanted to add but could not because of time, but I still think I got to create something fun.

Flixel. This engine is wonderful. It allows you to do everything. (My original idea was to use HaxeFlixel, but it was impossible. See section “What went wrong” for details.)

What went wrong:

The engine. My original idea was to use HaxeFlixel. This was fine for the first two hours, until I discovered how stupidly complex it is to read objects in a TMX in Haxeflixel. What in Flixel is five lines of code, here became a hell in which I spend several hours, and it forced me to change to Flixel  in the middle of the competition.

Twitch. It no longer automatically saves your streamings unless you manually change an option that is relatively hidden, which led me to lose several hours of video when I was doing my streaming.

The art. Again.

The future:

I think the idea has a lot of potential if I polish it and add more items to make the game something worthy. Therefore, I have begun work on a second version (Behind the … Extended Edition!), with the aim putting it in FlashGameLicense to auction as soon as it is finished.
You will have news about it …

Tags: postmortem

Not a Postmortem of Box Simulator, but the opposite.

This is kind of like a premortem?

If you can imagine the compo was conception of an idea then this is the idea beginning to grow and take shape.

 

I have had an overwhelming response to Box Simulator, with many people asking for more. Unreluctantly, I have decided to give up some precious spare time to put in some elbow grease here, and a spit shine there to start polishing Box Sim. Check out the link below to see the latest post comp additions to Box Simulator and for a download link.

Internet play has been confirmed as working, you need to forward a port if you wish to host a server though. New networking backend to come in the coming days.
https://www.facebook.com/boxsimulator

thumb

Postmortem of my Ant Sim Game

“Anthill” made in 48 hours by @greweb

I enjoyed that time a lot. What changed from the previous Ludum Dare for me is that I’m now —and happy to be— a father, and I’m enough trained to wake up at 3am so I could be there attending the beginning!

I haven’t played any Ant Simulation Game but I recently played a lot “Banished”, an awesome city-building strategy game, and I was inspired by the “assign jobs to people” gameplay of this game.

Developing a complete game in 48 hours (including sleeping) is tough, especially that it is also about making the graphics and the music!

The game resulting of these 2 days is more a prototype than a finished game: the simulation remains minimalist and fastly boring, the food is the only resource you have to care about.

Here is a 300x accelerated screencast of the developement of “Anthill”https://www.youtube.com/watch?v=VhH7of4gAHk

What went right

Music

Best achievement of my LD entry was –to me– making the music.

I’m not a musician, neither a pianist, but I played a lot with Audio the past year and I’ve managed to make a music for this game —and had a lot of fun making it. I’ve used my Yamaha P105 as a MIDI controller for making the game music and connecting it to SunVox, a modular tracker software.

Play the music – feedback appreciated

 

https://soundcloud.com/greweb/sets/ld29-1

 

Most of the notes you heard have beenrecorded live from my hand, and I was quite proud of that, because I’m quite a noob on a piano. Doing that way, you keep some imperfection in the music (little delay on the notes, especially in the intro music) and I think that sometimes makes the music better.

I’ve talked a few times about SunVox, also I still want to make my own web version of a modular audio tracker that anyone (first myself!) could use and also could embed live in the game (and, for instance, having game variable impacting the audio experience).

Graphics

Also, I’m more a developer than a graphist so I would say this was a success^^

Using a library

I’ve entirely focused on making my game rather than making the technical stack. Usually, I tend to develop my own framework with the game. It is good to learn and discover some cool ways of programming a game but this time I really wanted to get things done…

Phaser.io

…so I’ve used Phaser which is a trendy and awesome framework. It is also built on top of thePixi.js rendering library (I used in LD27) and p2.js physics engine, which are two brillant and performant JavaScript libraries.

Hopefully I started my project with a “Phaser template” I bootstraped during the previous warmup weekend. I’ve still lost some time playing with the Phaser API but I could have relied on Phaser features and performance so I think it worth it the second day.

Google Hangout with Ludum Dare friends

I used Google Hangout during the whole Ludum Dare, as a way to put my webcam in the timelapse, but more importantly to have other Ludum Dare friends coming in it!

This was a cool first experiment as an alternative to the “stream my dev” approach. It was quite fun and social to have @mrspeaker showing me his crazy Metal Meter game advancement.

What went wrong

Achievability

My initial plan was too ambitious. It seems to always happen with me: I get the first day a lot of ideas and motivation, and I tend to underestimate the work to be done. Then at the end of the first day, I’m frustrated to find out I won’t have enough time to do all my plans. Indeed it is good to have a lot of ideas but, next Ludum Dare, I’ll try to be sure to have achievable goals.

Next time, let’s remove half the features I establish!

So, the second day morning, I’ve been replanning from scratch and reprioritize my features to basically have something finished and working as a game. Because of this decision, the result you can see is a game, but far from the one I originally wanted. This version is only about digging, collecting mushrooms and avoiding stravation.

Also I originally scheduled to work that way Day 1: developing-only, Day 2: music and graphics + new features. I’m not sure this approach can really works, especially it doesn’t scale, we better work by adding complete features one after the other. That theorically works, but it is however difficult to apply in practice with the stress of the Ludum Dare countdown!

Path finding performance

Implementing my own path finding algorithm was fast but not optimal at all because of performances! I recently released a bugfixed version which just use an existing path finding library to fix my bad implementation and also to avoid an ant to request path finding each frame when looking for a task to be affected on.

Finding the good simulation parameters

I underestimated a bit the amount of work needed to find the good parameters of the simulation. Those are very important to make the game well-balanced (e.g. not impossible but also not super-easy), I don’t think I found the optimal parameter in the released version.

I think I need two important things to make this parameter search easier:

  • a framework to maintain parameters presets and change them live.
  • make the simulation running at any speed to ease the development. (faster simulation)

[bug] A task is not always completed by the closest ant

There is a inconvenient proximity bug in my game that you may have noticed: when a new job is created, it may happen that, even if a ant was here nearby, a very far ant is assigned to this job.

I’m using a foreach ant in noJobAnts { findAntTask(ant,availableTasks) } loop. In this first approach, even if a ant will take the closest task in findAntTask, the first assigned ant will occupy the task even if a closer ant was after in the noJobAnts list.

Another approach to solve this issue would be to do foreach task in availableTasks { findTaskAnts(task,noJobAnts) }. In this second approach, the findTaskAnts should sort the noJobAnts list for the given task proximity.

However it is not that trivial because tasks also have different priorities for a given ant, and findAntTask solved that. In my original plan, there is some basic tasks like “clean the dirt” or “clean the corpse” which can be done by any ant. However, a specialized ant (let’s say an Harvester) may have some more important tasks to be done first, so this is why we need this priority.

In other word, fixing this bug is not trivial and I need to find the optimal loop for that!

To be continued…

I really wish to continue this game because I enjoyed making it and I would enjoy playing the one I have in mind! Time will tell if I can accomplish that wish!

Added a Mac build & Video for Crystal Myth

We just uploaded a Mac build of our game, so if you were unable to play it before, here’s another chance! In addition we also made a playthrough video for those without the hardware to run a UE4-based game.

Let us know if it has any issues, we don’t normally work on Macs and made this build on a borrowed Macbook. (Thanks Jos!)

Edit: forgot to link to the actual game page: http://www.ludumdare.com/compo/ludum-dare-29/?action=preview&uid=27767

Ocean WildLife [New Media]

Play&Rate Ocean WildLife

 

As I said i start working with a nice 2D artist at the Mobile version of the game here it is some new assets (all are animated)

This will be the check point(it open on trigger enter)

conchigliaapertura_00000conchigliaapertura_00011

 

Murena (Don’t go close to him)

murena stand_00000murenaattacca_00011

 

Puffer Fish(you can go close to him but only if you disable the light)

 

pescepallatras_00000 pescepallatras_00012

 

More stuff are coming Follow me #belva12341

 

 

Photon’s Top 3 (So Far)

If you haven’t played these games yet, PLAY THEM. I don’t hand out 5’s for Overall very easily, but each of these games earned it and are the only ones I’ve given them to thus far.

1. Hot Diggity by DragonXVI

 

Simply amazing! This ain’t your typical driller game people! As you dig farther and farther to escape the Devourer of planets, you can collect ore to upgrade your ship with four different parts. Learning how to balance ship structure, piece selection, and your heat levels has a subtle but deep strategy to it and was fun and engaging for me; the game has been up in my browser for about a week now.

2. Deep Blue Home by Jools64

The overall level of the presentation, polish and execution is what sold it for me. The unique underwater physics and the creative use of a small set of moves is just great. It may not be the bastion of innovation, but its spot-on atmosphere and vibe coupled with its simple gameplay makes for such a well-nailed experience.

3. Substratum by Ian McLarty

Do NOT let the strange visual effects fool you. It may be hard to explain, but this surreal puzzle platformer forges a strangely compelling atmosphere backed by interesting puzzle mechanics that can be challenging to wrap your head around. Despite its bizarre style, I found it surprisingly hard to put down! Just play it for yourself to see what I mean.

———-

So go on. What are you waiting for? Play them.

And if you haven’t played mine yet, give Sub Terraria Zero a go-round too and let me know what you think of it as well. Thanks!