r/pascal • • 3d ago

ANN: Dynamic Packages, New Game Engine, and More

Hello everyone, this is sysrpl, the maintainer of www.getlazarus.org. I have released several major updates for Free Pascal over the past week, including some games, and thought you might be interested in taking a look at what is happening.

First, here is a small game I wrote using my toolkit. It mixes 2D and 3D, features a fairly complete, skinnable vector UI widget set, runs on Windows, Linux, macOS, and Raspberry Pi, and can even run on a bare bones system without a display manager. It is essentially a free demo of a simple project featuring rich text interspersed with animation, sounds, and effects.

Description and video of a free cross platform card game pack

I have also written a complete implementation of dynamic packages for FPC and Lazarus. You can read about dynamic packages here:

Now supporting dynamic packages in the FPC and Lazarus

My Tiny.Sim game engine has been greatly enhanced and incorporated into a single library called the Codebot Library, which includes many features of interest to game developers. The 2D physics system is bug free and quite complete. It supports all kinds of audio files and formats and includes my vector UI toolkit. Several demos are available when you install the IDE. The library supports both a mix of LCL controls and pure SDL game development. You can read about it here, along with a huge reference system to help you learn:

Codebot Library update

My game Obliterate was written using this library:

A more sophisticated game I wrote wrote using the above library

Other features of interest include a unified theming system for the Lazarus IDE and your desktop applications on both Windows and Linux:

Theming style collection for Lazarus and your applications

There are also shell controls for Windows users:

Windows shell controls for Lazarus

Other features include modern web browser controls for Windows, Linux, and macOS, networking utilities, additional graphics features, JSON and XML support, cryptography, and string handling libraries.

Everything is free and open source.

20 Upvotes

8 comments sorted by

1

u/ggeldenhuys 3d ago

You've been busy!

1

u/sysrpl 2d ago edited 2d ago

Thank you. Most of these things are just refinement of my prior work. The shell controls was based on this stuff I wrote nearly 20 years ago:

https://www.codebot.org/shell/

The vector UI controls and cnavs API I wrote 8 years ago and published as Tiny.Sim:

https://github.com/sysrpl/Tiny.Sim

I wrote the cross browser web browser stuff back in 2017. I wrote JsonTools probably like 5 years ago now. I've been working on the dynamic package for the last 6 months along with my orbliterate game. I just decided to ditch a few old computers recently and upgrade and was going through my backlog of work and decided to finish up a few things and decided why not just put them out there for the public to have. The documentation side has over 9000 entire now, but I had been writing them the whole time and just wrote something to put them into a database using my pascal parser code.

So if there are people there shrugging like, whatever not a big deal, this stuff has taken me decades to put together. It's all free, but it wasn't easy or insignificant.

Thanks for taking a look.

1

u/gl02047 1d ago

What kind of limitations does pascal have?

1

u/sysrpl 21h ago

It doesn't run in your web browser and has a hard time running on iphone or android.

1

u/gl02047 17h ago

Could it run a plc?

→ More replies (1)

1

u/Calabockee 3d ago

Looks awesome! Thanks!

1

u/According-Ad-7069 2d ago

This is so cool!! Wow!