Game is advancing…

Today, I fixed a major bug on the Mapper, where it wouldn’t allow the NumberDecimalSeparator to be written in a textbox. Not anymore. I also fixed a bug where the player colours were messed up, on regular Deathmatch they were always getting red instead of neutral (red is the default color for Team A, blue being Team B, etc).

Bug fixes apart, I started writing the bullet code. For now, the player can shoot when the left mouse button is released after it was pressed (basically a mouse-up action). The client doesn’t check for firing rates nor reload checking, and the bullet is created and sent to the server.

The server reads the bullet and basically sends it to all clients in-game. The game reads the packet and it sorts it all out. The bullet is then updated regularly.

The collision checks are also mostly complete: it disappears when outside the bounds of the map, when crashing against a tile or when crashing against all players except for the “bullet owner” (who shot it). Only thing that is missing is when checking against the players… basically the client will send a packet to the server indicating the bullet hit a teammate/enemy so it can do game logic: confirming if the player was really in the spot, checking if it hit a teammate, if team-killing is on, and so forth, and then do the corresponding action.

It’s pretty stable and fast, doesn’t crash either instances (server nor client), and the lag doesn’t seem to play a major factor. The only factor I can think of is during collisions: if player positions are behind, the hitboxes are probably not going to be accurate. But that happens in all games, right?

…right?

Anyway, besides server game logic, I’m also lacking a weapon selection system. I’m probably going to have an array of weapons available with default settings, and the server will be able to tweak/disable weapons accordingly. As for which weapons will be available, I’m not going to discuss it now, mostly because not even I know that. For now.

Also, each bullet has its own light. But they’re not like in the video below, where I was purposely testing out the lighting engine… they will be weaker and have different color tones according to the weapon. So don’t freak out.

The game that is called Killplex.

Yes. Killplex.

One year ago, I had a dilemma. Me and my friends couldn’t find a co-op game that each one of us could play. All the good games were paid, and also very CPU and GPU intensive, which some of us couldn’t afford to run. So, I started making marching through terrain I never explored before: Game Development. I found XNA, which is a beautiful framework to work upon, and with that, I started making a game. At the time it had no name, it was just a rough concept, but a simple one at that: a multiplayer shooter that wouldn’t be very resource-heavy, and would allow me and my friends to play together through a course of maps, killing bad guys and such.

The concept proved hard, because I had no experience in making games, but I delved into it anyway. Me and my friend Nundril (that’s his nickname) conceived a simpler concept though: a 2D shooter, where people would play against each other, instead of AI.

But why Killplex? Maybe because I was playing Ratchet & Clank at the time, and the Battleplex name latched on. But I couldn’t use it because it was already taken… And that’s the origin of it.

I worked on the server and client simultaneously at the time, not caring about maps or lighting or collisions. That was my first mistake. Even though players could connect and kill each other, they had no HUD, no maps, no effects, the bullets had little range before they were erased (so they wouldn’t travel infinitely), and the code was pretty much a mess. I got demotivated and didn’t grab it again. Until this year.

I restarted the project on September 4th, started making the code all over again. But this time, I would first focus on things I had no knowledge of, like doing and reading maps from a PNG file, doing collisions with player/walls, lighting, etc. And after a few tries and some rollbacks, I made a small engine. That engine would be powered by Lidgren and Krypton, and would also have a map editor. Which I will show you now.

What you’re seeing in the video is the first version of the Killplex Mapper. It’s a tile editor that’s also an entity manager. Supports maps up to 300×300 tiles (it’s a temporary limitation), and the tilesets have up to 256 tiles, 32×32 size each.

The maps are WYSIWYG, so all the lighting and shadowing is dynamic, and the maps appear like that on the game. Speaking of it…

Killplex is a 2D top-down multiplayer shooter. It will support up to 16 players (at least for now), and in its first version it will have three modes: Deathmatch (16 player mayhem), Team Deathmatch (8vs8) and Squad Deathmatch (4 teams, 4 players each). I know, it’s a little too much deathmatch, but I intend on finishing it first before adding more modes. I have them planned, but I won’t reveal them now.

As for release plans, I intend to release it when it’s done(TM). It’ll be for Windows only (since it’s on XNA), it’ll be free, and I will update it with new content and gameplay changes regularly.

I will show images of the game soon. I have some stuff made, like server connection, map loading, spawning and switching teams, but there’s still a lot of work to be made. Meanwhile, you can ask me questions in the comments below, and I shall answer them.

Oh, and today is September 21st.  For roughly 12 days of work (I’m not working on it everyday, I do have a life, you know), that’s not too bad.

Guess what… I’m back.

I’m going to start blogging primarily in English. I might volley a bit, though…

I’m not going to post a lot of stuff today, just trying to get used to the new Dashboard (it’s been a while since I’ve been here), updating the layout and stuff. Hopefully I won’t lay doom and waste on it.

In the next few days I’ll be talking about a new project I’ve been doing: a game. Yes, I’m making a game. A 2D top-down multiplayer shooter, to be exact. But that’s for later.

Also, I’ve been wondering: should I update WoW Launcher to a new version? Most importantly, translate it to English? I haven’t worked on it this year because: 1. I don’t play WoW anymore; 2. I don’t really want to bloat the program with unnecessary stuff, so I kept it simple (and nobody reported bugs… which was nice). It gives me pity to see a potential good program not being updated when it’s the No. 1 search term looked on this blog. It’s still on the Wrath folder structure… in VB! Oh well. Leave me a comment about this, because I really want to hear feedback from you.

Oh, and I had 19.6 (on a scale of 0 to 20) on my final project (PAP) last year. And I’ve started working on a web development company since. So that’s nice.