PengCLI is an all-in-one development environment designed for nostalgics and indie developers. It combines the authentic feel of an MS-DOS terminal with a powerful Lua-based game engine and a professional VGA 256-color pipeline.
This GitHub repository is used for version tracking and documentation. You cannot run PengCLI directly from these files. To start creating games, you must download the compiled standalone executable from our official platforms:
👉 Download PengCLI (Official Site)
👉 Download on Itch.io
- The .PCP System: Compile your code, sprites, and maps into a single executable binary. No more loose files.
- VGA 256 Palette: A strict, professional vintage color palette. No RGB—just pure 8-bit nostalgia.
- Built-in Visual Editors:
- EDITSPR: A pixel-art editor with zoom, pan, and multi-resolution support (4x4 up to 64x64).
- EDITMAP: A tile-based world builder for 64x64 maps.
- Dual Storage: Switch between
DISK(persistent) andVRAM(volatile) storage modes. - Integrated Launcher: Always launch via
launcher.exeto benefit from automatic GitHub updates.
PengCLI follows a professional development cycle directly from the command line:
CODE [project]: Initialize your project structure (main.lua,/sprites,/maps).EDIT main.lua: Write your game logic using the PengAPI.EDITSPR [name]: Draw your assets in the Sprite Editor.EDITMAP [name]: Build your world in the Map Editor.COMP [project]: Compile everything into a.pcpfile.RUN [project]: Execute your creation.
Creating a moving player with tile collisions is simple:
peng.setMode("GFX")
local x, y = 64, 64
function peng.gfx.update(dt)
local dx, dy = 0, 0
if peng.gfx.isKeyDown("right") then dx = 2 end
if peng.gfx.isKeyDown("left") then dx = -2 end
-- Collision detection (8x8 tiles)
local tile = peng.gfx.getmap("level1", math.floor((x+dx)/8), math.floor(y/8))
if tile ~= "wall" then x = x + dx end
end
function peng.gfx.draw()
peng.gfx.cls(0)
peng.gfx.drawmap("level1", 0, 0, 40, 30, 0, 0)
peng.gfx.drawspr("player", x, y)
endAlways use the launcher.exe provided in the download package. It will:
- Check for the latest releases on this GitHub repository.
- Notify you inside the console when a new update is available.
- Update your
pengcli.exeautomatically using theupdatecommand.
- Developer: Oflap Studio
- Platform: Windows (Standalone)
- Language: Lua 5.1 / LuaJIT
- Copyright: © 2024-2026 Oflap Studio. All rights reserved.
Created with passion for retro-gaming enthusiasts.