Git Product home page Git Product logo

indigo's Introduction

MIT License Latest Tagged Release Discord Chat Join the chat at https://gitter.im/Purple-Kingdom-Games/Indigo CI

Indigo

Indigo is a game engine written in Scala for functional programmers. It allows game developers to build games using a set of purely functional APIs that are focused on productivity and testing.

Indigo is built entirely on Scala.js + WebGL, but it's sbt and Mill plugins will export games for web, desktop (via Electron), and mobile (via Cordova). Hypothetically consoles could also be supported.

Documentation can be found on indigoengine.io.

Full local build and test instructions

Using Nix

The root of the project contains a very very simple flake.nix file that, if you have nix installed and flakes enabled, will give you all the tools you need to build Indigo by running nix develop in the root directory.

Build requirements

You will need:

  • Mill
  • SBT
  • JDK (Update: 8 works, 17 is used in Indigo's development)

Running the build

On Mac / Linux, from the repo root to do a full build and test:

bash build.sh

On Windows, open up powershell and run:

& build.ps1

There is also another script which is a bit faster since it doesn't build the examples or demos.

bash localpublish.sh

Software requirements for running games

The list above covers the software needed to build Indigo itself, but to run a game you may also need:

  • NPM and/or Yarn
  • NodeJS
  • Electron
  • An http server that will serve static from a directory (suggestions: http-server via npm, or Python's SimpleHTTPServer)
  • A frontend packaging tool such as Parcel.js

indigo's People

Contributors

davesmith00000 avatar hobnob avatar bilki avatar sylvansson avatar tsnee avatar grzegorz-bielski avatar drsimonmiles avatar aumann avatar zikolach avatar sintrastes avatar dependabot[bot] avatar cheesterx3 avatar angel-o avatar araneusrota avatar arifordsham avatar maedjyuk-ghoti avatar lolgab avatar slouc avatar gitter-badger avatar zetashift avatar solarized-fox avatar

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.