About psychonull (twitter: @psychonull)

some random devs from Buenos Aires.


Ludum Dare 37
Ludum Dare 36
Ludum Dare 35
Ludum Dare 34
Ludum Dare 33
Ludum Dare 32
Ludum Dare 31
Ludum Dare 30
Ludum Dare 29
Ludum Dare 28

psychonull's Trophies

psychonull's Archive

LD Stats and Cards

Posted by (twitter: @psychonull)
Tuesday, January 5th, 2016 9:26 am

Congrats to all entries!, as always we had an awesome time building a game for Ludum Dare :)

We have added some new stuff to http://LDStats.info (like a fast way to get your ratings card image as below) and the LD #34.

Here is our card and link to our game if you want to try it


It didn’t went as bad as we thought after comparing it with other Entries we did (http://ldstats.info/voider)

See ya!

Ludum Dare Stats Cards

Posted by (twitter: @psychonull)
Tuesday, September 22nd, 2015 10:00 am

Hey!, I’ve build up an Stats Card using the ldstats.info API in CodePen because it’s fast and it has some built in embed features.

I thought it would be nice to have a way to embed those stats in your own site fast and easy, so here are two different styles:

CodePen here

CodePen here

To make your own just Fork the code pen and at the javascript change the variables “username” and “ludum” to your own.


From there you can just go to Share > Embed and place it in your site ūüėČ

The code and CSS is there and I tried to create some variables for colors so you can just change that and match it to wherever you are placing it.

Ludum Dare API Stats!

Posted by (twitter: @psychonull)
Friday, September 18th, 2015 10:58 am

Hey there!, we wanted to see our performance over our participation on ludums to get an idea of what we need to improve at game creation (like mood, graphics, etc) and as I started to create an Excel to see that data, it came up the idea of making directly an api for everyone who wants the same.

Here is the API Site and the API Docs

Here is an example of our user: http://ldstats.info/voider


So, how it works?
It scrapes the author page looking for LudumDare entries, then scrapes every entry page found on it. To not stress the site, it will scrape ONLY once and cache the results for later fetchs. It also has a setting at the server to set the last ludum number, so every ludum I will go there and change it to make able for new scrapes.

Hope you guys enjoy it!, the source is open at Github under BSD license, so you can check it out , make use of it or whatever you want :) … also any pull request or issue is really appreciated!

I have added more suff like percents for standings, moved calculations into the API so now can use them from your site fast and easy, medals on the grids and total entries are taken from the type of entry (compo or jam).
Thanks for the good vibes, suggestions and bug reports!

Daydream Runaway: It will be tough

Posted by (twitter: @psychonull)
Friday, September 12th, 2014 7:50 am

TLDR: The end result is not what we imagined when we started to work on the game, but overall the experience was great, and we are really happy we keep participating. Go and play the game! (BEWARE: Frustration guaranteed)

Here is a little gameplay video. Sorry for the bad quality, but when I realized it was too late. While recording this gameplay, more than ever I felt how the game is damn frustrating and urged me to burn down my computer a couple of times. Anyone up to beat my score? ūüėõ


What went wrong

Theme announcement

It was friday night here when the theme was announced. We were at a pub with some friends. Everyone was talking and making suggestions of what game we could make. While that’s great, having a lot of ideas dancing in your head is sometimes not that cool. We¬†were suffering¬†an “idea overflow” and every idea seemed unoriginal or not doable. The same night we picked the best looking despite doubts, and started working on that one saturday morning.


We couldn’t get to the point of our original idea. The game was¬†intended to contain “dream objects” as obstacles. Each level should have been aesthetically different, resembling a escape from different connected dream worlds: Level 1 should have been vectorial art, level 2 pixel art, level 3 doodles, level 4 realistic objects and so on (with some effects and¬†transitions in between). We were running out of time so we ended up using¬†photoshop filters over the same sprites, getting not good results. PLUS the game goes so fast, that anything but the player is noticeable. I guess that’s why the link with the theme might be weak to nonexistent for anyone playing.
+ More time would have bought us a much polished game with less coding horrors (and better level design, and better everything). I guess this can be improved a little doing a couple of “warmups” and exercising so everything is “fresh” when LD begins.

So you think this game is hard?

Nobody but us tested the game before submission. I guess by doing that we could have seen how the game runs in different machines, and how frustrating the game and each level could be.
Our record for the entire game is ~9 minutes (the first times ranged 15-20), but there is a noticeable unbalance in some levels.
For example these are the marks for each level:


I’m sure little to none people other than us finished the game.

What went right

Compact core mechanics + simple controls

We knew we wanted to make a¬†“little fun game” with simple mechanics and controls beforehand.

We had fun

Being friends and getting together a whole weekend to make a game is great. LD is a great excuse to reunite, share meals, drinks and enjoy moments doing what we like to do :)

Level editor

We made a great level editor, that allowed us to visually place every element, and  export / import as json.

Difficulty – Challenge vs. Frustration

What draws the line between challenge and frustration? There are a lot of readings and thoughts on the topic and this experience was a trigger to further learn on that game design topic.

Closing words

Thanks to everyone in the LD community that helped and contributed with cool feedback, games and stories.

Hopefully in some near future we will get the time and motivation to fix and improve all the things that were wrong with the game, but meanwhile you can play it get frustrated here.

Postmortem – mumps: fear of contagion (jam)

Posted by (twitter: @psychonull)
Tuesday, December 31st, 2013 9:17 am

This is the first time we participate in a game jam, though we have been following ludum dare for a long time now. After a couple of weeks, it’s time to write a post-mortem about this great experience.

Play the game!

What went wrong:

Character movement
One thing that made its way into the final game, is a bug where the closest rotation angle for the people to reach an objective was incorrectly calculated. In some scenarios people would make a 358¬į spin just to face 2¬į to the left. It seemed to happen only sporadically, but it turned out to be very annoying. (we already fixed this in the post-compo version)
Other point is the player controls. Since movement controls are the only one availables in this game, we wanted to make them not the trivial “move with arrows or ASDW”. We wanted controls that could make you feel uncomfortable, sightly anxious. One movement at a time, you are not in control all the time. I think we got there, but sometimes the controls feel awkward, even frustrating.
We must rework it, and should be the most polished thing since it is central to the gameplay, but we are definitively not adding stuff such as pathfinding or any kind of ai assistance.

Level design / level editor:
In the middle of the development, we faced one of our biggest dilemmas: to build or not to build a level editor. We ended up not building the editor with the only purpose of not getting distracted by stuff that’s not essential.

We left the levels design for the last couple of hours. Time constrains + no editor = :(
We have one big json file per level, each one containing info about position, collisions, behaviors. Making all the pieces fit together resulted to be very tricky. Position trial and error, and after we got things as we wanted, we had to iterate trying to make it not so frustrating nor boring (no editor, trial and error again).

This is how a level config looks like. Not fun.

This is how a level config looks like. Not fun.

Result? Levels not properly balanced, and things like the chapter 3, with so many people getting stuck because there is no clue about what should be done next.

What went right:

We used our custom ECS microlibrary (no docs, it’s not finished). Having all the behavior decoupled, allowed us to make big changes really easy, and the code to feel more maintanable and robust.
For example, I can add the “contagionFocus” component to any object, and from there the object will infect near objects, whose once infected will also have the “contagionFocus” component.
The only drawback here might be that performance optimizations are a little bit harder, though for the jam we didn’t need to worry about that too much.
We used webmake to have node-style requires, and jshint for static code analysis. Having everything orchestrated with grunt allowed us to have jshint watch any file changes, and throw an error if any issue was encountered. This reinforced best practices, but also saved us time by anticipating syntax errors or typos.
We were pretty familiar with the workflow / tools / language so it definitively made us go faster.
Rest & food
No crazy stuff. We ate healthy food mostly, and didn’t skip any lunch or dinner. We only had some beers after the first journey right before sleeping. We had a reasonable time of sleep, and that allowed us to make it through the sunday energetically.
We worked really well together. Our thoughts were mostly aligned, and we complemented each other very well in terms of skills.
We are amazed with the quality and the power of the feedback received. Every negative remark was highly constructive.

Next steps:

We feel there is a big room for having fun developing this idea. And a big oportunity for learning and experiencing with some stuff we haven’t done before.

Iterate and polish what we already have: quirks and known bugs(player movement, collisions, AI), redesign and fine-tune the levels, improve the graphics, sounds, and UI in general.

New game modes. We thought about adding some game modes apart from the story mode (survival, infect others?, multiplayer?).

Procedurally generated levels


Happy new year everyone, see you next LD!

[cache: storing page]