FFPlay4Laz2 is the SDL2 version of the older SDL 1.2 based (Win32 only) FFPlay4Laz FFmpeg Video and Media Player. FFPlay4Laz2 is extended to have more features than FFPlay4Laz and provide better performance. It is designed to be cross-platform by replacing Win-API calls by SDL2 calls. The project is open source and can be found on the official Lazarus forums.
This project has no official website and the author provides updates via the official Lazarus forums (see link below).
Project name: FFPlay4Laz2
Author: metis
Latest version: v2.5.2
First release date: Thread startet in Dec. 2014
Compiler and SDL version: Free Pascal / Lazarus / SDL2
Why did you decide to choose Pascal as a programming language and SDL as a library for your projects?
Kornel Kisielewicz: Pascal was my first language, and in those days C++ was quite messy. I liked the clean syntax of Pascal and it’s default strong type system. SDL was a no brainer, we wanted a platform independent layer for OpenGL context creation and Input handling, and SDL was the only reasonable choice in that regard at the time.
What do you think is the most interesting Pascal/SDL/SDL2 project out there (besides your own, of course :-D)?
Kornel Kisielewicz: I have been out of touch with the Pascal scene for a long time now.
Are there any new projects planned?
Kornel Kisielewicz: We’re currently working on Jupiter Hell, a spiritual successor to DoomRL, but it’s in full 3d, and written in C++.
Could you please give a short description of Monsterland for those who have never heard of it?
Aleksey: Monsterland is a 2D realtime shooter portrayed entirely through ASCII characters. This includes blood, lighting, particles, etc. Its only gameplay mode is a 3-hour story campaign, which has voiceovers, triggers and scripted sequences. The gameplay of Monsterland was heavily influenced by original Doom games (1 and 2).
Why did you decide to choose Pascal as a programming language and SDL as a library for your projects?
Aleksey: Pascal is an underrated, well-rounded programming language. It has good diagnostics and strict syntax, which removes ambiguity from error messages. It also helps that I was first introduced to it in 1992.
SDL was chosen because I’ve also been writing an engine tied to DirectX, and given where Windows is heading, it was a mistake I didn’t want to repeat. SDL 1.2 didn’t have accelerated 2D though, so I had to do it via OpenGL manually.
What do you think is the most interesting Pascal/SDL/SDL2 project out there (besides your own, of course :-D)?
Aleksey: If Dwarf Fortress still used Pascal, I’d name that. Otherwise, DoomRL I guess.
Are there any further steps planned for the Monsterland series? What will they be?
Aleksey: Aw, you flatter, but Monsterland will not be continued.
Are there any new projects planned?
Aleksey: I’m starting to work on a new type of IF (interactive fiction) game. I clearly have an obsession with text visuals.
There’s also the ambitious isometric RPG I’ve been writing in C for years, the “magnum opus”, but it’s too ambitious at the moment, even though a lot of work has been done. I wish I wrote it in Pascal instead – it would’ve been easier to debug.
GearHead 2, successor of GearHead: Arena, is a turn-based, rouge-like role-playing game where you can explore futuristic worlds with benign graphics.
Showcase and Basic Data
(no showcase screenshots provided)
Project name: GearHead 2
Author: Joseph Hewitt, plus the work of several contributors
Latest version: 0.628
Release date: The first public release was August 23 2005; the most recent was June 1 2010. After I’ve updated GearHead-1 to my satisfaction I plan to do some revisions to this one as well.
Pascal compiler: Free Pascal
SDL Version: 1.2
Further libraries: Only those that come with the FPC compiler
GearHead: Arena (also known as GearHead 1) is a turn-based, rouge-like role-playing game where you can explore futuristic worlds with benign graphics.
Showcase and Basic Data
Developer granted permission to use these screenshots.
Project name: GearHead: Arena, also known as GearHead 1
Author: Joseph Hewitt, plus the work of several contributors
Latest version: 1.201
Release date: The first public release was May 10 2002; the most recent was March 3 2016. After version 1.100 I stopped development for nine years before returning to update the program earlier this year.
Pascal compiler: Free Pascal
SDL Version: 1.2
Further libraries: Only those that come with the FPC compiler
Developer granted permission to use these screenshots.
Project name: Colorful
Author: suve
Latest version: 1.2
First release date: 2012-12-16
Compiler: FPC 2.6.2
SDL Version: 1.2
Further libraries: Originally BASS for audio handling, later replaced with SDL_mixer as to move away from proprietary library; SDL_image; Sour could probably count, too; OpenGL
Could you please give a short description of Colorful for those who have never heard of it?
suve: Colorful is a simple game where the player moves freely around a 2D world, fighting multiple enemies and trying to retrieve colourful artefacts. Originally created in 48h for Ludum Dare, the game is heavily inspired by Hero Core, featuring simplistic graphics and sounds, and a no-game-over approach balancing the overall difficulty level.
Why did you decide to choose Pascal as a programming language and SDL/SDL2 as a library for your projects?
suve: I chose Pascal mostly as it’s the language I’m most proficient and comfortable with. As for SDL, after working with a few different libraries in the past, I’ve found SDL easy to use, but nonetheless really versatile and fitting my needs. The library itself doesn’t really enforce anything on you, so you don’t have to change your habits (much), and the seemingly simplistic API is greatly extended by the supplementary SDL_XYZ libraries.
What do you think is the most interesting Pascal/SDL/SDL2 project out there (besides of your own, of course :-D)?
suve: Supraleiter seems the most awesome of them all, I think. Shame that quite probably I won’t be able to play sit, seeing as I only have an integrated GPU.
Are there any further steps for your projects or any new projects planned? What will they be?
suve: I have two projects underway right now, but one is too early in development and I don’t want to disclose it for fear of not delivering… and the other, for a change, is written in C instead of Pascal. 🙂
Developer granted permission to use these screenshots.
Project name: Alexland
Author: suve & ZbiXs
Latest version: 1.3
First release date: 2010-01-31
Compiler: Free Pascal 2.4.0 (for the 1.3 release)
SDL Version: 1.2
Further libraries: BASS for audio handling, SDL_image, SDL_ttf, SDL_net
License: Back then we didn’t really think about licensing, and seeing how the game contains assets ripped from plenty of places without even keeping track of source… I say it’d be hard for us to claim copyright to anything apart from code and some original graphics (+edits) we created.
Open source: Nope. Maybe if there’s a remake one day.
Could you please give a short description of Alexland for those who have never heard of it?
suve: Born of RPG Maker nostalgia and the hatred for its default graphics set, Alexland is a 2D shooter where the player controls a lone hero in a fight against never-ending hordes of monsters. Featuring 12 weapons to kick ass with, 11 bonuses to enhance the gameplay, 10 monster types to kill, and 60 achievements to unlock, Alexland can provide long hours of mindless, merciless fun. Available in English, Polish, French, German and Russian.
Why did you decide to choose Pascal as a programming language and SDL/SDL2 as a library for your projects?
suve: I chose Pascal mostly as it’s the language I’m most proficient and comfortable with. As for SDL, after working with a few different libraries in the past, I’ve found SDL easy to use, but nonetheless really versatile and fitting my needs. The library itself doesn’t really enforce anything on you, so you don’t have to change your habits (much), and the seemingly simplistic API is greatly extended by the supplementary SDL_XYZ libraries.
What do you think is the most interesting Pascal/SDL/SDL2 project out there (besides of your own, of course :-D)?
suve: Supraleiter seems the most awesome of them all, I think. Shame that quite probably I won’t be able to play sit, seeing as I only have an integrated GPU.
Are there any further steps for your projects or any new projects planned? What will they be?
suve: I have two projects underway right now, but one is too early in development and I don’t want to disclose it for fear of not delivering… and the other, for a change, is written in C instead of Pascal. 🙂
A new page has been set up which gives an overview of projects done in SDL with Pascal (any dialect). The projects may be games, interpreters, libraries, anything. Of course SDL should play a key role and shouldn’t be just used to set up an OpenGL window (or similar). If possible I try to have an interview with the creator of the project.
The first project listed is the famous EGSL project and its successor Pulsar2D. Both have been created by Cybermonkey who kindly gave an interview and provided a lot of screenshots to me.
Feel free to contact me to let me know about other Pascal SDL projects.
Edit: As of 09/02/2016 I added suve’s Alexland and Colorful to the project page. Thanks for the interview and the screenshots.
Could you please give a short description of EGSL and Pulsard2D for those who have never heard of it?
Cybermonkey: EGSL (Easy Game Scripting with Lua) is a Lua interpreter which allows one to code 2D games in a simple way. I could say in a “classical way” because EGSL is inspired by old BASIC dialects. The main difference between EGSL and Pulsar2D is that Pulsar2D uses now the newer SDL2 libraries (which gives us the possibility to use multiple windows). It’s as easy as that: write 10 lines of Lua code and start the script and you’ll have already a small sprite moving example. Of course it is possible to use the framework with FreePascal. Apart from that I recently ported the Pulsar2D framework to FreeBASIC. So one can code Pulsar2D games/demos whatsoever in Lua, FreePascal or FreeBASIC.
Why did you decide to choose Pascal as a programming language and SDL/SDL2 as a library for these projects?
Cybermonkey: I started programming back in the 1980s with the Commodore 64 and BASIC. I learned Turbo Pascal in school and started programming with FreePascal a few years ago. It’s the language I have the most experience with. Not to mention that the FreePascal compiler is well maintained. I chose SDL/SDL2 because of its cross platform capabilities.
What do you think is the most interesting Pascal/SDL/SDL2 project out there (besides of your own, of course :-D)?
Cybermonkey: Actually I don’t know of any other … But of course the most impressive Pascal project is Lazarus for me.
Are there any further steps for EGSL and/or Pulsar2D or any new projects planned? What will they be?
Cybermonkey: EGSL will not be developed any further. Pulsar2D wil be improved from time to time. My plans are to implement Box2D physics and easy handling of tiled based maps made with the Tiled editor. But this has no priority so it can take a long time…
At the moment I am developing a little BASIC interpreter called “AllegroBASIC”. It’s a C project, though. (The editor, however, is made with Lazarus…) Since I am using Allegro4 libs which are obsolete now, I am porting at the same time the project to SDL2 which will be named “RETROBASIC”. If there are people interested in AllegroBASIC, have a look at allegrobasic.pulsar2d.org.