Coder Social home page Coder Social logo

PICOLOVE

Run PICO-8 games and computer programs with free and open-source software.

On github at: https://github.com/picolove/picolove

Screenshot of PICOLOVE after startup

Requires LÖVE 0.10.2

What it is:

  • An implementation of PICO-8's API in LÖVE

What is PICO-8:

What is LÖVE:

Why:

  • For a fun challenge!
  • Allow standalone publishing of PICO-8 games on other platforms
  • Should work on mobile devices *
  • Configurable controls
  • Extendable
  • No arbitrary cpu or memory limitations
  • No arbitrary code size limitations
  • Better debugging tools available
  • Free and open-source software

What it isn't:

  • A replacement for PICO-8
  • A perfect replica
  • No dev tools, no image editor, map editor, sfx editor, music editor
  • No modifying or saving carts
  • Not memory compatible with PICO-8

Not Yet Implemented:

  • Memory modification/reading
  • PICO-8 cartridge versions > 8

Differences:

  • Uses floating point numbers not fixed point
  • sqrt doesn't freeze
  • Uses LuaJIT not lua 5.2

Extra features:

  • ipairs() standard lua function
  • log(...) function prints to console for debugging
  • error(message) bluescreens with an error message
  • warning(message) prints warning and stacktrace to console
  • setfps(fps) changes the consoles framerate
  • _keyup, _keydown, _textinput allow using direct keyboard input
  • _touchup, _touchdown allow using touch input
  • _getcursorx(), _getcursory() allow access to the cursor position
  • _getpicoloveversion() returns the version of picolove
  • _hasfocus() window focus state (only false on first blur frame in _draw)

Development requirements:

  • Runtime: LÖVE 0.10.2
  • Building: make
  • Formatting: sed and stylua
  • Linting: luacheck
  • Packaging: zip

Development:

  • Run in endless loop: make dev
  • Modify code
  • Press ctrl+q to reload

Before pushing:

  • Run make format
  • Run make lint
  • Run make test
    or
  • Run make all

Android Packaging:

Replace the default cartridge (nocart.p8) with your game. Text (P8) or PNG (P8.PNG) is supported.
Follow the Android Game Packaging steps.
Optionally, for orientation rotation support (Portrait and Landscape), remove android:screenOrientation="landscape" in the AndroidManifest.xml

picolove's Projects

picolove doesn’t have any public repositories yet.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.