⭐What's special?
Learning Resource: C#-Powered Engine Development
High-Level Language: Our goal is to harness the power of the C# language to simplify engine development, making it as accessible as possible for beginners. We've designed our learning resource to provide a comprehensible codebase with well-documented scripts, ensuring that newcomers can readily grasp the underlying logic.
The New Era of Rendering: As we progress in the development of this engine, we're committed to incorporating cutting-edge features. These include implementing FFT Post Processing Effects and rendering methods inspired by the likes of Nanite and Lumen, utilizing a C# equivalent version. These advanced features are set to reshape the landscape of game development and are currently under development by the community for the Unity Engine.
C# All the Way: Our C#-powered engine is not only about accessibility and ease of learning; it's also incredibly powerful. By unifying the engine and the script language, we provide developers with direct control of the engine at the scripting level. This integration empowers you to harness the full potential of the engine, enabling you to craft highly customized and performant applications. With C# as the driving force behind both the engine and your scripts, you have the freedom to push the boundaries of what's possible, making your game or application truly unique. Whether you're a beginner or an experienced developer, this approach offers you the flexibility and control needed to create outstanding projects.
Zero Abstraction
The Engine builds on top of the DirectX Graphics API and uses it directly with no abstraction to support other Graphics API's
Advantages
Performance: By using a low-level graphics API like DirectX directly, you can achieve maximum performance and efficiency. You have fine-grained control over the hardware, which can be crucial for demanding real-time applications, such as games.
Feature Accessibility: You have direct access to the latest features and capabilities of DirectX, allowing you to take full advantage of cutting-edge graphics technology.
Low-Level Control: You can finely tune and optimize your code to suit your specific needs. This can be critical for creating high-performance graphics applications.
Learning Experience: Developing directly with DirectX can be a valuable learning experience, as it requires a deep understanding of graphics programming and GPU architecture.
Disadvantages
Lack of Cross-Platform Support: DirectX is not available on non-Windows platforms. If you intend to target multiple platforms, you'll need to rewrite your graphics backend for each target, which can be time-consuming and error-prone.
Maintenance Overhead: With no abstraction layer, maintaining your engine across different versions of DirectX can be challenging.
Newest .NET Version
Cutting-Edge Features: Access the latest features and enhancements directly within your engine, providing an up-to-date and competitive edge.
Performance Boost: Utilize the speed and performance improvements of the newest .NET version, surpassing Mono, a fork of .NET.
Enhanced Language Features: Leverage the latest C# language features, making code more expressive, concise, and maintainable.
Improved Security: Benefit from the security enhancements and best practices integrated into the newest .NET version, ensuring a more robust engine.
Optimized Resource Management: Take advantage of resource management improvements that enhance efficiency and memory utilization.
Seamless Integration: Enjoy smoother integration with other modern development tools, libraries, and frameworks, streamlining your workflow.
Compatibility and Interoperability: Ensure compatibility with the latest platform technologies, third-party libraries, and cross-platform deployment.
Community and Support: Tap into a thriving developer community and an extensive support ecosystem, helping you resolve issues and learn from others.
By embracing the newest .NET version and the latest C# language features, you can supercharge your engine development efforts, unlock advanced capabilities, and stay at the forefront of technology in the ever-evolving world of software development.
Entity Component System (ECS)
Architectural Pattern: ECS is an architectural pattern commonly employed in video game development.
Data Separation: ECS separates data from behavior, promoting code reusability and maintainability.
Composition Over Inheritance: It follows the "composition over inheritance" principle, allowing for greater flexibility in defining entity behaviors.
Entities in a Scene: ECS helps developers manage entities within a game's scene efficiently, where everything is categorized as entities.
Performance Benefits: One of the advantages of ECS is its improved performance. It stores all the necessary data in the same memory location, eliminating the overhead of searching for it during execution.
Last updated