Licensing Halo 1

Hello! I’d like information about purchasing a license to the Halo 1 source code that MacSoft was working on for the Mac version of Halo: Combat Evolved. I’m looking to get in touch with someone at 343i so we might discuss pricing and business plans.

Thank you.

microsoft is pretty touchy about the source code to anything. but if you do somehow aquire it, please fix the netcode

I don’t mean to sound flippant, but it seems like whoever is in charge of the licensing of this game died. Or perhaps there is so much bureaucracy involved that such a person actually does not exist. One cannot help but be baffled at the difficulty in reaching anyone, business representative or individual, upon this subject. Perhaps everyone simply picked up and left, spending their amassed fortunes on indefinite vacation leave?

What I mean to say is simply that I have had a most difficult effort attempting to contact the right person on this subject. I feel like whoever is in charge is indefinitely on lunch break, or gone fishing, or something.

By fixing the netcode, do you mean it should be made like Halo 2’s net code, where players do not need to lead their targets?

Since nobody has contacted me through this topic or via private message, I sent BS Angel a private message and expect to hear back from them within a week.

not having to lead you shots is physics within the game in halo 2. halo pc had a bad netcode that i think it had to do with it being designed to be able to use dial up connections. the xbox version is entirely host side and thats why hardly anyone plays xbc halo 1 and why even if you are on lan there is a host advantage

Hmm. You can read my little essay about the net code in different versions of Halo below, and I wonder if you’d have anything to add to it. I wrote this quite a long time ago, so I could now say things better, such as the fact that machine states only give the impression of synchronizing over the net because player positions synchronize and locally change the machine states for the client.

http://www.halodemomods.com/wiki/How_to_mod#The_Halo_Multiplayer_Networking_System

The Halo Multiplayer Networking System

Terminology

Network synchronization deals with several issues:

Latency (“lag”)
Difference in states between the host and the clients, measured in milliseconds as Ping. High ping numbers means higher lag, and thus a larger difference between what the client is seeing and what the host is saying actually exists.

Network Type
Either Local Area Network (LAN) or Internet. LAN means that the computers are connected directly to each other, whereas Internet means that there are other computer servers acting as middlemen. Direct IP is an alternate way of finding a host using an internet connection.

Warpage
Warping means moving in a skipped and jagged manner instead of smoothly, due to slow updates on an object’s actual position.

Leading
Aiming ahead of the target, in advance of their presumed trajectory, so that the trajectories of your projectile and the actual position of the enemy player collide. Higher lag means larger leading and aiming further away from where the moving enemy player appears on your screen.

Marathon
Local Area Networking (LAN) was supported in Bungie’s Marathon game trilogy, and later projects such as Aleph One expanded that functionality to include Internet multiplayer gaming with up to 8 players. The system would send map files to all the connected players during the launch of the multiplayer game. Thanks to common resources used by the engine such as the Shapes and Sounds files, these transferred map files were mere kilobytes in size. Thus, a player could download a new map from a web site like Simplici7y and then host a game without the clients needing to download the map from that site.

Network synchronization latency, or “lag”, was handled very simply: the hosting player of the game would suffer about as much lag as all the other client players. Data passed between computers on the network included the positions of players, enemies, projectiles and machines. Thus, any ping over about 400 milliseconds would result in all these moving objects in the game to warp for both the host and the client. The nature of the warpage was revealing of the type of network synchronization; from the players’ perspective, shooting directly at the enemy was not effective – instead, you had to “lead” both the targets AND the firing of your weapon. There was also a dramatic decrease in network performance with the addition of more playing clients, but not with the increase of non-player characters (NPCs) such as enemy aliens.

Halo 1
Bungie improved the network code with Halo 1, which also supported LAN and server-published Internet games, but this time with up to 16 players. No longer were there dramatic decreases in performance from having many players. However, map files were much larger, so players would need to download on their own any maps that were modified beyond the scope of information sent by the network code. Player positions, locations of re-spawing item collections, projectiles, vehicles, and anything else that fell into the category of CSS was sent over the net code. However, machine positions that would be toggled by control switch states were not synchronized, and there were no plans to include control switches in multiplayer maps. Any machine states that relied upon player locations would be synchronized by the net code for the player positions.

One might say that the network synchronization methods used by Halo were more efficient than synchronization methods used in Marathon. The hosting player would not experience any lag, but the lag was unique to the joining client players. Weapon triggers were no longer attached to the net code, so players could shoot and have an immediate response. Yet projectile position would still need to be synchronized, and the effect could be that a player would shoot and see their projectile moments later. Leading was a very large requirement for winning in Halo 1 multiplayer games. Typically, before a player would experience very much projectile lag, the game would “pause” a player’s controls and display a LAG icon on the bottom right hand corner to indicate that their ping was dangerously high and they risked losing the connection to the network game. A joining player’s connection to the host would typically risk being dropped if their ping reached over 1000 milliseconds (1 second), although players have reported much higher pings, even into the 2000’s. (Still, some players would abuse the system over Xbox Live’s multiplayer server games by switching off and on their modem at critical moments; more information on this exploit is available elsewhere.)

Halo 2
Halo 2’s networking code was a great improvement in synchronization, and supported up to 64 players. Like many other popular first-person multiplayer games, a triggered event would get sent as triggered to the host - the client would not need to wait for the host to tell them that their events were triggered. Machines could be toggled by control panel and players could shoot directly where other players appeared on their screen. Leading was no longer necessary, although warping did still occur with slower connections, even with fewer people than would trigger warping in Halo 1 games.

im quite confused because halo 2 doesnt support 64 players (although the netcode may).

Aren’t Halo 2 Vista game rooms up to 64 players? Or is it limited to 16 players?

> Aren’t Halo 2 Vista game rooms up to 64 players? Or is it limited to 16 players?

Limited to 16.

This is EmergedChutoy47. I no longer have access to my account. I sent BS Angel a private message a couple months ago and never heard back regarding this problem with my account.

Anyway, I used the e-mail address BS Angel gave me after spending lots of time preparing for licensing negotiations and I get a e-mail server denial error. So I tell this to BS Angel and mention that I lost my password to my EmergedChutoy47 account, and I have not heard back from them. I was expecting a reply within a week, but it has been several months now and not a word about any of this to help me. I’m not very happy.

Hmm… Imagine that…

Still no word yet from BS Angel. Apparently they never received my PM from almost three months ago, because it is still in my outbox.

I learned yesterday after reading the Game Content Usage Rules (through the grape vine) that the e-mail address I was given is not a private one. I can see why BS Angel gave me that address, so I’ll keep trying at it. Maybe one of my alternate e-mail addresses will go through.

Anyway, I would like to announce here that I have plans besides licensing Halo that you will soon all be a part of. Welcome, in advance.