The original Red Faction is a game that is close to my heart, as it largely kickstarted my interest in game development and especially 3D modelling. This game used to have a very active community of mapmakers who would use the included editor to make custom deathmatch maps as well as platforming challenge maps, colloquially known as runmaps or deathruns.
Looking back on this time and the small remaining community, I figured it was about time someone made a standalone game for those runmaps, one equipped with better tools to make the challenges fair. I also liked the challenge to reverse engineer the game's mechanics and use them to create a new game.
Over the span of a few months, with the help of prior works done by Rafalh I managed to realize this and created Unity_Faction. I eventually made the code freely available, for anyone else interested to do something with old Redfaction content.
You can download and play the game for free on GameJolt
UnityFaction is based on reverse engineering for RFL file types. This way, the contents of a given level can be loaded in a standard format. The second step is to translate this data into a Unity format. Some features have an obvious 1 to 1 correspondency, like RFL textures to Unity materials, Redfaction V3D to Unity prefabs, Redfaction lights to Unity lights, but some features had to be scripted and added to Unity, such as pushing regions, decalls, movers and georegions, among many others. In addition, stuff like 3D meshes are structured differently and require complicated porting. Not to mention recreating the visuals and feel of the character itself.
Special thanks to all the map makers, for their beautiful and less beautiful content. (Note that everyone gave permission to have their maps included!)
It all ended up working quite brilliantly, though I expect the format of the game is not a big recipe to success. I leave the game mostly finished, with only detail work remaining. If demand goes up I will work on improving the game, but for now I plan to return to my main projects.