I Wanna Be the Esolang

From Esolang
Jump to navigation Jump to search
I Wanna Be The Esolang
Paradigm(s) 2D, AI
Designed by User:Otesunki, User:Razetime
Appeared in 2022
Computational class Unknown
Major implementations Currently Unimplemented
File extension(s) .iwb, any

I Wanna Be The Esolang (abbreviated IWBTE) is a two-dimensional programming language based on the ideas of 2D platformers akin to I Wanna Be the Guy. This page is currently unfinished.

In progress are the methods of storage, conditionals, input, output and AI Agent specification.

Syntax

Every IWBTE program describes a platformer level in 2D space using unicode art. An example program may look like the following:

█████████████
█    ▼▼▼    █
█         ○ █
█ ■  ▲▲▲    █
█████████████

each character is a tile that indicates a game element. The possible tiles, as of now are:

Tiles
Tile(s) Name Details
Wall Blocks any movement from the player.
▲▼◀▶ Spikes Kill the player, terminating the program with an error.
^ Jump Refresher Will refresh a single jump for the player, and get removed from the playfield.
═║, box drawing characters Level trigger is on and is off. Must be linked to one or more togglable objects using box drawing characters. Does not collide with the player.
░▓ Switch walls Togglable. when the level trigger is on, when the level trigger is off.
Start location Start location of the player.
Goal Ends the level.

The AI

An IBWBTE program is run by making an AI play the level. The AI will perform any and all tasks necessary to get to the goal, avoiding death if possible. If it cannot reach the goal, it will get as close to the goal as possible before dying or stopping.

A more complete AI spec is pending.

Implementation

Any implementations of IWBTE must provide a way to visualize program flow i.e. There must be a graphical output of the given program, and an animation that shows the AI behaviour.

Ideally this will be done under a Clickteam game engine in order to emulate the physics of IWBTG.