Grave Screen Of Death Post-Mortem – Ludum Dare 31

Last week-end was Ludum Dare time again ! The 31th Ludum Dare game jam happened from the 6th to the 8th of this month and I was in !

GSOD screen4 For those who don’t know, the Ludum Dare is a game Jam where you are challenged to create a game based on a theme disclosed at the last minute in 48h, alone and from scratch (the Compo) or in 72h with a team (the Jam). It’s technically a competition but having a playable game at the deadline is already the biggest win.

This time the theme was Entire Game On One Screen. As this theme was more a technical limitation than a creative one (more on that below) I set out to create a simple top-down shooter.

Play the game in your browser on Itch.io: http://florentpoujol.itch.io/grave-screen-of-death

If you happened to make a game for this Ludum Dare (let me know about it !), you can rate it on its entry page. Thanks !

You can also get the sources on GitHub, play it on GameJolt, play it on Kongregate and if you have CraftStudio installed , you can directly access the project inside its client.

What went right

Continue reading

Linked Colours Post Mortem – Ludum Dare 30

Last week-end was Ludum Dare time again ! The 30th Ludum Dare game jam happend from the 23th to the 25th of this month and I was in !

Level1-Day2For those who don’t know, the Ludum Dare is a game Jam where you are challenged to create a game based on a theme disclosed at the last minute in 48h, alone and from scratch (the Compo) or in 72h with a team (the Jam). It’s technically a competition but having a playable game at the deadline is already the biggest win.

This time the theme was Connected Worlds. I took a little liberty in the theme as I set out to create a puzzle game where you have to connect all the squares of colours together to complete the level.

Play the game in your browser here : https://florentpoujol.fr/content/craftstudio/linked-colours

You can also. You better not use FireFox as the web player loads very slowly (Chrome is fine!), sorry for that inconvenience.

If you enjoyed it, please rate it ! Thanks !

You can also get the sources on GitHub, donate and play it on Itch.io, play it on GameJolt and if you have CraftStudio installed , you can directly access the project inside CS’s client.

What went right

Continue reading

Crafty Bird, a Flappy Bird clone with CraftStudio

screenshot2I am a little late to the party but I took a few hours to put together a Flappy Bird clone with CraftStudio.

Play it now !

I recommend you to use Chrome as the game loads very slowly in FireFox (at least for me).

You an check out the sources (CS project, the Lua code and the webplayer files) over at my GitHub account or open the project in CraftStudio (if your have it installed).

The game’s art comes from Clumsy Bird, a Flappy Bird clone made with Melon.js by Ellison Leão.

It also use my Simple Hosted Leaderboards system but for some reason I didn’t wanted players to enter their name in the game, so I set out to identify them based on their IP.

Unfortunately, the leaderboard system doesn’t allow to keep arbitrary data along with the player’s name and id so I needed another ways to keep the relation between the IPs and player ids. As the game was made for the webplayer, local storage wasn’t an option either.

So the only option left was keep this data in JSON on the web server.

When you connect to the page, PHP gets your IP then gets you player id from that JSON file. If your IP hasn’t been assigned to a player id yet (because it’s the first time you connect or because your IP has changed from last time) it gets a new id from the leaderboard.

Once PHP got the leaderboard data, your player id and both the page and the game have loaded, a JavaScript function on the index page gets called from the player and sets one of the game variable with you player id so that the game can post your best score in the leaderboard when you increase it.

It would probably have been easier to allow the leaderboard to store arbitrary data (or I could have used the player name to store the IP) than to fiddle with PHP and JS and the game like that but it’s awesome and interesting that you can do this, though !

As some have mentioned, the game is quite easy mostly because the gap between two pipes is generously large, but I spent enough time on this project already.

See you next time !

Game Analytics SDK for CraftStudio

Game Analytics is a free analytics service for games that allow to track almost any kind of data and visualize this data using custom charts on their dashboard.

Game Analytics LogoAnaytics and statistics in games are useful in a number of ways :

For instance you can get an idea of the difficulty of a level by tracking how much time players spend on it, or how many time they dye and retry, or if they reach the next level at all. You can also tweak you in-game economics by tracking which items are brought the most (ie: additional levels vs cosmetic assets vs weapon packs). With game analytics, you can actually track data (events) about four topic (categories): design, business, error and user.

Communicating data to the Game Analytics website is fairly simple but not straightforward and there is actually quite a lot of things to be taken care of like making sure the event has the correct fields, the fields have the correct value type, you can access the Internet, etc…

Plus you really want to make the creation of an event as simple and readable as possible.

This is what anSDK is for. It takes care of most of the things and provide a very simple API :

GA.NewEvent( "design", { event_id = "Kill:Shotgun", value = 10, area = "Level2" } )
-- This event for instance tells that the player has killed someone with the shotgun, dealing 10 damages, on the level "Level2".

Analytics can also be used to track simple things like how many unique players the game has and how many sessions have been played.

So I spent a few hours to put together the basics of an SDK for CraftStudio loosely based on the GA SDK for the Corona SDK (which allows to build games for mobiles in Lua).

This is the first version, with basic features like storing events when they can’t be submitted and automatically track scene transitions (and time spent on them), and more…

I haven’t tested it in a real game yet because I don’t have any that is played but that may come in the future.

Fell free to contribute or let me now if you want to use it in one of your game.

Learn more about the SDK on its GitHub repo

Simple Hosted Leaderboards

The week before the last Ludum Dare, I spent a dozen hours to put together a barebone hosted leaderboard system.
It’s a simple PHP script that allow to host several leaderboards for games (saved as JSON files).
The leaderboards are very simple, even barebones, since only the latest score and the name are saved for each player but it’s enough for most of the uses.

That’s precisely what I used in Snake Driller, the game I made for the last Ludum Dare.

You can learn more on how to work with a leaderboard on GitHub.
If you want to have a leaderboard for one of your game but don’t want to setup the script yourself, you can just use the one I host at http://csleaderboard.florentpoujol.fr.

For the Craftstudio users, I also provide an SDK that makes working with a leaderboard very easy from a CraftStudio game.