TIC-80

0.20.0 dev


About

TIC-80 is a tiny computer where you can make, play and share tiny games. There are built-in tools for development: code, sprites, maps, sound editors and the command line, which is enough to create a mini retro game. At the exit you will get a cartridge file, which can be stored and played on the website. Also, the game can packed into a player that works on all popular platforms and distribute as you wish. To make a retro styled game the whole process of creation takes place under some technical limitations: 240x136 pixels display, 16 color palette, 256 8x8 color sprites, 4 channel sound and etc.



Get it on Windows 10

TIC-80 tiny computer v0.20.0 dev

status: IN DEVELOPMENT

website:    http://tic.computer
twitter:    http://twitter.com/tic_computer
hashtag:    #TIC80
chat:       https://gitter.im/tic-computer
bugs:       https://github.com/nesbox/tic.computer/issues
wiki:       https://github.com/nesbox/tic.computer/wiki
changelog:  https://github.com/nesbox/tic.computer/wiki/changelog

(c) Copyright 2017 Nesbox
Author: Vadim Grigoruk // [email protected]

============================================

ABOUT

    TIC-80 is a tiny computer where you can make, play and share tiny games. 
    There are built-in tools for development: code, sprites, maps, sound 
    editors and the command line, which is enough to create a mini retro game. 
    At the exit you will get a cartridge file, which can be stored 
    and played on the website. Also, the game can packed into a player 
    that works on all popular platforms and distribute as you wish. 
    To make a retro styled game the whole process of creation takes 
    place under some technical limitations: 240x136 pixels display, 
    16 color palette, 256 8x8 color sprites, 4 channel sound and etc.
    I get my inspiration from PICO-8 project: http://pico-8.com

CREDITS
    
    Filippo Rivato @HomineLudens
    Fred Bednarski @level27geek

SPECIFICATION

    Display     240x136 pixels, 16 colors palette
    Input       2 gamepads with 6 buttons
    Sprites     256 8x8 foreground sprites and 256 8x8 background tiles
    Map         240x136 cells, 1920x1088 pixels
    Sound       4 channels (select square, triangle or noise)
    Code        64KB of Lua or Moonscript

CONSOLE COMMANDS

    help
    ram
    exit
    new
    load 
    save 
    run
    dir
    folder
    add
    del 
    get 
    export [html native sprites]
    import [sprites]
    demo
    config [save]

CODE API

    tic
    print   text [x y [color [fixed] ] ] -> text width
    font    text [x y [colorkey [width] ] ] -> text width
    cls     [color]
    pix     x y [color] -> color
    line    x0 y0 x1 y1 color
    rect    x y w h color
    rectb   x y w h color
    circ    x y radius color
    circb   x y radius color
    spr     id x y [colorkey [scale [flip:0..3 [rotate:0..3] ] ] ]
    btn     [id: 0..5 8..13] -> pressed
    btnp    [id: 0..5 8..13 [hold period] ] -> pressed (but wasn't pressed in previous frame)
    sfx     [id [note [channel [volume:0..15 [speed:-4..3] ] ] ] ]
    map     [cellx celly cellw cellh [sx sy [colorkey [remap] ] ] ]
    mget    cellx celly -> val
    mset    cellx celly val
    peek    addr -> val
    poke    addr val
    peek4   addr -> val
    poke4   addr val
    memcpy  dst src size
    memset  dst val size
    pmem    index:0..16 [val] -> val
    trace   msg
    time    -> ticks from a game start
    mouse   -> x y pressed
    tri     x1 y1 x2 y2 x3 y3 color

HOTKEYS

    ESC                     switch console/editor
    ALT+~                   show console
    ALT+1/F1                show code editor
    ALT+2/F2                show sprite editor
    ALT+3/F3                show map editor
    ALT+4/F4                show sfx editor
    ALT+5/F5                show music editor
    F11/ALT+ENTER           fullscreen/window mode
    CTRL+R/ENTER            run current project
    CTRL+X/C/V              cut/copy/paste in code and sprite editors (SHIFT+DEL/CTRL+INSERT/SHIFT+INSERT)
    CTRL+S                  save cart
    ARROWS                  navigate in sprite editor, move map in map editor
    CTRL                    show spritesheet in map editor
    CTRL+Z/y                undo/redo changes
    CTRL+F                  find in code editor
    CTRL+G                  go to line in code editor
    CTRL+O                  show code outline

SUPPORTED PLATFORMS

    TIC-80 is developed with pure C language and with SDL, LUA libraries.
    That's why all have to work on all popular platforms without problems:

    HMTL5               done
    Windows             done
    Windows 10 UWP      done
    Linux 32/64bit      done
    Android             done
    MacOSX              done
    iOS
    Raspberry Pi

CHANGELOG

    --------------
    version 0.20.0
    --------------

    - [github] Configuration for startup sound #51
    - [github] Sound RAM Poke Crash #55
    - [github] Touch buttons with labels #56
    - [github] Triangle primitives #63
    - added toolbar icons with tooltips
    - added THEME to the config (you can define start beep, code syntax colors, touch gamepad buttons)
    - copy/paste works in SFX EDITOR
    - reduced Linux builds size from 8MB to 2MB
    - added TRI api function to draw filled triangles
      
    https://github.com/nesbox/tic.computer/milestone/7?closed=1