Coder Social home page Coder Social logo

michaeld96 / emgine Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 8.97 MB

CMake 0.10% Makefile 0.09% C 45.60% C++ 53.27% Objective-C 0.21% Batchfile 0.01% Shell 0.01% CSS 0.08% Objective-C++ 0.45% GLSL 0.01% GDB 0.01% Roff 0.04% Lua 0.12% Python 0.02%

emgine's Introduction

eMgine Game Engine

Welcome to eMgine, a versatile game engine developed as an extension of EECS 498-007 (Game Engine Architecture) at the University of Michigan. eMgine is equipped with an intuitive editor that allows for the creation and editing of scene files and Lua scripts within the application.

Built with a focus on ease of use and flexibility, eMgine incorporates popular libraries like glm for mathematics, rapidJSON for JSON handling, and a complete source compilation for Dear ImGui, ImGuiFileDialog, and box2d. The engine leverages SDL2 for cross-platform window management, input, and graphics, providing a comprehensive foundation for game development.

System Requirements

To build and run eMgine, you'll need:

  • SDL2 library installed on your system
  • A C++17 compatible compiler

Installation

eMgine is compatible with multiple IDEs and can be built using Visual Studio, Xcode, or Makefiles.

Visual Studio

Open the provided Visual Studio Solution file and build the project using the IDE.

Xcode

Open the Xcode project file and press the build button.

Make

For those who prefer the command line or are working on Linux, you can build the project using the make command.

To compile with debugging symbols (useful for development), run:

make me

To compile with optimizations for production, run:

make

Running eMgine

Once built, you can run eMgine directly from your IDE, or from the command line if you're using Make.

Features

eMgine comes with a range of features out of the box:

  • Scene graph management
  • Lua scripting for logic and automation
  • Physics simulation powered by box2d
  • Advanced rendering with Dear ImGui integration
  • Asset management and an in-built file dialog

Getting Started

For community support, feature requests, or to report bugs, please use the GitHub issues page associated with this repository.

Happy Game Developing!

emgine's People

Contributors

michaeld96 avatar

Watchers

 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.