schell

LD31

My 1st Ludum Dare >>=

This will be my first attempt at the Ludum Dar茅 馃槈 I’m writing (almost) everything from scratch in Haskell. I have some stub game code to start from聽that includes opengl bindings, windowing, keyboard, mouse and joystick control. All of that amounts to me being able to control a sprite of a grim reaper using my joystick:

pink reaper joystick

In my toolchain I’m using vim for editing, ghc for compilation, hdevtools for quick error checking, steeloverseer for file watching / automatic recomp, and photoshop for image editing. If all goes well I should have a very minimal game without sound by the end of the weekend. Let’s hope! :)

Tags: schell

Comments

hexagore
04. Dec 2014 路 08:53 UTC
That’s two Haskell entries I’ve seen so far! Good luck :)
marsermd
04. Dec 2014 路 10:51 UTC
You are kick-ass crazy) Good luck and have your own, haskellish kind of luck)
marsermd
04. Dec 2014 路 10:52 UTC
You are kick-ass crazy) Good luck and have your own, haskellish kind of fun)

I hit my goal for the night!

I’ve finished my goals for the night – I got collision testing working and have an okay animated reaper. I also hacked in some quick z-sorting and mass. Things are looking okay. Tomorrow will be tricky though.

schell scivally ld31

schell scivally ld31

If you’d like to follow along here is my github repo https://github.com/schell/ld31.

SLEEEEEEP

Tags: schell

Comments

data
06. Dec 2014 路 08:55 UTC
Nice reaper!

Jeez I鈥檓 tired.

Maybe I’ve taken the wrong approach to work and sleep. I thought I could work all night, wake up at an hour or so past my normal wake up time and then keep working. I was wrong and I slept through half of my work day. It would have been better for me to have gone to sleep early, gotten lots of sleep and woken up early with an entire nights worth of time to work. I guess I’ll be doing that tonight. Hopefully the sleep deprivation won’t hurt me too much. Just in case I’m taking two Aderol right now.

Just kidding, I’ve got my normal intravenous coffee drip and yerba mate drinks 馃槈

>>=

Tags: schell

GAAAH! I don鈥檛 think I鈥檒l make the compo

With five hours left I don’t think I’ll be finished in time for the compo. I’m still working on engine type things. I’ve ditched trying to implement an event system and am fixing up tweens and such so that I can display the story to the user. This is going to be tricky. I may need some family hiking to clear my head :)
>>=

Tags: haskell, schell

Comments

indigo
08. Dec 2014 路 16:06 UTC
It wasn’t just you! I also had to work way too long on engine-level things, and never got to actually implementing any content. Maybe next LD – but then hopefully equipped with a set of proper libraries that don’t make me implement everything by hand.

Post Mortem

I started this compo months in advance – I had been working on some libraries that I thought would be really useful for making games. I had written a soft FRP lib and a 2d vector-ish graphics library. I spent a LOT of time on those! Mostly reading white papers about polygon decomposition, path rendering and rasterization. I thought I would have very nice looking 2d vector graphics for my FRP game simulation.

At the last minute I read this post linked on reddit about an entity component system using extensible effects and I decided to try to use that as well.

I ended up loving the component system (though I’m still figuring out how to handle and sequence events). I ended up barely using my libraries *at all*. I think I had been a victim of depth-first development. I got really deep into figuring out how to decompose polygons and do very low-level things when I should have been thinking about Haskell game dev as a whole. I should have been writing one specific game, then writing another specific game (and then another) and then library-izing the parts that are shared and good. Instead I had an idea like “hey, this would be cool to use for game dev – I’ll dive deep into building this out.” I also had strong intuitions about what a good API would be for those libraries and I worked hard to materialize them. I thought “yes! this is pure and clean and good!” – but once I started the compo I realized that I wasn’t using the libs in the way I had written them. I had over-theorized! What I really needed were dirty tricks and quick get-er-dones! This is a hard lesson and one that (admittedly) I’ve learned before.

In the next couple months I’ll be dedicated to developing games rather than developing libraries for games. By the next ludum dare I’ll hopefully have accumulated some tried and true techniques and dirty tricks.

To see the code I accumulated you can visit my github: https://github.com/schell/ld31.

Screenshot 2014-12-08 11.06.47

Comments

Soron
08. Dec 2014 路 17:23 UTC
Really good/useful postmortem. I ended up doing a game using the tech stack I normally prototype in (JS + HTML5), and it’s also a tech stack that I’ve used for a series of commissioned games. I was wondering if I’d miss having access to some of the code I had built previously, and if I should have put some of it into a library in advance.
08. Dec 2014 路 17:51 UTC
Really cool to see some Haskell represented in Ludum Dare! I attempted to use Elm this time round and it was surprisingly great to use (I mean I didn’t feel like I was missing any quick and dirty time-savers). Also great to see FRP stuff as that’s a concept that gamedev needs more of I think.