ESP Little Game Engine SDK - ideas, questions, development

Questions related to work. What do you want to see in future versions.

Online web SDK: “Little game engine”
“C” like language with the online editor, compiler and emulator.

It’s extremely easy to make games with this LGE SDK.
For example, the full-color clone of the famous “flappy bird” takes only 94 lines of LGE C code.

There are more than 20 games are already done.
To play the example game, proceed to the game-link below, chose «compile» and then «run».

TankCity, 1916, FourInaRow, BlackJack, ZombieDefence, MicroRace, DwarfClicker, Galaxies, Memories, NinjaEscape, Mines, Breakout, TowerDefence, FlappyBird, WormBlast, ESProgue, Snake, FishLife, Columns, MarsAttack, CityRunner, Asteroids, Bashe

ESPboy has also the LGE emulator to play LGE SDK compiled games.

It’s able to upload them to ESPboy via WiFi.
Just start ESPbpy with pressed “B” key, connect from your laptop or mobile phone to wifi access point “ESPboy” and upload compiled “lge” or “bin” file using the web interface in your browser.

LGE SDK links:

Few LGE fantasy virtual machine features:

  • About 108 CPU instructions based on CHIP8/SCHIP and MOS6502.
  • 16 registers 16 bit
  • Each instruction is 2 bytes long, some of them has 2 bytes data after
  • RAM 20Kb.
  • There are special instructions to work with sprites, screen, sound, led.
  • Color screen 128х128, 16 colors per point. It takes 8Kb video memory and 8Kb for the buffer to render sprites and particles
  • Screen refresh rate 20 frames per sec
  • There are tiles support, 32 sprites in one-time size up to 128x128 with rotation and mirroring
  • Particles render
  • To save the memory it’s possible to use 1-bit sprites and RLE compression
  • Simple Physics engine: collision sprite-sprite and sprite-tile detection, gravity, sprite collision handling
  • Screen updates line by line only if there were changings of pixels in the line
  • VM speed depends on the amount of screen refresh from 100000 to 900000 opcodes per sec

Compiler and emulator are working ok, but not ideal.
It could be strange errors in sudden places.
It’s under development and testing.
Welcome to try )