Skip to content

Cryru/Emotion

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Emotion

CI-Windows

What is it?

Emotion is a cross-platform game engine written in C# with minimal dependencies, for me to make games in. The engine is more targeted towards programmers and is alternative to stuff like MonoGame, FNA, and Love rather than Unity.

Games

A visual novel for Windows, Linux, and x64 Mac.

The version this game was built on is kept in the "adfectus-backup" branch.

A roguelike deckbuilder for Windows and Linux, with an Android version built but not published.

The version this game was built on is kept in the "EtA" branch.

Documentation

Check out the "Tests" project for examples, the comments in code, and the Emotion Examples project to learn more about how to use the engine. Proper documentation is a longterm goal.

Requirements for Developers and Players:

  • OpenGL 3.0 or higher supported hardware
    • Or DirectX 11 if ANGLE is enabled
    • Or a multi-core CPU if the Mesa software renderer is enabled
    • WebGL 2.0 on Web
  • Be able to run the Net 9 runtime.
  • A supported platform:
    • Windows 32 and 64 bit
    • Linux 64 bit (Steam Deck works too)
    • Android API 23+
    • Or implement your own via PlatformBase :)

That's it.

Developing and Building

It is recommended you develop with a cloned version of the Emotion repo linking Emotion.csproj in your solution. This way you have the most control over your code. Using nuget packages, prebuilt dlls, and any other ways of linking Emotion is not supported.

Projects Used

This includes dependencies and projects which were used for research references. If you're distributing code using this project include the "LICENSE THIRD-PARTY" file from the repository.

Library License Used For Inclusion
.Net Core MIT Runtime Nuget
System.Numerics MIT Data structures and hardware intrinsics Nuget
xxhash (pure C# implementation) MIT Hashing data
Forks
WinApi Apache Windows API Interop Headers Platform/Implementation/Win32/Native
OpenGL.Net MIT OpenGL API Platform/OpenGL
StbTrueType & StbTrueTypeSharp MIT & GPL3 Font Rendering Option and Comparison Referenced by Tests @ Tests/StbTrueType and Graphics/Text/StbGlyphRenderer
TiledSharp Apache 2.0 .TMX Support Uses custom XML and engine integration @ Standard/TMX
Optional
Roslyn/Microsoft.CodeAnalysis.CSharp MIT Runtime C# Script Compilation Emotion.Plugins.CSharpScripting
CimGui & CimGui.Net MIT Developer UI Emotion.Plugins.ImGuiNet, Precompiled for Mac64, Linux64, and Win64
ANGLE Google License Compatibility Precompiled for Win32 and Win64, Add "ANGLE" symbol
llvmpipe / Gallium / Mesa MIT Compatibility via Software Renderer Precompiled for Win32 and Win64
Glfw & Glfw.Net Zlib Mac and Linux Window Creation Precompiled for Mac64, Linux64, Win32, and Win64, Add "GLFW" symbol
OpenAL-Soft & OpenAL.NetCore LGPL & MIT Mac and Linux Audio Precompiled for Mac64, Linux64, Win64, Add "OpenAL" symbol
Assimp & AssimpNet Modified BSD Reading FBX files The Emotion build tool
Assimp (Engine) & Silk.NET.Assimp Modified BSD & MIT 3D Model preview and conversion Add "ASSIMP" symbol
SixLabors.ImageSharp Six Labors Split License Developer loading and conversion of unsupported image types such as "jpg" Add "MORE_IMAGE_TYPES" symbol
References
McGill Engineering X Hardening WAV and Audio Implementation None
PNGSuite X Hardening PNG Implementation None
OpenType.JS X Font Parsing Reference None
Nine.Imagine X Image Parsing Comparison None
ImageSharp X Quirky Image Format Reference None
OpenAL-Soft X Audio Code Reference None
NAudio X Audio Code Reference None
Audacity X Audio Code Reference None
Astiopin's SDF generator X EmotionSDF4 atlas generation reference None