GithubHelp home page GithubHelp logo

knut0815 / lucid Goto Github PK

View Code? Open in Web Editor NEW

This project forked from joeydevries/lucid

0.0 0.0 0.0 60.61 MB

A 2D game w/ 3D lighting written on top of a small structured 2D game engine

License: Other

GLSL 0.14% C 40.28% C++ 59.36% Objective-C 0.21%

lucid's Introduction

C++ Lucid - 2D Game Engine + Game w/ 3D lighting

Notes

  • Project and librarires (if relevant) built with MSVC 140 (Visual Studio Community 2015)
  • Pre-compiled libraries added, but building 3rd party libraries yourself is advised.
  • Copy .DLLs from Libs/Pre-compiled DLLs/ over to executable folder or retrieve/compile them yourself.
  • Repository is not built around supporting different run-time configurations.

Lucid

Lucid is the combined effort of creating a game by first creating a custom, organized and well-structured game engine and then building a game on top of it. Lucid is a game about dynamically switching physics state between specific colored block based on whatever colored light the player activates through its lantern. The player is required to influence the correct physics collision states at the exact right time to build a path for moving forward. Requires memory, quick reflexes, and the ability to look ahead.

Lucid is an attempt to experiment with different approaches of designing and building a larger game and game-engine. This includes separating render state from game logic and separating physics state from both the game logic and render logic. Lucid features an entity component system for defining the game logic and uses an event queue system for inter-module communication. The goal of the system was to decouple irrelevant components and finding a strong balance between well-regarded design patterns and the system's requirements.

For more information (including media) regarding Lucid: see joeydevries.com.

Features

  • Normal mapped 3D lighting simulation of 2D sprites.
  • Dynamic physics collision state management.
  • Entity-component based system architecture.
  • Event-based message queue system for inter-module communication.
  • Signed distance field text rendering.
  • Fully integrated 2D physics system.
  • 2D spritesheet animation.
  • 2D particle engine.
  • Custom levels can be built by anyone using the Tiled level editor due to Lucid's seamless integration with the Tiled XML format. See Bin/levels/tutorial.tmx for Lucid's Tiled components.
  • Location-based audio falloff.
  • Interesting and challenging puzzles.

lucid's People

Contributors

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