I’ve been busy these last few days, trying to add new stuff to Killplex. The roadmap I’m following is not by any means a definite plan, as I’m just reading what’s on the list and implementing what makes more sense first.
Here’s some of the stuff on that list:
– Map sections that affect world entities.
– A mode based on Battlefield’s Rush mode.
– A mode based on classic Capture the Flag mode.
– A mode based on Counter-Strike’s Defuse/Classic.
– A mode that mixes TF2’s MvM and CoD’s Zombie mode.
As you can probably tell, there’s a whole lot of work to be done, and that’s just on modes by themselves. Yes, I intend Killplex’s multiplayer to have a variety of them, and right now with Domination and three variants of Deathmatch, I’d call it a little thin for my tastes.
So, what am I doing right now?
I’m working on the map sections. These will affect some world elements, that range from player movement speed to being out of acceptable bounds of gameplay. This last one is pretty much a necessity (and the only one I’m really focusing on right now) so that, later, I can implement some game modes, specifically the Rush variant.
It won’t be called Rush, for obvious reasons. For those who don’t know, it’s a mode that first appeared on Battlefield Bad Company (that’s where I first saw it anyway). One team attacks M-Com Stations, and the other prevents them from blowing up. When the area’s M-Coms are blown up, the Defenders fall back to another section of the map, previously out of bounds, and their previous base would be the new spawn point for the attackers. The game runs on reinforcement tickets. Each time an attacker spawns, a ticket is lost. This will happen until tickets reach Zero. If that happens, the Defenders win, unless the Attackers manage to blow all of the map’s M-Com Stations before the tickets run out.
Why are Map Sections needed here? Because of the whole “blowing up bases and unlocking new map sections”. This allows for Killplex to make a zone out of bounds, and to make it available for players to walk on when an M-Com is blown up.
This is only half of what I’m working on. I’m also working on a way to make this easy to develop. Which is why the Server API came up. Sounds scary, right?
The server API would be composed of an interface between the game runtime (C#, which you cannot edit) and user-made code (Python, which you can). The users would be able to bind certain game events to custom methods and modifiers. For example, when an entity of the type ApiEntityMcom (temporary name) fires its “blown_up()” event, you could do something like “sv.sections[‘sectionName’].out_of_bounds = false”… See where I’m getting at?
You could also do cool stuff like, for example, a Gungame mode, where, if a player was killed, his killer would have his weapon changed to another, and so on.
This is still pretty much in development, but the basic stuff is already working (still needs tweaking). When the API is out (and I’ll need your input to expand it), I will try to release proper documentation. I won’t, however, teach you how to develop in Python. You’re pretty much on your own with that.
I will probably release a new build of the game sometime next week. Even if it has bugs, because that’s what an Alpha is for… Right?
Until then, if you have any questions, please don’t hesitate in leaving a comment below, and I’ll try and reply to them in a classy fashion.