All Projects → CapsAdmin → Goluwa

CapsAdmin / Goluwa

Licence: gpl-3.0
a game framework written in luajit

Programming Languages

lua
6591 projects

Projects that are alternatives of or similar to Goluwa

Grid Sdk
The Grid SDK - Game engine for Lua
Stars: ✭ 612 (+253.76%)
Mutual labels:  game-development, game-engine, love2d, luajit
Quadplay
The quadplay✜ fantasy console
Stars: ✭ 563 (+225.43%)
Mutual labels:  game-development, game-engine, font
Entt
Gaming meets modern C++ - a fast and reliable entity component system (ECS) and much more
Stars: ✭ 6,017 (+3378.03%)
Mutual labels:  game-development, game-engine, game-dev
Excalibur
🎮 An easy to use 2D HTML5 game engine written in TypeScript
Stars: ✭ 892 (+415.61%)
Mutual labels:  game-development, game-engine, game-framework
Glas
WebGL in WebAssembly with AssemblyScript
Stars: ✭ 278 (+60.69%)
Mutual labels:  game-development, game-engine, game-dev
Rizz
Small C game development framework
Stars: ✭ 428 (+147.4%)
Mutual labels:  game-development, game-engine, game-framework
Gameproject3
游戏服务器框架,网络层分别用SocketAPI、Boost Asio、Libuv三种方式实现, 框架内使用共享内存,无锁队列,对象池,内存池来提高服务器性能。还包含一个不断完善的Unity 3D客户端,客户端含大量完整资源,坐骑,宠物,伙伴,装备, 这些均己实现上阵和穿戴, 并可进入副本战斗,多人玩法也己实现, 持续开发中。
Stars: ✭ 655 (+278.61%)
Mutual labels:  game-development, game-engine, game-framework
Is Engine
SFML C++ game engine that allows to create games on Web (HTML 5 - CSS 3), Android and PC
Stars: ✭ 94 (-45.66%)
Mutual labels:  game-development, game-engine, game-dev
Love
LÖVE is an awesome 2D game framework for Lua.
Stars: ✭ 1,305 (+654.34%)
Mutual labels:  game-development, love2d, luajit
Wordagam
A fun & interactive word game 🍄
Stars: ✭ 55 (-68.21%)
Mutual labels:  game-development, game-dev, gui
Nico
Nim Game Framework based on Pico-8
Stars: ✭ 254 (+46.82%)
Mutual labels:  game-development, game-engine, game-framework
Gamedev Resources
🎮 🎲 A wonderful list of Game Development resources.
Stars: ✭ 2,054 (+1087.28%)
Mutual labels:  game-development, game-engine, game-dev
Html5 Canvas Game Boilerplate
Provides a set of default code that makes getting up and running with an HTML5 canvas game very easy.
Stars: ✭ 182 (+5.2%)
Mutual labels:  game-development, game-engine, game-framework
Luxe Alpha
luxe alpha - deprecated, unrelated to the new engine! see the readme or website for details - https://luxeengine.com/
Stars: ✭ 559 (+223.12%)
Mutual labels:  game-development, game-engine, game-dev
Uecs
Ubpa Entity-Component-System (U ECS) in Unity3D-style
Stars: ✭ 174 (+0.58%)
Mutual labels:  game-development, game-engine, game-dev
Donerserializer
A C++14 JSON Serialization Library
Stars: ✭ 31 (-82.08%)
Mutual labels:  game-development, game-engine, game-dev
Lumberyard
Amazon Lumberyard is a free AAA game engine deeply integrated with AWS and Twitch – with full source.
Stars: ✭ 1,785 (+931.79%)
Mutual labels:  game-development, game-engine, game-dev
O2
2D Game Engine with visual WYSIWYG editor
Stars: ✭ 121 (-30.06%)
Mutual labels:  game-development, game-engine, game-dev
Rimlight
Customizable rimlight shader for Unity that includes pulsation and noise scrolling. Give your scenes that extra oomph!
Stars: ✭ 170 (-1.73%)
Mutual labels:  game-development, game-dev
Chronoshift
An open source re-implementation of Red Alert written in C++.
Stars: ✭ 144 (-16.76%)
Mutual labels:  game-development, game-engine

Goluwa · GitHub license pipeline status PRs Welcome

Goluwa is a game engine, framework, a collection of utilities and experiments written in LuaJIT leveraging FFI.

ScreenShot

Features

Prototyping
  • all resources can be loaded from the internet with urls
  • fonts can be loaded directly from google webfont, dafont and other places
  • many model, image and sound formats are supported
  • most code can be reloaded without the need to restart
  • integration with zerobrane

Structure

Goluwa is split into 4 directories. core > framework > engine > game. Going backwards, each directory depends on the previous directory, so if you delete the engine directory the game directory wont load.

-1. goluwa|.cmd

The shell and powershell script that will only download and launch luajit|.exe with core/lua/boot.lua

0. core/lua/boot.lua

Responsible for downloading other binaries, the zerobrane ide, updating goluwa with or without git and launching goluwa. It's mostly lua but some of its helper functions use shell and powershell.

1. Core

Contains the barebone framework that has no explicit dependencies on any external shared libraries.

2. Framework

The basic framework utilizing sdl, opengl, openal, etc but does not implement anything. It has a renderer which is neither 2d or 3d, game math library, high level socket library, 2d rendering library, etc.

3. Engine

The engine contains a 3d renderer, source engine asset compatibility, steam integration, zerobrane integration, networking, entities, gui, markup language, etc.

4. Game

The game folder contains very high level scripts such as Löve2D implemented in goluwa, GarrysMod Lua implemented in goluwa, chatsounds, chatbox, scoreboard, player movement, etc.

Caveats

While I want to support OSX and Windows they become low priority due to lack of windows and osx machines. I try to test goluwa in a VM and ask friends but that's about as much as I can do.

Writing everything in LuaJIT also comes with some challenges. I try to write JIT compilable code, especially in areas that are intensive but this is not always easy without resorting to ugly code which I try to avoid.

Credits

  • Garry Newman - I learned programming in garrysmod and many of the ideas and libraries in goluwa were developed in garrysmod initially.
  • Crytek - Playing around with the Crysis Wars SDK was how I started to learn C++. I made oohh which was a garrysmod-like mod attempt. The C++ Lua binder I made there included a standard game oriented lua library which eventualy evolved into goluwa.
  • Ronny - Helped me making the gui when it was made for oohh.
  • Malkia - the source inspiration for doing this entirely in luajit was ufo
  • Morten Erlandsen - Provided help and code with BSP (especially the displacement bit) and supporting linux early on.
  • Leandro Fonseca - Started working on the löve wrapper early on and has helped with explaining how löve works.
  • Somepotato - Started proper font support using a font atlas.
  • ZeqMacaw - The source engine MDL decoding code was based on the CrowbarTool
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].