Well it’s been awhile since the initial public release of Project Cartographer came out and not much has happened publicly since.
We haven’t been to big on updating this page with news and I think it’s time we offer a little bit of insight on what’s been going on internally development wise as well as how the project is currently doing.
First, The project has been doing extremely well we’re gaining more players by the day and people are loving it. I’m told that things are more stable then they were even when things were running on LIVE and that join lag has improved in comparison.
While some of the players aren’t from the country or speak the language which things are being developed in we can’t offer news to these people because of this in their foreign language we hope that the rest of the community can help deliver news to them for us.
Let me continue by saying I’m really excited with the way things have been going and the attitude the community has been showing towards the project and I truly appreciate it and because of that dedication we’re getting from the small community of players we have we’re able to give back our own dedication to development as well as feel good about giving back to the great community we have, with that being said let me tell you guys what you have to look forward to in the next release of Project Cartographer.
Release v0.3 BETA
This release will be offering a bunch of new goodies to enjoy and thanks to us having another developer joining us “Rude Yoshi” we can make even more things happen within less time.
With that being said I’d like to officially welcome “Rude Yoshi” to the project cartographer development team.
One of the new changes coming with this is that I’ve moved the source code from Gitlab to GitHub and I will be committing the official project cartographer changes actively ( https://github.com/PermaNulled/cartographer ).
If you’re a developer and would like to help us out drop by discord some time, shoot me a message on here GitHub or etc lets make halo 2 great again it was one of my all time favorite games when I was a kid and that’s one of the main reasons I don’t mind bringing it back and getting to enjoy a classic.
With V0.3 (BETA) you have a lot to look forward to but the main things that will catch your eye are,
- Improved network code
- Improved server list
- Integrated Voice chat
- Infection, Gun Game (Properly supported)
- Lower latency
- Faster join times
- Less join-lag
- Custom Map downloading
- Latency displays
For a detailed explanation keep reading…
Improved Network Code
The network code in project cartographer has been completely re-written in order to support halo2 specifically instead of being an XLive universal system which was the original intention during the initial development with this brings us lower latency, faster join times and over all improved game stability.
Improved Server List
Currently the way the server list works is it relies on relaying packets from clients and servers through a “broadcast” server this all works by hacking the network protocol so that when something attempts to send a LAN “broadcast” packet we redirect it to the Project Cartographer “broadcast” server from there it reaches out to the other people playing and the other servers registered in it.
With this came some obvious restrictions such as servers don’t automatically broadcast meaning starting dedicated servers was a rather complicated process where you had to first initiate a connection to the “broadcast” server before actually launching your Dedicated server, the other issues encountered were that with added network latency you wouldn’t always see all of the servers.
On the back-end side of things for us here at Project Cartographer this also meant added latency we’ve used a whopping 150GB in about a week of bandwidth just from usage of the broadcast server, this surely wasn’t intended to be handled this way but the approach itself was a quick proof of concept that we could restore Halo 2 Vista’s multiplayer as well as other XLive games without needing tunneling software and such and that removing GFWL would have a positive impact on things with this being said our intentions are not to circumvent any security which was intended to stop this game from being subject to piracy in any way and we do not condone piracy either.
The only intention of project cartographer is to allow people to play together online where it’s no longer officially supported in a fashion which doesn’t require installing virtual network adapters and introducing security risks to our home networks.
The actual “improved” part of this comes into play where we scratch the idea of broadcasting packets and start populating the lists our selves.
I’ve reverse engineered the methods which the game uses in order to populate the server list and with this we will start pulling data from that location and that location only.
The idea is rather then having each person talk to servers through a “broadcast” server and things constantly being sent back and fourth in a p2p structure we’ll be delivering things direct from a server list system.
As an example when you start up a dedicated server we’ll simply push the data behind that dedicated server to the master server and your client will request data from there every so often rather then it being instant, some people see this as bad thing because they won’t see games as quickly or see updated player counts as quickly but it gives us the added benefits of reducing bandwidth on both sides of the spectrum as well as guaranteeing that the list is stable and you don’t see things disappearing while you’re trying to join them.
Integrated Voice chat
With the help of the TeamSpeak SDK we’ve integrated voice chat into the game in a seamless way, this does not mean that you’ll need team-speak installed nor team-speak server.
What will happen is when you host a game your game will in the background automatically open a connection for a team-speak server this will happen with dedicated as well.
Now how this integrates into the game chat and makes it seem as if it were real halo 2 game chat is we reverse engineered the functions that were used when people talked previously and we activate them meaning that while in the game when someone talks you will actually see their microphone light up!
The only thing that will feel different for the average player not on the back-end of it all is that sweet new improved voice quality that GFWL never offered us.
Infection, Gun Game (Properly supported)
This part was a bit confusing because I specifically mentioned (Properly supported) and this was for a reason.
You see Gun Game (Arms Race) already exists in the current builds but there’s no way to activate it other then manually doing so via the INI file… and without that it’s pretty useless.
So on to what I mean by properly supported first then we’ll go into detail about each and how they’ll work…
So the way we’ll be supporting this functionality is most likely by triggering it when a specific game-type is loaded for instance if you create a game type in the game called “Gun Game” we’ll load it during the time that it’s selected to make the whole process smoother, we’ll be doing the same for “Infection” (Zombies).
Now I’ve previously discussed and showed off videos of Gun Game in action and it was quite fun when we did play it, but obviously without the option of turning it on and off and the fact we don’t currently support dedicated servers with it, it’s rarely played.
But what we haven’t discussed is what our plans are for how “Infection” will work…
Infection by tradition is played with two separate teams where one team is the zombies and the other are humans, now halo 2 itself never had actual support for the game type and I believe they had finally added real support into Halo 3.
What we’ll be doing is actually forcing one player to start off on the zombies team and due to the control that was offered with the reverse engineering done while developing gun-game we’ll remove the zombies weapons only giving them the “zombie weapon” which is typically a sword.
While also only giving the humans the typical “human weapon” which was the Shotgun in my experience.
When a player is killed by a zombie not only will we be making sure their teams switch automatically like you would see in the newer series of halo, but we’ll also be playing the “You are infected” sounds along with it to add to the entire experience and we hope it’s one we can all enjoy.
With the improved network code there will be a lot less communication to our master server when attempting to get data about users things will be based more on a p2p aspect which is actually a good thing for the information exchanges we’re dealing with.
With this we can expect that latency will improve to some extent though we can’t really estimate or cover that extent in detail we can tell you it should improve the latency over all.
Faster join times
With the combination of the improved network code and new server list system the time it takes to actually join into a server should be noticeably improved, with this you should also notice a reduced amount of join-lag ( lag which is introduced to other players in a game/server when another player is attempting to join the game ).
Custom Map downloading
The original halo 2
Vista (PC, we shouldn’t even call it vista anymore….) experience while connected to GFWL / LIVE offered custom map downloading when attempting to join a game which had well a custom map…
With the introduction of Project Cartographer we regretfully removed this functionality due to the fact we had transferred things over to using the LAN functionality which never offered this feature.
With the Beta release we hope to re-introduce this feature except this time we’ll be doing it differently from GFWL and we’ll be introducing it in a way where if the map is available on our dedicated servers we’ll be downloading it direct from there instead of P2P based on the server hosting it.
Reducing both bandwidth usage for the server and the time it takes you to download the map it’s a win, win for both sides of the spectrum.
Another feature which Project cartographer regretfully and unintentionally removed besides map downloading was the display of your current latency (ping) as well as those of servers.
This is something we will be tirelessly working to re-implement as we see it as a crucial component to competitive game-play.
With this we will be introducing it in any way we can find possible to do so right now there’s different discussion on different ways we can make this happen but won’t be able to give anymore detail on how this will actually work until we’ve gone over it and have a working implementation.
Right now what we can say is that it will most likely be actual numbers displayed on the screen now instead of the original latency bars which halo offered.
With all of that to look forward to we hope you guys are excited for the future releases of project cartographer and would like to thank you all for playing and making this a fun project to continue developing.