mukia-engine
0.3.3
dotnet add package mukia-engine --version 0.3.3
NuGet\Install-Package mukia-engine -Version 0.3.3
<PackageReference Include="mukia-engine" Version="0.3.3" />
<PackageVersion Include="mukia-engine" Version="0.3.3" />
<PackageReference Include="mukia-engine" />
paket add mukia-engine --version 0.3.3
#r "nuget: mukia-engine, 0.3.3"
#:package mukia-engine@0.3.3
#addin nuget:?package=mukia-engine&version=0.3.3
#tool nuget:?package=mukia-engine&version=0.3.3
<div align="center">
<h3>Mukia</h3> An open-source Game Engine
<i>Engine Test</i>
</div>
Use the Project
Prerequisite: DOTNET
Using Bash
- Download and extract the release (NOTE: gzip decompressor needs to be manually installed)
- Run the script
Manually
- Download and extract the release (NOTE: gzip decompressor needs to be manually installed)
- Remove the
install.shas it's not needed - Create a Project Directory
- Open the Terminal into your Project Directory and run
dotnet new console - Then, run
dotnet add package mukia-engine - Finally, move all files in
install-assetsand move the folders:resourcesandshaders
Scenes
Loading Demo Scene
ZombieSurvial demo
When getting an error check:
- Does the scene folder have any malformed text
- Is this
resource\scene\directories is created - Forgot to add the
SaveNodeattribute, or uses the wrong name - Make an issue on the github project
Publish Game
To publish your code use:
dotnet publish --output <output> -r <os> --self-contained
Loading Scenes
ZombieSurvial load <path-to-scene>
When recieving an error, do the same steps in the Loading Demo Scene.
Scene Formating
Editing a file scene directly is not suggested
Node should always come first
A node declearation should be the first thing in scene, with all of the properties under it.
e.g.
# Node
[engine.camera local-id='1' parent='0']
# Properties of Node
MukiaEngine.Vector3 Position={"X":0,"Y":0,"Z":0}
MukiaEngine.Vector3 Rotation={"X":0,"Y":0,"Z":0}
MukiaEngine.Vector3 Scale={"X":1,"Y":1,"Z":1}
System.String Name="PlayerCamera"
Type Name=Value
Node declearation properties should be as follows:
- Type: as in full name (so
floatbecomesSystem.Single) and be or inherit the type in the node class. - Name: The name should also be in a valid name, in the node's type
- Value: in the JSON format (allows for number literals like
NaNor infinity)
local-ids should not duplicate
Local id's should be unique and should not be duplicate in multiple Node declearations. For example:
# fine
[engine.node local-id"1" parent="parent"]
# results in error, or unknown behaviour
[engine.node local-id"1" parent="parent"]
No parent is a 0
To declear that node is parented to tree, add 32 0s.
[engine.node local-id"1" parent="0"]
Meshes
To convert a .obj to a mesh usable in the Engine.
- Export the mesh as an .obj
.
- Use the command:
py tools/mesh_converter.py [obj-file-here] [export-file-here]
To be noted, the script only supports .obj files and is surport to handle one object.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net9.0
- CommandLineParser (>= 2.9.1)
- nulastudio.NetBeauty (>= 2.1.5)
- OpenTK (>= 4.9.4)
- StbImageSharp (>= 2.30.15)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.