- 7
- Posts
- 9
- Years
- Seen Oct 2, 2016
Hello pokefans,
this is a javascript based pokemon engine with a wysiwyg realtime editor. The engine is far from done, but already looks pretty neat.
The sugar of this engine is the wysiwyg realtime editor and the easy api to add new entities with many custom settings.
The engine renders over WebGL with a 2d canvas fallback, comes with a 3D audio engine and supports normal map based sprite lighting.
Demo: Link
Source: Github
The big Todos:
- Battle engine (which im not that much pleased to roll on it)
- WebGL entity shadows
- Editor UI
- Replay option with seed based animations
- Map connections (+map connection editor)
- Background map tile drawing
- Server & Client shared flags
- Multi-user map editing (OT?)
Nerd cave:
- Behind the scenes:
Both client and server gets written in Ecmascript6 and make use of experimental Ecmascript7 language features too. The server is based on nodejs, with websocket based binary networking. The game engine is built in a huge modular way.
Everything is written as strict typed as possible. The rendering task is huge jsperf based optimized, garbage collector friendly with many outsourced hot methods and calculations. The whole code is written as clean as i am able to do right now.
- Lightning:
Right now, shadows get dynamically generated based of a object's sprite. Maybe I will extend the lightning engine, so light sources get supported as well. Anyway lightning systems are rendering intensive, so I need to do some researching first, if the browser's canvas supports my concern and evolve some kind of genius math brain. Another thought is to fully switch over to WebGL.
- Libraries:
The only libraries this engine makes use of is a A* lib for pathfinding, a seed random number generator and a 3d WebAudio api. The whole pixel-perfect engine, renderer, editor, camera, event system and anything else are carefully written from scratch with much headache (about 18k lines of code right now).
- Performance:
The focus lies on simplicity and efficiency, for example to let you render about 1000 animated entities on your screen, running on 60fps, in fullscreen (based on 1920x1080). The engine caches as much things as possible: Textures, maps, shadows, custom colorized sprites etc.
this is a javascript based pokemon engine with a wysiwyg realtime editor. The engine is far from done, but already looks pretty neat.
The sugar of this engine is the wysiwyg realtime editor and the easy api to add new entities with many custom settings.
The engine renders over WebGL with a 2d canvas fallback, comes with a 3D audio engine and supports normal map based sprite lighting.
Demo: Link
Source: Github
The big Todos:
Spoiler:
- Battle engine (which im not that much pleased to roll on it)
- WebGL entity shadows
- Editor UI
- Replay option with seed based animations
- Map connections (+map connection editor)
- Background map tile drawing
- Server & Client shared flags
- Multi-user map editing (OT?)
Nerd cave:
Spoiler:
- Behind the scenes:
Both client and server gets written in Ecmascript6 and make use of experimental Ecmascript7 language features too. The server is based on nodejs, with websocket based binary networking. The game engine is built in a huge modular way.
Everything is written as strict typed as possible. The rendering task is huge jsperf based optimized, garbage collector friendly with many outsourced hot methods and calculations. The whole code is written as clean as i am able to do right now.
- Lightning:
Right now, shadows get dynamically generated based of a object's sprite. Maybe I will extend the lightning engine, so light sources get supported as well. Anyway lightning systems are rendering intensive, so I need to do some researching first, if the browser's canvas supports my concern and evolve some kind of genius math brain. Another thought is to fully switch over to WebGL.
- Libraries:
The only libraries this engine makes use of is a A* lib for pathfinding, a seed random number generator and a 3d WebAudio api. The whole pixel-perfect engine, renderer, editor, camera, event system and anything else are carefully written from scratch with much headache (about 18k lines of code right now).
- Performance:
The focus lies on simplicity and efficiency, for example to let you render about 1000 animated entities on your screen, running on 60fps, in fullscreen (based on 1920x1080). The engine caches as much things as possible: Textures, maps, shadows, custom colorized sprites etc.
Last edited: