monogame:monogame
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
monogame:monogame [2023/12/17 18:14] – [History of Microsoft XNA] mrvalentine | monogame:monogame [2024/10/10 13:58] (current) – [Tool Engine] mrvalentine | ||
---|---|---|---|
Line 7: | Line 7: | ||
===== History of MonoGame ===== | ===== History of MonoGame ===== | ||
- | You can read about the history of MonoGame here: https:// | + | You can read about the history of MonoGame here: https:// |
===== History of Microsoft XNA ===== | ===== History of Microsoft XNA ===== | ||
- | You can read about the history of Microsoft XNA here: | + | You can read about the history of Microsoft XNA here: https:// |
===== The Pillar of Linkages ===== | ===== The Pillar of Linkages ===== | ||
Line 41: | Line 41: | ||
You can read more about the GamePad [[monogame: | You can read more about the GamePad [[monogame: | ||
+ | |||
+ | ===== Where Does MonoGame Sit ===== | ||
+ | |||
+ | ==== Tool Engine ==== | ||
+ | |||
+ | **Unity**: A widely-used game engine that supports C# scripting. It offers a comprehensive suite of tools for game development, | ||
+ | |||
+ | **Unreal Engine**: Primarily uses C++, but it also supports C# through plugins like UnrealCLR. Unreal Engine is known for its high-quality graphics and is often used for AAA game development. | ||
+ | |||
+ | **Godot**: An open-source game engine that supports C# scripting. It provides a flexible scene system, a visual editor, and a variety of tools for 2D and 3D game development. | ||
+ | |||
+ | **FlatRedBall**: | ||
+ | ==== Game Engine ==== | ||
+ | |||
+ | **Unity Engine**: The core of Unity, which runs the game and provides essential services like rendering, physics, and input handling. Unity' | ||
+ | |||
+ | **Unreal Engine**: The core of Unreal, which handles rendering, physics, and other low-level operations. It includes powerful internal tools for animation, AI, and networked multiplayer. | ||
+ | |||
+ | **FlatRedBall Engine**: The core of FlatRedBall, | ||
+ | ==== Game Framework ==== | ||
+ | |||
+ | **Unity Framework**: | ||
+ | |||
+ | **Unreal Framework**: | ||
+ | |||
+ | ==== Framework ==== | ||
+ | |||
+ | **MonoGame**: | ||
+ | |||
+ | **Raylib**: A simple and easy-to-use library for game development, | ||
+ | |||
+ | **FNA**: A reimplementation of the Microsoft XNA Game Studio 4.0 Refresh libraries. It supports C# and is designed to be a high-performance, | ||
+ | |||
+ | **Stride (formerly Xenko)**: An open-source C# game engine for realistic rendering and VR. It provides a full suite of tools for game development, | ||
+ | |||
+ | ==== Raw Calls ==== | ||
+ | |||
+ | **C++**: When performance is critical, developers might use C++ for low-level operations. This involves writing code that directly interacts with hardware or the operating system, bypassing higher-level abstractions. | ||
+ | |||
+ | ==== Bare Metal Coding ==== | ||
+ | |||
+ | **Machine Code/ | ||
+ | |||
+ | ==== Effort Required ==== | ||
+ | |||
+ | - **Tool Engine**: High effort for initial setup and learning the tool, but it significantly speeds up development once mastered. | ||
+ | |||
+ | - **Game Engine**: Moderate effort to understand the engine' | ||
+ | |||
+ | - **Game Framework**: | ||
+ | |||
+ | - **Framework**: | ||
+ | |||
+ | - **Raw Calls**: High effort due to the need for detailed knowledge of the hardware and low-level programming. | ||
+ | |||
+ | - **Bare Metal Coding**: Very high effort, requiring expertise in assembly language and hardware architecture. | ||
+ | |||
+ | By focusing on C# and using C++ only where necessary, you can leverage the strengths of both languages to create efficient and high-quality games. Yes, you can use C++ in C#. |
monogame/monogame.1702836887.txt.gz · Last modified: 2023/12/17 18:14 by mrvalentine