State of Play

Just to summarise on details of the code, DCs and PCFs positions etc:

1. Since the code developed includes licenced copies of the Havok engine, it cannot be re-distributed without breaking the licensing agreement.

2. Most of the modding has taken place by hacking changes to the LUA, and in some places guessing/probing the structure of the EXE/DLL code. Within the LUA, you are unable to change the core of the code, such as network code.

3. Editing the code to create playback demos *should* be the equivalent of allowing the client to connect in a passive mode to a virtual server (i.e. netdemo). Ideally this is done at the network level (within the core). A work-around might be to run a server and have bot-actors move around based on logged position/velocity data from the LUA only. Basically for such a process you would have to log every event and all the entity positions and states often enough for a smooth playback. During PK++ development this was started, but delayed since it looked as though PCF might finish their work.

4. PCF do not own the code, DC do (both the code and the branding). PCF were contracted lastly to work on the XBox version, but are now working on new projects along with their new publisher THQ. DC were recently ACQUIRED by JoWooD. DC havent given any clear indication yet of Painkiller 2, but if they do it will not be developed by PCF.

5. Multiplayer within PK was only ever thought of at a late stage for something that could be done with the SP game. The amount of time and effort put in was minimised on the MP part. This was also true for any commitments to the CPL, most of which were not even a real concern of PCF. The CPL were driven to use PK mainly because of the opportunity to have CPL branding on a retail game (regardless of whether it was popular in the MP community or not).

6. Neither DC nor PCF had sufficient testing facilities for MP testing. Most of the MP code had minimal one-off testing which explains the vast number of bad bugs seen.

7. Netcode after version 1.35 was an attempt to improve the number of players on the server, as well as allowing more configuration for different types of connection. Following a beta test (run by pkeuro), no more work took place on the netcode, and it was left. Further improvements could have been made, particularly either if PCF had continued the work, or had the netcode code been made available to mod developers. If the latter had been the case, we might have seen something compariable in terms of netcode to Quakeworld or similar by now.

8. Rocket jumping in 1.62 was broken due to some false testing. This issue was only resolved in PK++. Additionally many of the other bugs still exist in VPK, such as mis-timing on items, random telefrag kills, no spectator HUD, and so on.

Leave a Reply