How I Develop Project Reality (and Other News)
Posted: 2024-06-21 09:25

This post highlights the languages and tools I use to develop Project Reality: BF2. These tools are free and open-source software.
I want to emphasize that you do not need the latest or paid software to contribute meaningfully to Project Reality. I did not acquire these skills overnight. It took me from 2021 to 2024 to learn these languages and tools as I continued my development for Project Reality. I only knew HLSL and GitHub Desktop when I first joined the team.
Languages
- C#: Used for bug-fixing and generating essential Project Reality features.
- HLSL: The shader coding language for Project Reality's graphics.
- Python: Used for gameplay mechanics, such as game modes and logic.
- PowerShell: I use PowerShell to automate tasks related to Project Reality, such as finding duplicate files in the codebase.
- Regular expressions: Regex is necessary for finding and replacing code patterns in object files or localization.
- Visual Studio Code (C#, HLSL, PowerShell, Regular expressions): My primary tool for prototyping C# scripts, developing HLSL shaders, writing PowerShell scripts, and editing Project Reality's code. It's also essential for large-scale find-and-replace using regular expressions.
- PyCharm Community Edition (Python): My go-to text editor for coding Project Reality's Python. I chose PyCharm for Python due to its active development, Python 2 support, and user-friendly design for refactoring code.
- AMD Compressonator (Textures): I use AMD Compressonator to inspect textures. However, AMD Compressionator can generate mipmaps and automate texture compression and transcoding.
- Texconv (Localization): I use DirectXTex's Texconv tool for the automatic generation of mipmaps and the transcoding of textures.
- GitHub Desktop (Localization):I utilize GitHub Desktop to contribute to Project Reality's open-source projects. Its user-friendly interface makes contributions easy without using the command line.
I wanted to share some exciting news with you. Ekiso from Forgotten Hope 2 has recently developed a highly useful Blender Addon specifically tailored for modeling and animating Battlefield 2 assets. This incredible tool supports importing and exporting various asset types, including Skeletons, Animations, and Meshes such as Static, Skinned, Bundled, and Collision.
[R-DEV]Ason made a YouTube tutorial on how to use this Blender addon: