All Projects → lispysnake → Serpent

lispysnake / Serpent

Licence: zlib
Cross-platform gaming kit in the D programming language

Programming Languages

d
599 projects
dlang
54 projects

Projects that are alternatives of or similar to Serpent

framework
The exomia/framework is used for building 2D and 3D games and more inspired by the XNA/Mono framework.
Stars: ✭ 21 (-85%)
Mutual labels:  vulkan, game-framework, 2d
Fiber2d
Cross-platform 2D Game Engine in pure Swift
Stars: ✭ 415 (+196.43%)
Mutual labels:  opengl, vulkan, sdl
Lwjgl3
LWJGL is a Java library that enables cross-platform access to popular native APIs useful in the development of graphics (OpenGL, Vulkan), audio (OpenAL), parallel computing (OpenCL, CUDA) and XR (OpenVR, LibOVR) applications.
Stars: ✭ 3,540 (+2428.57%)
Mutual labels:  openal, opengl, vulkan
Silk.net
The high-speed OpenAL, OpenGL, Vulkan, and GLFW bindings library your mother warned you about.
Stars: ✭ 534 (+281.43%)
Mutual labels:  openal, opengl, vulkan
Magnum
Lightweight and modular C++11 graphics middleware for games and data visualization
Stars: ✭ 3,728 (+2562.86%)
Mutual labels:  opengl, vulkan, sdl
Bgfx
Cross-platform, graphics API agnostic, "Bring Your Own Engine/Framework" style rendering library.
Stars: ✭ 10,252 (+7222.86%)
Mutual labels:  opengl, vulkan, sdl
Xray 16
Improved version of the X-Ray Engine, the game engine used in the world-famous S.T.A.L.K.E.R. game series by GSC Game World. Join OpenXRay! ;)
Stars: ✭ 1,806 (+1190%)
Mutual labels:  opengl, sdl
Klayge
KlayGE is a cross-platform open source game engine with plugin-based architecture.
Stars: ✭ 1,646 (+1075.71%)
Mutual labels:  openal, opengl
Filament
Filament is a real-time physically based rendering engine for Android, iOS, Windows, Linux, macOS, and WebGL2
Stars: ✭ 13,215 (+9339.29%)
Mutual labels:  opengl, vulkan
O2
2D Game Engine with visual WYSIWYG editor
Stars: ✭ 121 (-13.57%)
Mutual labels:  opengl, 2d
Crossshader
⚔️ A tool for cross compiling shaders. Convert between GLSL, HLSL, Metal Shader Language, or older versions of GLSL.
Stars: ✭ 113 (-19.29%)
Mutual labels:  opengl, vulkan
Betterspades
BetterSpades, an Ace of Spades client targeted at low end systems (GL/ES 1.1). Runs on your grandmother's rig!
Stars: ✭ 112 (-20%)
Mutual labels:  openal, opengl
Radixengine
A free and open game engine.
Stars: ✭ 126 (-10%)
Mutual labels:  opengl, sdl
Duckstation
Fast PlayStation 1 emulator for x86-64/AArch32/AArch64
Stars: ✭ 2,888 (+1962.86%)
Mutual labels:  opengl, vulkan
Grvk
Vulkan-based Mantle API implementation
Stars: ✭ 117 (-16.43%)
Mutual labels:  gaming, vulkan
Diligentengine
A modern cross-platform low-level graphics library and rendering framework
Stars: ✭ 2,142 (+1430%)
Mutual labels:  opengl, vulkan
Silenceengine
A cross platform 2D / 3D Java Game Engine (Desktop / Html5 / Android)
Stars: ✭ 116 (-17.14%)
Mutual labels:  openal, opengl
Veldrid
A low-level, portable graphics library for .NET.
Stars: ✭ 1,784 (+1174.29%)
Mutual labels:  opengl, vulkan
Daemon
The Dæmon game engine. With some bits of ioq3 and XreaL.
Stars: ✭ 136 (-2.86%)
Mutual labels:  openal, opengl
Minijvm
Develop iOS Android app in java, Cross platform java virtual machine , the minimal jvm .
Stars: ✭ 127 (-9.29%)
Mutual labels:  opengl, 2d

Serpent Game Framework

License

The Serpent Game Framework is a brand new game framework from Lispy Snake, Ltd leveraging the latest technologies such as D, OpenGL and Vulkan, to make indie game development easier than ever.

demo

Support It

This framework is being developed by Lispy Snake for our first games. While we would love to develop it full time, basic economics says we must reinvest any contract-work revenue to support development in any remaining time.

To accelerate development (and time-to-market) for our framework and first game, consider buying a Lifetime License from us ($20!) to have lifetime access to our games. If you just want to send a tip to help with Serpent development (and our other efforts) then please click one of the links below!

paypal Donate with Bitcoin

Modifications

Please note any modifications must be hygienic - compiling with neither warning nor error. Additionally you must have run scripts/update_format.sh to ensure consistent code-styling before sending in changes.

Design Considerations

Provide the best possible functionality required for simpler 2D games at minimal technical debt, both for us, the framework developers, and you, the library consumer.

Our previous engine implementation was an all-inclusive engine written in C with a WIP rendering pipeline. Long story short, way too much debt for us and for new users.

D Language

Whilst some may argue the merits of D, we've found it perfectly suited to our game development requirements. Consider the built-in concurrency support when dealing with batches of SOA entities.

Additionally, we wanted to avoid a few pitfalls (despite being C lovers)

  • String issues (\0, mutability, UTF..)
  • Forced to reinvent all the wheels (to avoid linking to beastly opinionated refcount libraries)
  • Time to market. It hurts.

Cross-platform support

We need to support, at minimum:

  • Windows (Vulkan/OpenGL)
  • Linux (Vulkan/OpenGL) & X11/Wayland
  • Android.

Utilities

The framework simply wraps a bunch of libraries together, and provides utilities to manage the game loop and do stuff. Thus, we'll provide utilities for lifecycle management and actually loading/drawing stuff.

2D Focus

We want to disguise the pipeline under a 2D front. This framework is currently designed for 2D games, that benefit from an accelerated 3D pipeline. To that end, we'll make it possible to make awesome 2D games with UIs, sound, tiling, etc. But you can still get slick bloom shaders..

Reuse Where Possible

Where it is feasible we will reuse other projects to save us from significant technical debt, such as rendering pipelines, etc.

Below is the current list of projects we know we WILL reuse. This may be subject to modification.

bgfx

We will reuse bgfx to power the underlying rendering pipeline in order to abstract support for various platforms and rendering APIs.

Currently we're focused on Vulkan and OpenGL, with Metal and DirectX on the cards in the future.

SDL

We'll use SDL for our basic windowing, OS integration and input handling. This allows consumers to leverage the advanced controller support found within SDL (some would say a USP).

Chipmunk2D

After investigating several options, we're probably going to use Chipmunk2D for 2D physics, and find another 3D option should the need arise. We looked into Newton Dynamics and it is too problematic for integration.

OpenAL

Need decent sound, right?

Invent Where Unavoidable

Some areas we're going to be forced to do a small bit of reinvention. This will involve basic UI support in the framework, primarily because the main available libraries are explicitly locked to OpenGL. We very much need to support OpenGL and Vulkan.

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].