Coder Social home page Coder Social logo

trellixvulnteam / travislab_cnyy Goto Github PK

View Code? Open in Web Editor NEW
0.0 0.0 0.0 3.14 MB

Travis experiments using LittleEngine source.

License: GNU General Public License v3.0

Shell 0.96% C++ 89.99% Python 4.02% C 0.54% CMake 4.31% Batchfile 0.05% Dockerfile 0.12%

travislab_cnyy's Introduction

Little Engine

Written in C++17, utilising SFML and PhysicsFS, Little Engine is a 2D game engine hobby project with little defined ambition or scope; in other words, let's see where we can take this!

Build Status Licence Twitter

Features

  • CMake project - develop/build (almost) anywhere
  • Full keyboard, mouse and single joystick support
  • Custom 2D coordinate system using 3x3 matrices
  • Quad, Quads, Rectangle, Circle, and Text primitives
  • Asynchronous rendering on a dedicated thread; light main/game thread
  • Dynamic game Entities/Components with Circle and AABB collision detection
  • Cache-friendly Particle Systems with distributed updation
  • Engine Repository with async loading, asset manifests, and sounds & music playback
  • In-game Console, Tweakable variables, Profiler, and other debugging tools
  • Stack and Context-based UI Framework
  • Various Python3 tools for asset cooking, app packaging, etc

Installation

LittleEngine pre-releases containing a demo game with Win64, Linux-x64, and MacOSX binaries can be found here.

Requirements

  1. x64 CPU with at least two threads
  2. (Optional) Python 3.5+ (for installer.py)
  3. Operating System:
    1. Windows 7/8/10: Microsoft VC++ Runtime (x64)
    2. Linux: OpenAL libraries (libopenal-dev)
    3. MacOSX: Python 3 (installer.py creates the app bundle)

Installing LittleEngine

  1. Obtain the game zip (present inside a GitHub Release zip)
  2. Move it to the installation directory and unzip it
  3. Run installer.py via Python 3 (or unzip ".game" manually and copy the contents of "[Your OS]" into its parent directory)

Note: OSX builds are in alpha and may not be stable.

Development

Visit the Little Engine wiki for more detailed and per-platform instructions.

Requirements

  1. x64 (ARMv8 is supported but not packaged) multi-threaded target
  2. CMake for the target, preferably using Ninja and LLVM
  3. SFML 2.5.1 source / internet access (CMake will download it)
  4. (Linux) libstdc++-7; all SFML dependencies (X11, Xrandr, OpenGL, UDev, Freetype, Vorbis, Flac, etc)
  5. (Win 10) Windows SDK for ninja/MSBuild / Clang/VC++ or MinGW for MinGW / g++
  6. (MacOSX) Xcode
  7. (Optional) Python 3 (all tools scripts are in Python)

Note: Due to GitHub's limitations with (free) LFS, Runtime Assets have been moved to DropBox since 0.4.4.0.

Note: Scripts in Runtime/Utils are only designed to work when run from Runtime or Runtime/Utils.

Setting up the project(s)

Quick Start:

  1. Build ThirdParty
    1. CMake: generate a project using Source/ThirdParty/CMakeLists.txt
    2. Build Debug and Release/RelWithDebInfo
  2. Build LittleEngine
    1. CMake: generate a project using Source/CMakeLists.txt
    2. Build / install (copies executable and libraries to Runtime)
  3. Run LittleEngine
    1. Set working directory to Runtime
    2. Extract and merge Runtime Assets into Runtime
    3. Debug/run the built/installed executable

Short video demonstrating full project setup from scratch on Linux (v0.4.7.0).

Contact

Licence

LittleEngine uses the GNU GPLv3 licence.

Note: Code of Conduct can be found here.

travislab_cnyy's People

Contributors

karnkaul 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.