Skip to content

HaloUnity's project information and mission statement; essentially its White Paper.

License

Notifications You must be signed in to change notification settings

HaloUnity/ReadMe

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 

Repository files navigation

##Mission Statement

HaloUnity strives to create an opensource subset of Halo 3 that offers an authorative distributed server (client-server) model with an emphasis on ranked and unranked matchmaking.

##Technologies

###Game Engine https://unity3d.com/ Unity3D is a free, modern and productive game engine to develop applications in. Offering C#/.NET at the scripting layer provides for unparalleled productivity.

###Networking https://github.com/HelloKitty/GladNet2.0 GladNet2 is an in-development networking API that can be implemented around other lower level networking libraries. Specifically HaloUnity will be utilizing GladNet2 with Lidgren underneath. The reasoning for this is not only licensing, platform deployment and bandwidth considerations but most importantly it matches the requirement of the network protocol of Halo 3.

###Networking Protocol http://gamedevs.org/uploads/tribes-networking-model.pdf HaloUnity will implement the TRIBES Networking Protocol. GladNet2.Lidgren is a perfect networking library to implement this protocol as Lidgren offers reliable/unreliable UDP with the ability to designate ordering or discarding stale packets. These meet the four main transmission criteria for implementing the TRIBES protocol.

Why are we using the TRIBES Protocol? This is because Halo 3 and Halo Reach are based on this protocol and is a proven protocol which is discussed in the GDC talk about Halo: Reach Networking http://www.gdcvault.com/play/1014345/I-Shot-You-First-Networking

###Physics This is a difficult decision. Physx is all that is currently available in Unity3D however it's well known Halo is built upon the Havok physics engine. It is out of the scope of this project to integrate Havok with Unity3D by writing a C# wrapper. Nobody will stop you from doing so but getting parity with Physx in Unity, which isn't even the full Physx, would be a difficult challenge. Physx 3.x in Unity5 should suffice

###Graphics Halo 3 graphics pipeline was incredibly complex. It would take a small team of professional programmers awhile to implement the material and lighting system of Halo 3 in Unity. This is likely out of the scope of HaloUnity however if great minds come together, preferably ones with degrees in Mathematics, then it may be possible. Halo 3 uses a Cook Torrance BRDF material system with Spherical Harmonic lightmaps. We can get approximations with Unity5's Enlighten GI but it's not as close as one would like. If you're up for the challenge the material and lighting solution is partially described in this paper http://amd-dev.wpengine.netdna-cdn.com/wordpress/media/2013/01/Chapter01-Chen-Lighting_and_Material_of_Halo3.pdf and other referenced papers.

About

HaloUnity's project information and mission statement; essentially its White Paper.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published