pixelperfectengine 0.9.4-beta

A 2D game engine for retro styled games

To use this package, run the following command in your project's root directory:

Manual usage
Put the following dependency into your project's dependences section:

Pixel Perfect Engine ver 0.9.4-beta

2D retro graphics engine written in D by László Szerémi ([email protected], https://twitter.com/ziltoid1991, https://www.patreon.com/ShapeshiftingLizard, https://ko-fi.com/D1D45NEN).

Required libaries: Derelict SDL2 https://github.com/DerelictOrg/DerelictSDL2 Derelict FI https://github.com/DerelictOrg/DerelictFI (for editor only) sdlang-d https://github.com/Abscissa/SDLang-D libpcm https://github.com/ZILtoid1991/libPCM cpublit https://github.com/ZILtoid1991/CPUblit intel-intrinsics https://github.com/AuburnSounds/intel-intrinsics

See Wiki for further info and version history!

Usage with dub:

Sample dependencies section:

"dependencies": {
                "derelict-sdl2": "~>2.1.0",
		"derelict-fi": "~>2.0.3",
		"pixelperfectengine": "*"

Usage with most IDEs:

1: Download and build the source. You will need both the engine and editor by default, as the engine uses its own custom bitmap format XMP due to its more advanced palette handling. Other advantages of the format is that it can store multiple bitmaps in a single file with no regard of their sizes.

2: Add /source/ to the include path. You might also need to add the sources of derelict-SDL2, derelict-util, sdlang-d, libinputvisitor, taggedalgebraic, cpublit

3: Add the compiled library file in the /lib/ folder to your project. You might also need to add the libraries of derelict-SDL2, derelict-util, sdlang-d, libinputvisitor, taggedalgebraic, cpublit

4: Do not try to sell a subpar game written with this or any other engine on any storefront, especially if that barely has any original assets. :)

Common usage:

  • Make sure you copy the /system/ folder from the assets folder, you might also want to make some changes to the configuration file here. Failing to do these will result in your program crashing due to missing files.
  • Put a compiled version of the SDL2 library into the forementioned /system/ folder and load the SDL2 library with the derelict loader. (in the future you will have to call a function from PixelPerfectEngine.system.init).

Known issues:

  • The engine doesn't clear the framebuffer to spare some CPU time, this results some trippy effects if a part of the screen is not being overwritten.
  • There's also some speed issues from it, as SDL2 writes the framebuffer back to the main memory. This will probably end up in the slow replacement of SDL2's graphical side with something faster.
  • WindowMakerForConcrete and PixelPerfectEditor are currently unfinished. The former will be soon working fully with extra features (such as undo/redo, snapping to grid and components), then the latter can be developed without an issue.
  • Error handling isn't fully realized, so a lot of errors might happen. You can help me by reporting errors, testing on various systems (I only have access for an old Athlon64 X2 at the moment with relatively high-cost of upgrade).
  • Upscaled sprites have a rather jerky, odd behavior when they're being partly obscured. This will be fixed, do not plan with it on the long run for a wacky effect.
  • Upscaled sprites wider than 2048 pixels will cause some serious memory leakage issues.

Future plans:

  • More use of language features, such as templates for bitmaps.
  • Making able for the basic layer types to be used on a single layer with mixing various types.
  • Adding support for scripting languages (QScript, Lua, Python).
  • Laszlo Szeremi
Sub packages:
pixelperfectengine:pixelperfecteditor, pixelperfectengine:windowmakerforconcrete
sdlang-d, cpublit, intel-intrinsics, derelict-sdl2, libpcm
0.11.0-alpha.5 2024-May-25
0.11.0-alpha.4 2024-Apr-05
0.11.0-alpha.3 2024-Mar-31
0.11.0-alpha.2 2024-Feb-12
0.11.0-alpha 2024-Jan-20
Show all 46 versions
Download Stats:
  • 0 downloads today

  • 0 downloads this week

  • 4 downloads this month

  • 238 downloads total

Short URL: