The 3D game engine so good it has my name in it.
Mitch Engine is a simple c++ component based game engine for creating games for Xbox One, macOS, and the Windows 10 Store. It's a great hobby project to keep me exploring the world of c++.
Check out my Notion to view the current development status.
Platform | Game |
---|---|
Win64 | |
UWP / Xbox | |
macOS |
- (ECS) Entity-Component System based design
- Supports Windows, Xbox, and macOS
- World Editor (Windows & macOS)
- HTML UI with Ultralight
- Language: C++
- Optick Profiling
- Optional FMOD Audio (See Below)
- Optional/Experimental MONO Scripting Support (See Below)
- Download the Project Setup batch file (Windows only atm, but generates macOS .command) and run within an empty folder or your premade git repo.
- Think of an awesome game idea.
- ????
- Profit
// Grab the world
SharedPtr<World> GameWorld = GetEngine().GetWorld().lock();
// Create an entity.
EntityHandle MainCamera = GameWorld->CreateEntity();
// Add some components
Transform& CameraTransform = MainCamera->AddComponent<Transform>("Main Camera");
Camera& CameraComponent = MainCamera->AddComponent<Camera>();
// Start changing some values
CameraTransform.SetPosition(Vector3(0.f, 5.f, 10.f));
// Spawning models.
EntityHandle ModelEntity = GameWorld->CreateEntity();
ModelEntity->AddComponent<Transform>("Ground Model");
ModelEntity->AddComponent<Model>("Assets/Models/SuperAwesome.fbx");
- Windows 10 or macOS
- Visual Studio 2019 for Windows / Xbox
- Desktop Development with C++
- Universal Windows Platform development
- Game development with C++
- C++ Universal Windows Platform tools
- XCode for macOS
- CMake - 3.12.0 (Required if you wish to update ThirdParty projects)
- Download and install the SDK from the FMOD website.
- Edit your project's
Game.sharpmake.cs
file in the root of your project and set the global field forGlobals.FMOD_****_Dir
- The default value for Windows is:
FMOD_Win64_Dir = "C:\\Program Files (x86)\\FMOD SoundSystem\\FMOD Studio API Windows\\"
- The default value for Windows is:
[Generate]
public class SharpGameSolution : BaseGameSolution
{
public SharpGameSolution()
: base()
{
Name = "MyProjectName";
Globals.FMOD_Win64_Dir = "C:/Program Files (x86)/FMOD SoundSystem/FMOD Studio API Windows/";
}
}
- You can check the status of the FMOD plugin in the 'Help > About' menu in the editor.
- Download and install the SDK from the MONO website.
- Edit your project's
Game.sharpmake.cs
file in the root of your project and set the global field forGlobals.MONO_****_Dir
- The default value for Windows is:
MONO_Win64_Dir = "C:/Program Files/Mono/"
- The default value for macOS is:
MONO_macOS_Dir = "/Library/Frameworks/Mono.framework"
- The default value for Windows is:
[Generate]
public class SharpGameSolution : BaseGameSolution
{
public SharpGameSolution()
: base()
{
Name = "MyProjectName";
Globals.MONO_Win64_Dir = "C:/Program Files/Mono/";
Globals.MONO_macOS_Dir = "/Library/Frameworks/Mono.framework";
}
}
- You can check the status of the MONO plugin in the 'Help > About' menu in the editor.