User Tools

Site Tools


monogame:monogame

MonoGame

For more information on MonoGame, visit:

https://www.monogame.net

History of MonoGame

You can read about the history of MonoGame here: https://monogame.net/about/

History of Microsoft XNA

You can read about the history of Microsoft XNA here: https://en.wikipedia.org/wiki/Microsoft_XNA

The Pillar of Linkages

Funny name I know but I figured I would need a place to put all MonoGame and Game Development related links and it should be something monumental.

Visit The Pillar Of Linkages

Windows Questions and Answers

This section will list discovered answers to Windows development related topics.

Dedicated page here.

Mac Questions and Answers

This section will list discovered answers to Mac development related topics.

Dedicated page here.

Linux Questions and Answers

This section will list discovered answers to Linux development related topics.

Dedicated page here.

Useful Things

Here you will find a list of useful things that you may look up often.

GamePads

You can read more about the GamePad here.

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, including a visual editor, asset management, and a robust physics engine. Unity is ideal for both 2D and 3D 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: A game development platform built in C# that is perfect for 2D game development. It includes tools like Glue, which generates boilerplate code, and supports integration with popular formats like Tiled and Spriter.

Game Engine

Unity Engine: The core of Unity, which runs the game and provides essential services like rendering, physics, and input handling. Unity's engine includes internal tools for debugging, profiling, and performance optimization.

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, which focuses on 2D game development. It provides efficiency, stability, and features refined over two decades.

Game Framework

Unity Framework: The underlying structure that supports game development in Unity. It includes components like the GameObject system, MonoBehaviour scripts, and the Unity API, which provide the building blocks for creating games.

Unreal Framework: The underlying structure in Unreal Engine, including systems for actors, components, and blueprints. It provides the foundational elements needed to build complex game logic.

Framework

MonoGame: A framework for building cross-platform games using C#. It provides a simple API for handling graphics, input, and audio, making it a popular choice for 2D game development.

Raylib: A simple and easy-to-use library for game development, primarily using C. While it doesn't natively support C#, it can be used with C# through bindings like Raylib-cs⁵.

FNA: A reimplementation of the Microsoft XNA Game Studio 4.0 Refresh libraries. It supports C# and is designed to be a high-performance, cross-platform framework for 2D game development.

Stride (formerly Xenko): An open-source C# game engine for realistic rendering and VR. It provides a full suite of tools for game development, including a visual editor and asset management.

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/Assembly: The lowest level of programming, where developers write instructions directly for the CPU. This is rarely used in modern game development due to its complexity and the availability of higher-level tools.

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's architecture and optimize performance.

- Game Framework: Moderate effort to implement game logic and mechanics using the provided framework.

- Framework: Moderate to high effort, depending on the complexity of the game and the framework's capabilities.

- 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.txt · Last modified: 2024/10/10 13:58 by mrvalentine