Giter Club home page Giter Club logo

plasmaengine's Introduction

Codacy Badge Windows Build Status

Plasma Logo

Overview

Plasma Game engine is a C++ powered 2D and 3D game engine that is designed to be straigt forward yet powerful for all users. We aim to have clear and easy to read code with many comments allowing anyone to pickup and extend the code as they feel is needed. Plasma is originally branched from the Zero Game Engine.

Installing binary builds

You can find the latest compiled version of the launcher on the Plasma discord, if you get lost feel free to ask there.

Getting the source

git clone --recursive https://github.com/PlasmaEngine/PlasmaEngine.git

Building the engine

Building on Windows:

Easiest:

  • Open folder with VS2019+
  • (Optional) Manage Configuration to add x64-Release configuration
  • Build

For Solution Files:

  • run build_vs2019_x64.bat

For Release Build

  • run build_vs2019_ninja.bat

Building on Linux:

  • In Development

Building on Mac:

  • In Development

Screenshots

Image of Plasma Engine 3D Image of Plasma Engine 2D Image of Plasma Engine 2D

Credits

  • Josh (Engine Developer)
  • Jesco (Engine Developer)
  • Dave (Engine Contributer)
  • ad3m3r5 (Engine Contributer)
  • theLemon505 (Engine Contributer)
  • Konfus-dev (Engine Contributer)
  • jayrulez (Engine Contributer)
  • AdvancedInstaller (Providing open source license for launcher installer)
  • Digipen and everyone who worked on Zero
  • WelderFoundation (Useful addition to Zero and thirdparty repos)

plasmaengine's People

Contributors

ad3m3r5 avatar benjysugi avatar church13 avatar jayrulez avatar konfus-dev avatar loleloup avatar palelebouf avatar plasmadev5 avatar thelemon505 avatar willplayforfun avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

plasmaengine's Issues

Customizable Skybox HDR Option

Big ask, but being able to customize the HDR skybox without having to make externally/import, akin to Cryengine, Unity and Unreal would be brilliant

Array Reflection

Expose the array type so its able to be used as a property time

Doesnt support .tiff import

Could be quite handy if Plasma supported .tiff texture import as its used very commonly as a lossless texture format, especially due to its handling of alpha.

Rendering Additions Requests (Will be added to as required)

  • Depth Of Field
  • Chromatic Abberation
  • Volumetrics and Lightshafts
  • Fog
  • Vector Graphics for UI rendering
  • Better Anti Aliasing
  • Large Scale AO
  • Full Colour Grading and Tonemapper Controls
  • Water Including Ripples
  • SubSurface Materials
  • Glass
  • Panini Projection for high FOV without distortion
  • High Density Foliage Rendering
  • Tessellation
  • More Light Controls (Like Constant, Linear and Quadratic in Source). Not realistic but can be important to sell an environment if used sparingly
  • Eye Adaption
  • Vignetting
  • Working GI
  • Motion Blur
  • Triplanar Projected Textures
  • Refracting Textures
  • Projected Decal Support'
  • Source-Style 3D Skybox support
  • Bent Normals
  • Reflection Probes
  • Clouds
  • Customizable HDRI akin to Unity's and Unreals

Heightmap tool does not support undo/redo

Reproduction Steps:

Create heightmap
Modify with Raise Lower tool
Ctrl-Z

Expected results:
Return heightmap to previous state.

Actual results:
Heightmap gets removed from the scene because the last operation was create heightmap.

Global tag system

having a global list of all the tags in a project and be able to select them from a drop down list or similar.

hopefully it can be centralised to allow us to not double ups on tags in a project.

Imported Prefab does not have default tag applied

Something I noticed when importing a prefab, specifically the FPSController prefab I was handed (now outdated), when imported, some default tags do not get applied, such as "Cog" while when I go through and recreate it from scratch it is applied.
Might be an edge case of not handling the default tags correctly or just a difference in build versions between the prefab and the project version I am currently updated to (0.1.4.0
FromScratch
Imported
HaloCharacterPack
)

Master Material Request

So for the Master Material, we have a few requests. All up for discussion so lets also discuss it in voice too if you have any questions.

Base Material:
Mask Map to mask between 3 different materials (R G B respectively)
Each material supported standard Albedo, Roughness, Metallic and Specular respectively
Also being able to adjust the colours of each base layer through a hue slider.

Second Material:
Second Layer contains the decal details
It should be able to support Parallax and Ambient Occlusion maps from the decal sheet, as well as supporting alpha transparency and a mask map to mask in tertiary materials for things like chipped concrete, buttons, slots and the likes.

Third Layer:
Able to use baked AO/Curvature maps from a secondary UV set on the models and decal sheets (if possible) for masking in wear and dirt respectively, and using Vertex Painting for masking in and out wear and dirt.

Reimport files and replace references without deleting

We need a way to reimport existing files such as models and textures with new versions and replace references accordingly, without deleting.
For example, reimporting a window would automatically replace all references in the map with the new window mesh

Align tools

the title says it all.

Look into the blender addon "Align Tools" installed by default you just have to activate it in the addons.
https://docs.blender.org/manual/en/latest/addons/object/align_tools.html

3Ds max align tool.s are also a great reference for this sort of tool
https://knowledge.autodesk.com/support/3ds-max/learn-explore/caas/CloudHelp/cloudhelp/2019/ENU/3DSMax-Basics/files/GUID-E0566E8D-C50F-4202-8258-E02B694E0274-htm.html

Unreal also has a tool that lets you drop the asset/object down to the nearest piece of collision via a hot key which can also be super usefull and handy for us artists

Transfer files between libraries

Is there a way to transfer files between libraries? I can't find an option for it, if not it's important to include it for organization

Deleting too many assets

Deleting too many assets makes the confirmation screen larger than it should be, making it so we cannot select yes or ok.

also didn't allow usage of enter, esc, etc

Adjust Contrast/Brightness/Histogram Node in materials

The ability to adjust the contract/brightness/histogram of a previous node in the stack, or adjust the values of a texture directly in a texture editor would make it significantly easier to tweak metallic/roughness maps in-engine

Editor and Launcher issues.

Using PostProcessSSR causes a series of weird bugs when launching the editor. Launching directly from the editor or launcher causes a TDR error. Launching the Launcher if the editor is open just doesn't work. It might be because I have a lower spec PC.

@dragonCASTjosh fixed it by removing the PostProcessSSR block from Level.data.

SpriteText does not render

steps to reproduce:

  1. create a uiLevel
  2. right click on one of the sprites in the object window and select create sprite text
  3. try changing text to different values and font sizes

Combine Meshes on Import

Please give us the option to combine meshes on import, and in-turn combine mats with same-name on said meshes.

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.