All Projects → haskell-game → Sdl2

haskell-game / Sdl2

Licence: other
Haskell bindings to the SDL2 library

Programming Languages

haskell
3896 projects

Labels

Projects that are alternatives of or similar to Sdl2

sdlpp
C++ wrapper for SDL2
Stars: ✭ 37 (-87.11%)
Mutual labels:  sdl
zero-graphics
Application framework based on OpenGL ES 2.0. Runs on desktop machines, Android phones and the web
Stars: ✭ 72 (-74.91%)
Mutual labels:  sdl
EnttPong
Built for EnTT, at the request of the developer as a demo.
Stars: ✭ 51 (-82.23%)
Mutual labels:  sdl
grafx2
Mirror of GrafX2. Official repo is on gitlab.
Stars: ✭ 108 (-62.37%)
Mutual labels:  sdl
BonEngineSharp
A simple and fun SDL-based game engine in C#.
Stars: ✭ 16 (-94.43%)
Mutual labels:  sdl
Titan-IDE
Titan IDE is a 2D game engine for the Sega Dreamcast, Nintendo Wii and PC.
Stars: ✭ 32 (-88.85%)
Mutual labels:  sdl
sdlada
Ada 2012 bindings to SDL 2
Stars: ✭ 85 (-70.38%)
Mutual labels:  sdl
Vado
A demo web browser engine written in Haskell
Stars: ✭ 265 (-7.67%)
Mutual labels:  sdl
conan-sdl2
[OBSOLETE] The recipe is now in https://github.com/bincrafters/community
Stars: ✭ 13 (-95.47%)
Mutual labels:  sdl
GLMaze
GLMaze is a Windows 95 Maze screensaver clone written in C using OpenGL.
Stars: ✭ 23 (-91.99%)
Mutual labels:  sdl
player-ffmpeg
Up to date tutorial of ffmpeg
Stars: ✭ 17 (-94.08%)
Mutual labels:  sdl
faur
⚒️✨ My personal C games framework. 2D graphics, sound, inputs, states, ECS, and misc utils for data, files, math, memory, strings, time, and more. Builds for Linux, Windows, Web, and embedded devices.
Stars: ✭ 55 (-80.84%)
Mutual labels:  sdl
CVoxelEngine
A C++ Voxel Engine, to succeed my Java Voxel Engine. Uses SDL, and may use OpenCL in the future.
Stars: ✭ 17 (-94.08%)
Mutual labels:  sdl
ArchGE
A 2D and 3D C++ Game Engine using SDL2 and OpenGL
Stars: ✭ 15 (-94.77%)
Mutual labels:  sdl
oshu
Fast osu! port for Linux (and more)
Stars: ✭ 106 (-63.07%)
Mutual labels:  sdl
graphql-directive-sql
Unify your SQL schema and your GraphQL Schema. Use GraphQL SDL as the lingua franca to define your data requirements.
Stars: ✭ 28 (-90.24%)
Mutual labels:  sdl
glottie
OpenGL/WebGL based Lottie animation player
Stars: ✭ 60 (-79.09%)
Mutual labels:  sdl
Amiberry
Optimized Amiga emulator for the Raspberry Pi and other ARM boards
Stars: ✭ 270 (-5.92%)
Mutual labels:  sdl
savagewheels
🏁 2D car crashing game armageddon
Stars: ✭ 21 (-92.68%)
Mutual labels:  sdl
SDL.zig
A shallow wrapper around SDL that provides object API and error handling
Stars: ✭ 102 (-64.46%)
Mutual labels:  sdl

This package provides Haskell bindings for the SDL2 library.

What is SDL2?

SDL (Simple DirectMedia Layer) is a library for cross-platform development of interactive applications. SDL provides routines for managing windows, rendering graphics, processing sound, collecting input data, and much more.

The Haskell sdl2 library provides both a high- and low-level API to interface with SDL.

You may also want to check out:

  • sdl2-image - For handling different image formats such as jpg and png.
  • sdl2-mixer - For playing audio.
  • sdl2-gfx - For drawing graphics primitives such as circles and polygons.
  • sdl2-ttf - For handling true type fonts.

Building

Build Status

If you don't have SDL 2.0.6 or higher on your system via your package manager, you can install it from the official SDL site.

On Ubuntu you can install from source with a simple

./configure && make -j4 && sudo make install

On OSX you can install SDL with homebrew. pkg-config is also recommended.

brew install sdl2 pkg-config

On Windows you can install SDL with pacman under MSYS2 (or use stack's embedded MSYS2).

pacman -S mingw-w64-x86_64-pkg-config mingw-w64-x86_64-SDL2

Get Started

Take a look at the getting started guide.

Contributing

We need your help! The SDL API is fairly large, and the more hands we have, the quicker we can reach full coverage and release this to Hackage. There are a few ways you can help:

  1. Browse http://wiki.libsdl.org/CategoryAPI and find functions that aren't exposed in the high-level bindings.

  2. The above can be somewhat laborious - an easier way to find out what's missing is to write code.

    Both of these would be useful if they were translated to Haskell, and we'd be happy to store this code in this repository.

  3. Documentation is welcome, but may not be the best use of your time as we are currently in a period of rapid development as we find the most productive API.

Development

Using cabal repl

You can use cabal repl as a development tool, but you'll need to configure the project in a slightly non-standard way first:

cabal configure --ghc-option=-fPIC

You only need to do this once (unless you reconfigure). From this point, cabal repl should Just Work.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].