Code Monkey home page Code Monkey logo

lightengine's Introduction

Spike

workflow License Codacy Badge Spike

Welcome to the Spike's source code

It is a Game engine written in C++

๐Ÿ”ง Project Setup

We use premake for project files generation

Windows

Windows64 supported Windows32 Notsupported

  • Visual Studio 2019 is highly recommended in Windows
  • Start by cloning the repository with git clone --recursive https://github.com/FahimFuad/Spike.git to clone along with the submodules. If you have already cloned and you want to initialize the submodules, type git submodule init and to update the submodules type git submodule update in your project directory.
  • Run the WindowsGenProjects.bat file inside the scripts folder and Premake will generate project files for Visual Studio 2019.
  • If you want to generate for other IDE or versions of Visual Studio then in the project directory run your favourite premake action
  • Once premake generate the project files then you can hit the run button and make the engine up and running!

Mac & Linux

MacOS not supported Linux not supported

  • Start by cloning the repository with git clone --recursive https://github.com/FahimFuad/Spike.git to clone along with the submodules. If you have already cloned and you want to initialize the submodules, type git submodule init and to update the submodules type git submodule update in your project directory.
  • To genereate the project files for your IDE, select the actions of the premake and run them in the project directory. A list of actions of the premake can be found here
  • The engine is now ready to run!

Screenshot

Spike

In Action

SpikeEngine

Main features to come

  • Fast 2D rendering (UI, particles, sprites, etc.)
  • High-fidelity Physically-Based 3D rendering (this will be expanded later, 2D to come first)
  • Support for Mac, Android and iOS
  • Native rendering API support (DirectX, Vulkan, Metal)
  • Fully featured viewer and editor applications
  • Fully scripted interaction and behavior
  • Integrated 3rd party 2D and 3D physics engine
  • Procedural terrain and world generation
  • Robust Artificial Intelligence(AI) system
  • Audio system

Implemented Features

  • Console Logging
  • Internal Key and Mouse Codes
  • Input Polling
  • LayerStack and Layers
  • Event System and Events
  • 2D Renderer
  • Fast and easy to use API for 2D Rendering
  • Entity Component System(ECS)
  • Native C++ Scripting
  • GUI Editor (Spike-Editor)
  • Deltatime
  • Scene system
  • Scene Serialization and Deserialization using YAML
  • On Screen Gizmos to control the Transform of the object
    • Translation, rotation and scale
  • Built in editor console
  • Editor Camera

Dependencies

Contributing GitHub contributors

  • For contributing, fork this repository first.
  • Then made a feature branch in your fork and start adding stuff.
  • When you're ready with your feature, you can send a Pull Request(PR).
  • Then your code will be reviewed and if everything goes well, your commits will be mergerd!

This engine is inspired from TheCherno's Hazel Engine.

Discord

lightengine's People

Contributors

ridhwandll avatar

Forkers

cestrixx

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.