Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length

 
Advanced search

1352921 Posts in 62429 Topics- by 54175 Members - Latest Member: hawkdanny

December 18, 2018, 06:29:03 PM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsTankoids - a real-time multiplayer artillery game [DEMO]
Pages: [1]
Print
Author Topic: Tankoids - a real-time multiplayer artillery game [DEMO]  (Read 784 times)
vbo
Level 0
*


View Profile WWW
« on: November 24, 2016, 03:39:40 PM »

Hello everyone,

We've been working on this for about two weeks now. The core gameplay prototype is ready and we are somewhat happy about it. So we thought it's a good time to start a devlog.

The idea is to build a real-time multiplayer action game on top of Worms-like artillery shooting and explodable terrain mechanics. Each player controls a single unit - a slowly moving armoured vehicle which shoots high-explosive projectiles. The terrain starts as a smoothly curved surface and gets deformed with each explosion causing the landscape to change dramatically over the course of a game round. Every game session is somewhat unique in this regard. When the map terrain is mostly destroyed the next map unveils itself on the background and the battle gets smoothly transitioned to the new ground.

Here is some in-game footage - actually multiplayed over the internet:





Some screenshots:





We don't have any plans for a single-player experience as of now. We wanted to start with a solid deathmatch implementation and then maybe experiment with co-op and team-based modes. We haven't figured out what the weapon/ammo system should look like just yet and whether we'll go with class-based, loadout-based style or something else.

Another area of exploration is the size and layout of the map. The current version has a very small map which fits a single screen. This creates a very fun and dynamic gameplay but is very limiting in terms of tactics. Tankoids move slowly by design so larger maps would be a bit boring to traverse unless we come up with some sort of a quick transportation mechanic or appropriate number of players.

Tech
The server is written in Go and we think it's a good fit. We are pretty happy with it's performance for now and there are still lots of optimization opportunities. It remains to be seen whether we are going to distribute the server software with the game or just provide free hosted instances but it's technically possible to do both with Go which is always a plus.

For the client we started with a simple browser-based implementation in javascript. Performance is not so bad in modern browsers and we run it at 30FPS to not set your laps on fire. Functionally it is playable but there is currently no client side interpolation whatsoever so animations look a bit choppy. I would definitely like to build a real desktop client for the game but for now this way is easier for us to iterate on and distribute new versions - all clients magically always run the most recent version without any hassle on our side.

The client-server communications go over TCP (which is pretty much the only option for the browser). Fortunately the game is relatively slow-paced so lags don't hurt the gameplay that much. We rolled a very simple binary message protocol on top of this and it works just fine for now. Big area of improvements is to compress the messages as much as possible. Currently we only compress the map (both initial loading and explosion effects) and this already reduces the network load significantly.

Us
We are a team of two professional programmers living in two very different parts of the world. We see gamedev as a hobby and a way to get our feet wet with new technologies and ideas. We shipped a couple of games in the past and abandoned dozens more at different stages of development. As you probably noticed we are lacking any artistic skills whatsoever but always trying to make our programmer's art as not terrible as humanly possible.

Demo
We are running a single server instance for demo purposes: http://tankoids.online/. It runs on a Digital Ocean Linux box located in Europe. Please check this out and let us know if it makes any sense. Some bots are always playing there so you can use them as practice targets.
Logged

Tankoids DEVLOG | DEMO
vbo
Level 0
*


View Profile WWW
« Reply #1 on: December 01, 2016, 03:26:53 PM »

Hey everyone,

Just wanted to share some updates we made over the last week. New demo version is available at the same address.

 - In the first version we only had a single map - some hills generated with x*sin(x) function. Now we have multiple maps to play on and game server loads them at runtime from BMP files on the disk. This way it's super easy for us to edit existing maps and add new ones.

 - We improved the game physics a bit. For example tankoids are now affected by explosion shock waves. This creates some fun gameplay and makes explosion feel more powerful. There is still a huge room for improvement in this area.

 - We are experimenting with two new control mechanics: jumping and shields. I am still not sure these are good ideas but they for sure add a bit more depth to the gameplay.

 - There is no respawn delay in deathmatch mode. We just didn't want to waste players' time. One problem with this approach is that players don't value their life because they have nothing to lose on death. To solve this we introduced an experimental mechanic of veteran ranks. Basically you gain ranks by killing other players and lose ranks on death. Each new rank makes your primary weapon stronger in terms of damage and explosion radius. You gain ranks faster by killing higher-ranked players. We playtested this mechanic for quite a bit and it seems working very well. I can't recall seeing anything like this in arena shooters though. Maybe the idea doesn't make sense at all.

Here is some footage from the last playtesting session:





Please let us know what you think.
Logged

Tankoids DEVLOG | DEMO
Pages: [1]
Print
Jump to:  

Theme orange-lt created by panic