Items with a star(⭐) are on my TODO list. See the key at the bottom.
This is a non-exhaustive collection of proposed nengi features, game templates, tutorials, and peripheral software items. These items come from a much larger (400+ item) list that I maintain privately, as well as community feature requests. I will eventually move all of this to something more public and editable like trello.
👍 toggle historian to enable mutliple thousands of entities (quickfix)
👍🔺a 3D view culler
📓🔺Spatial Channel API - allows for different types of spaces to exist in one game (2d, 3d, custom) with more than one culling strategy.
👍 Entity enhancement: no more x,y required.
🦄 Entity enhancement: arrays. Entity protocols can now contain arrays that somehow stay in sync when changed.
🦄 Entity enhancement: nested entities. Entities can contain other entities, paving the way for ECS designs.
👍 LocalMesssages go away and the same functionality is added to messages.
👍 Simplified nengiConfig: protocol subtypes go away (entity, message, localMessage, etc) and everything is just a protocol.
⭐📓🔺 Granular Historian - history can be enabled on a per entity (or per entity type?) basis instead of being fully on or off.
🦄 multi-connect - add the ability for a nengi client to connect to multiple instances at the same time
🦄 server seams+stitching - add the ability to create continuous worlds out of multiple instances
📓 bytes not bits situational performance enhancement - offer the option to switch from bitbuffer to buffers and have all types smaller than 1 byte automatically occupy 1 byte (may improve cpu usage at expense of bandwidth)
📓 one view situational performance enhancement - offer the option to fully disable view culling and send the same binary snapshot to all clients (exception: the first frame a client connects is unique, as snapshots are deltas)
⭐💪💪💪My First Nengi Game - a YouTube series building a game with PIXI.js
installation and intro
modifying an entity
creating a new entity
adding ai to an entity
adding a projectile
serverside colisions with SAT.js
keeping score and networking w/ messages
💪💪nengi: implementing lag compensation (YouTube) step-by-step refactoring of a server-only networking model to the same game with prediction and lag compensation. This video is intend an aid in understanding advanced network programming, not as an actual tutorial for implementing it -- it would be easier just to start with a template that already has advanced netcode.
👍VPS Deployment - youtube and file listing commands. Covers a simple (root account, no nginx) deployment of a nengi game onto a vps.
🍎🤷Clientside Vuex+Vuejs integration (YouTube + code sample) discussion of the implementation and benefits of a pseudo functional flux pattern being added to a game client for game logic or (mainly) for having a reactive dom-based ui
nengi game templates/services
⭐🍎barebones - port the old barebones demo to nengi 1.0.0
⭐💪💪2d shooter with lag compensation - demo game/template showing the full suite of advanced lag comp features in a 2d pixi game
💪💪3d shooter with lag compensation in babylon - demo game/template showing the full suite of advanced lag comp features applied to a moving cube in Babylon.js' null engine.
💪Master Server - release a node/tls service that behaves as master server for running game instances.
🍎Simple Matchmaker - a demo script that consumes data from a master server and chooses an instance for a player to connect to.
🍎Global Latency System - a service that can be deployed to numerous data centers and queried to return the optimal region to connect to.
Denotes feasibility and other little notes about an item.
ThumbsUp 👍 - pretty confident, and time needed is reasonable
Flex 💪 - can be done, but is going to be heavy work
Notebook 📓 - R&D required, can't say for sure how it would work
Unicorn 🦄 - theorycraft (like R&D required, but worse)
Apple 🍎 - "low-hanging fruit" usually means I have this essentially done already (but requires polish)