game-engine-2d
helium
game-engine-2d | helium | |
---|---|---|
9 | 2 | |
720 | 90 | |
0.0% | - | |
0.0 | 1.8 | |
over 1 year ago | over 2 years ago | |
Lua | Lua | |
MIT License | BSD 2-clause "Simplified" License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
game-engine-2d
-
Fighting games use delay-based and rollback netcode
I don't think it's unpopular. We need more and better game software, what exists today is unsatisfactory for a plethora of reasons. I'm personally interested in this because I ship Planimeter Game Engine 2D, which comes with client-side prediction standard, and it's the largest pure-Lua game engine on GitHub.[1]
[1]: https://github.com/Planimeter/game-engine-2d
-
Starting Box2D 3.0
> Another benefit of speculative collision is that I can elminate[sic] the polygon skin/radius on collision shapes. That was necessary to keep shapes separated for the time of impact algorithm. This should no longer be necessary in version 3.0. I never liked this artificial separation of shapes.
Hah! In Planimeter Game Engine 2D, we shrink physics objects by approximating the polygon skin so that we can achieve "pixel approximate" physics.[1]
[1]: https://github.com/Planimeter/game-engine-2d/blob/master/eng...
-
When \ is not \
From what I've found maintaining https://github.com/Planimeter/game-engine-2d is that you should be explicitly checking for nil, separately from checking for false-evaluating values.
We found that this had the added benefit of semantically checking for something that did not exist, versus some contextual "false" value.
I suspect this is a good practice in other languages as well.
-
Ask HN: Any solo game developers here?
Maybe consider https://github.com/Planimeter/game-engine-2d? We have multiplayer with client-side prediction out of the box. Example code is included to demonstrate the ease of networking entity fields, and there is an included payload abstraction for creating networked events.
You can set the tick rate for your game based on your needs as well. And prediction is robust, supporting exceptional packet loss and smoothing over latency concerns for player movement.
-
Hathora: Multiplayer Made Easy
Examples in Lua/LOVE:
https://github.com/Planimeter/grid-sdk/blob/master/engine/sh...
https://github.com/Planimeter/grid-sdk/blob/master/engine/sh...
https://github.com/Planimeter/grid-sdk/blob/master/engine/sh...
https://github.com/Planimeter/grid-sdk/blob/master/engine/se...
-
The Right Way to Compare Floats in Python
I remember having to write something similar for Lua, because there was no math.approximately() function and I was dealing with networking floats and comparing values over the wire to predicted movement in 2D space.
https://github.com/Planimeter/grid-sdk/blob/master/engine/sh...
-
The specs behind the specs – a deep-dive on ASN.1
What’s so great about ASN.1 and it’s encoding rules is that anyone writing type-length-value serialization for networking purposes, for example[1], is basically independently reinventing ASN.1 because it’s so fundamentally optimal.
It truly will make you wonder why Protobufs and others exist.
[1]: https://github.com/Planimeter/grid-sdk/blob/master/engine/sh...
helium
-
Implementing Basic UI in Love2d
I wonder if something like helium that handles click detection but not rendering would still seem like overkill. Definitely beyond your bare metal goals, but might be simpler than trying to customize styling in a UI framework.
-
How to make ui?
You could use a library like slab (which lets you just add buttons but may not be so straight forward to deeply customize your look) or helium (which facilitates creating a UI system for buttons, but may not be straightforward to use). I use slab for my debug UI and like it, but haven't tried it for nice-looking game UI.
What are some alternatives?
teiserver - Middleware server for online gaming
awesome-love2d - A curated list of amazingly awesome LÖVE libraries, resources and shiny things.
OpenSSL - TLS/SSL and crypto library
Basalt - A UI Framework for CC:Tweaked
love - LÖVE is an awesome 2D game framework for Lua.
Slab - An immediate mode GUI for the Love2D framework.
resolution_solution - Scale library, that help you add resolution support to your games in love2d!
love-nuklear - Lightweight immediate mode GUI for LÖVE games
DoubleFloats.jl - math with more good bits
LunarML - The Standard ML compiler that produces Lua/JavaScript
lc64 - LÖVE C64 Emulator
g3d - Simple and easy 3D engine for LÖVE.