Skip to content
No description, website, or topics provided.
Lua C++ Objective-C Go GLSL Shell Other
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
_docs remove floor friction. Some luacheck fixes. Aug 12, 2019
_headers raycasting understand transparent cells. Can change block/transparent… Aug 31, 2019
assets use hash instead of image string Sep 6, 2019
debug refactor wall render.(create render object class) Aug 31, 2019
go add door go. Start work on action system(door open action) Sep 3, 2019
go_scripts rename world to game controller Jul 6, 2019
gooey show tooltip when look at door Sep 5, 2019
gui fix luachecks warnings Jun 23, 2019
libs door can be opened Sep 7, 2019
native/raycasting/native_raycasting fixed linux build for ci Sep 8, 2019
render blood particle when hit enemies Jul 24, 2019
richtext show tooltip when look at door Sep 5, 2019
tests test failed if any error happened in game Aug 18, 2019
.gitignore Initial commit May 26, 2019
.travis.yml travis fixes Sep 7, 2019 Create Jul 14, 2019
adb_install.bat Initial commit May 26, 2019
app_manifest_debug.appmanifest cleanup Jul 3, 2019
build_assets.bat fixed tiled parser. Move tileset to separate json Jul 5, 2019
game.input_binding door can be opened Sep 7, 2019
game.project rename Aug 6, 2019
init.collection select level scene Aug 25, 2019
optimizeTextures-1.0-SNAPSHOT-all.jar Initial commit May 26, 2019
optimize_textures.bat Initial commit May 26, 2019
packer.jar Initial commit May 26, 2019

2.5D Old School shooter made in default

More info:



1)Culling. Draw only visible walls,objects.

2)Cells color. Every cell can have a color. All objects in that cell and near wall will mix their color.

3)Fog. In shader. Can change distance and fog color.

4)Physics.Base colliders for walls and shoots.

5)Camera.Use rendercam.

6)Pathfinding. Micropather,a c++ pathfinding lib.I have a lightweigth map copy in native, for pathfinding. Worked good and fast.

7)Mouse lock.

8)Pause modal. When you unlocked you mouse, game will be paused.

9)Pickups. Pistol ammo and hp.

10)Simple enemy. Simple state machine.It follow player and hit in melee.


12)Level editor. Defold editor is not good for that types of levels. So I used tiled. Level from tiled will saved in lua. Then I convert that lua file to my own format. I need my own format, because I need make some checks and precalculations.

13)Luacheck. Static code analysis. It help to keep code clean.

14)Tests.Use deftest for that.Now I have few basic tests.For exampe test that check that all levels can be loaded.

15)Transparent cells. For example vines.

16)ECS. Pattern for game logic.The main idea to use entities(bag for components), components(variables,for example position component) and systems(logic).System iterate entites that have some components, and do some work.So instead of having complex logic in one or few scripts. I have dozens of systems.

17)Addaptive fov. Fov changed for differents screen sizes.

18)Weapon bobbing.

You can’t perform that action at this time.