NoshBar's Dumping Ground

LÏKE is like LÖVE 0.8, but watered-down and less awesome.
LÏKE is an implementation of a subset of LÖVE features.
LÏKE does have some extensions though, such as live-reloading of assets and scripts and a touch API for touchscreens.
LÏKE is a minimal framework you can use to make 2D games in Lua.
LÏKE works on Windows, Mac OS X, Linux, Android, iOS, QNX (PlayBook) and WebOS.
LÏKE is a self-contained single executable less than 500Kb in size, written in C from scratch using OpenGL, Lua 5.2, PortAudio and the Chipmunk Physics engine.

I made my first game, jmp:err, using LÖVE. The experience of learning Lua and a new framework in a day was great.
Some things about LÖVE annoyed me though, the lack of proper ports to other platforms, the font API and I had disagreements, etc.

So, as things always go, I thought I'd make my own version the next weekend as a challenge, using the API in a "black-box" type approach.
After two days of crazily bad coding, I got my game running in my own version of the engine, exciting!

The main goal was just to get my game running on Android, but with the groundwork basically done, I figured I would keep on working on it.
I decided to port my bridge tutorial to Lua in an effort to learn "classes" in Lua and get a grips with the physics engine.
One thing lead to another and BAM, LÏKE was born.

See what's currently implemented by visiting the LÏKE page via the link on the sidebar.
Downloads for all platforms to be put up once I get my PC at home running again.

[ view entry ] permalink print article

Recently I started looking at ways to get Drumpster to output MIDI on non-Windows platforms and came across FluidSynth. It allows for MIDI playback and conversion to WAV files if you so choose. In order to do so, you need to provide a SoundFont (which provides instrument samples that are used to convert the MIDI data to wave data).

In my search for some free SoundFonts, I came across the Rhodes Piano one listed here (decompressor here), and I find it absolutely beautiful to listen to. It has a melancholic joy to it (making me think of Everclear), sometimes sounding menacing like the music in Tron.

So armed with the Rhodes SoundFont and a Windows binary from here, I converted a few MIDI files and put them up on SoundCloud.

To convert some yourself, an example commandline for this would be:
fluidsynth.exe -F output.wav input.mid jRhodes3.sf2

P.S. It also turns out that FluidSynth has a delightfully easy to use Python wrapper here.

[ view entry ] ( 2381 views ) permalink print article

This new version of Drumpster has been "ready" for ages now, I didn't want to release it because it simply isn't good enough.
(the "MIDI Playback" button doesn't do anything unless you enable it in the configuration file first, there aren't proper icons for most binaries, I haven't tested it properly on all the platforms (32-bit or 64-bit OSX build... how should I know!?), the lyrics don't always load correctly...)
However, when compared to v0.1, this has several major fixes and enhancements that make it worthwhile.

I also have a sneaking suspicion that I am going to have to rewrite the whole MIDI loading to notes on a timeline process. I currently load notes and convert them to their absolute time in milliseconds, mostly because I'm a dunce and I have no idea what I'm doing.
What I've noticed is that this conversion process isn't ideal as a song with a slow tempo will throw the notes towards you at the same pace as a fast tempo song... meaning that the notes will either be scrunched up together or very far apart, making it difficult to read sometimes.
So now I will have to store the notes and their tempo and change the rate of note flow accordingly.

Major fixes

  • MIDI loader is more stable and maps things more correctly now.
  • The splash-screen now works, a side-affect of the OpenGL code being slightly less beaten by the crazy-dog stick.
  • The OBJ loader is a bazillion times faster now, and is less against actually loading OBJ files.


  • Android build - I've tested it on a single device, all I own, if you have any tales of woe/joy, I'd love to hear about them at my Hotmail address, noshbar@, or
  • BlackBerry PlayBook build
  • The WebOS build has a funky feature where you can drag the timeline/fretboard back and forwards through time with your finger.
  • Lyrics are now loaded from the MIDI file and displayed during gameplay.
  • You can enable buggy MIDI audio playback by adding the following line to the drumpster.cfg file:

[ view entry ] ( 780 views ) permalink print article

(click the image for a larger version)

Download the source code and either add the files to a Visual Studio Win32 solution that links to SDL and Box2D, or on Linux do:
g++ main.cpp -lSDL -lBox2D


While this is by no means THE bridge builder tutorial (I intend on writing LOTS and making many pretty pictures), this shows the direction I'm going.

I'm not sure if I should start things really simple and build up, or if I should assume prior knowledge of renderers and physics engines (not that I know much about either of those anyway).
I guessed that something like this would be a good start, then the next version would add images, show how to build for every platform under the sun, that kind of thing.

If anyone is reading this and by the same miracle is actually waiting to see what I come up with, I'd love to hear what you'd like to see.

[ view entry ] ( 852 views ) permalink print article

Once again I find myself building an effigy of my sorry self with the intent of beating it with a poo-covered hindsight stick.

I move to Sweden, finally get settled in, get my first ever iPhone, launch up the AppStore in Swedish and... BAM, two bridge building games in the top charts: Fat Birds and Bridge Constructor.

On the one hand I think "Oh well, I'd probably never have finished mine anyway", on the other hand I think "I can make a better one!", and on my other radioactive hand I think "CURSED OFFSPRING OF FEMALE CANINES!".

It's about time I admit to myself that I will never make a full game, finishing is haaard.

So I figured I'd refocus my efforts and give them a new name, putting a positive spin on things.

"Tutorial" = unfinished product that people appreciate.

If I ever finish it, I will be putting up a tutorial on how to code a simple bridge building game in baby C++ (classes, no STL, blah).

With it, I may as well make an attempt to describe how I personally manage using the same code-base for Windows/Linux/OSX/iOS/Android/WebOS/BlackBerry(QNX).

The worst that can happen is I finally feel like I did something worthwhile, right?

[ view entry ] ( 780 views ) permalink print article

| Older> Last>>