Re: ANN: Boulder Dash in OCaml

Andreas Rossberg <[email protected]> Wed, 27 Nov 2024 17:58:21 +0100
Newsgroups gmane.comp.lang.caml.inria
Message-ID <[email protected]>
Ah, I wasn’t aware that binding existed, thanks for the hint!

> On 27. Nov 2024, at 11:44, Vu Ngoc San <[email protected]> wrote:
> 
> that's really impressive, thanks for this!
> for the sound in SDL, why not use tsdl_mixer ?
> 
> San
> 
> Le 26/11/2024 à 18:38, Andreas Rossberg a écrit :
>> Couldn’t let it rest, so I’m (already) announcing version 2 of it — now a much improved, practically feature-complete reimplementation of both Boulder Dash 1 & 2.
>> 
>> Version 2 was an excuse for me to mess around with the OCaml bindings to popular graphics engines, and as a result, it now comes with 3 backends to choose from:
>> 
>> 1. the homely bare OCaml Graphics library (https://github.com/ocaml/graphics),
>> 2. the TSDL binding to the SDL2 API (https://github.com/dbuenzli/tsdl),
>> 3. the binding to the Raylib engine (https://github.com/tjammer/raylib-ocaml).
>> 
>> The list is in order of increasingly better user experience, for the price of a potentially harder build experience. In theory, all versions should run on Windows, Mac, and Linux, though I was too lazy to test all combinations, and I (or my opam) had trouble installing some of the dependencies on some of the systems.
>> 
>> Features:
>> 
>> * Faithful original physics, graphics, animations, sound, and music
>> * Authentic scrolling mechanics combined with dynamic resizing
>> * All 40 levels and 5 difficulties of Boulder Dash 1 & 2
>> * Pause-and-go mode for relaxed playing
>> 
>> Relative to the previous release, version 2 adds the following niceties:
>> 
>> * Support for SDL and Raylib engines, which allow all of the following
>> * Original sound effects and music
>> * Original level color schemes
>> * Full screen mode
>> * Faster graphics
>> * Dynamic graphics scaling adjustment
>> * Gamepad/joystick support as well as more precise keyboard controls
>> * Boulder Dash 2 levels and decoder
>> 
>> Almost looks like a real game now. One from the 80s anyways. :)
>> 
>> Enjoy,
>> /Andreas
>> 
>> 
>>> On 12. Nov 2024, at 16:55, Andreas Rossberg <[email protected]> wrote:
>>> 
>>> Boulder Dash(*) was my favourite computer game in the 8-bit era, first released on the Atari 400/800 in 1984. Though I never owned an 8-bit machine myself, I had friends that I annoyed enough to let me play it on theirs.
>>> 
>>> As a homage to its 40th anniversary, I put together a fairly faithful clone of the original game, implemented in just a few 100 lines of bare OCaml, with nothing but the homely Graphics library. It should run on Windows, Mac, and Linux, though I was too lazy to test the latter.
>>> 
>>> Features:
>>> 
>>>    • Faithful original physics, graphics, and animations
>>>    • Authentic scrolling mechanics combined with dynamic window resizing
>>>    • All 20 levels, including intermissions, and 5 difficulties
>>>    • Pause-and-go mode for relaxed playing
>>> 
>>> It is open-source here:
>>> 
>>>    https://github.com/rossberg/boulder-dash
>>> 
>>> Enjoy!
>>> 
>>> /Andreas
>>> 
>>> (*) https://en.wikipedia.org/wiki/Boulder_Dash_(video_game)
>>>    "Boulder Dash" is a trademark of BBG Entertainment
>>> 
>