I originally created "Battle Tanks" a couple weeks ago in the MDW gamejam. Since then, I've been playtesting it with my co-workers for 15 minutes or so every morning, and making minor changes to improve the gameplay.
This has been super cool!
Up until now, I've been learning the technical bits necessary to make the game work (aka game development). But this process has helped me learn more about game design and how to make a game accessible and FUN!
Here's a video from this morning's playtest:
(FYI, I'm also considering picking a different name for the game, since it seems there is already a "Battle Tanks" game. Any ideas? I'm thinking either something super generic and descriptive, like "Top-down Tank Battle" or something really specific so it can't be confused with another game...)
Each day, I've made some notes about the changes I made to the latest build, my goal for those changes and then recorded the results.
Read more to see my playtesting notes!
Who are the players?
We mostly played 4-player games, with myself and the same three co-workers, although, occasionally, we played 3-player or 2-player if some people couldn't make it.
Here's a little background on the players
- Arturo: Located in Columbia, he's the most experienced gamer among us, and played on Windows.
- Elliot: Located in Green Bay, WI, USA, he's the least experienced gamer, and played on MacOS.
- Miguel: Located in Mexico, and played sometimes on Windows and sometimes on Linux.
- Myself: Located in Appleton, WI, USA, and I always played on Linux. Miguel and I have similar gaming skillz :-)
All games were over the internet, with each of us in different cities in The Americas, while talking over a Google Hangout.
First of all, I'm really amazed at how well the game plays over the internet, especially with Arturo out in Colombia and how little effort I put into optimizing the network code. I basically just followed a page in the Godot docs and it pretty much works.
Second, one of the goals, was to make the game fun, even for less experienced players, and to have wins/losses be sort of evenly distributed, so that the most skilled player didn't win all the rounds. This certainly wasn't the case in early builds, where Arturo really dominated and won most of the matches.
My daily notes
Sessions were really short, frequently less than 20 seconds, because the health power-ups wouldn’t even appear. Arturo won almost all sessions.
Changes: damage is lower, so it now takes 10 hits to destroy a tank. Also, bullet positions are synchronized based on position on the server.
Goal: longer sessions, more strategy, more even distribution of winners
Result: Sessions lasted longer, so that seemed to work! Arturo didn’t dominate, but I think it was due to a bug with the new bullet position syncing. I’m going to remove the bullet syncing and just test with the decreased damage and possibly out-of-sync bullets.
Changes: I removed the bullet syncing, and replaced it with a single RPC call to update tank position and initiate shooting (so, the idea is that the tank should be in the right position on every client when firing).
Goal: longer sessions, more strategy, and no weirdness with bullets.
Result: the sessions were longer, felt more strategic, and had no weirdness with bullets! Arturo still won most of the time, and Elliot still lost most of the time - wins weren’t all that evenly distributed.
Changes: added “Spread” and “Target” bullet types that can be obtained via power-up, that are each dropped 20% of the time.
Goal: more evenly distributed wins by allowing a “run and wait for power-ups” strategy, where you can win against more skilled players via more powerful bullet types.
Result: Elliot couldn't make it. “Target” worked pretty good, it’s a great power-up but not an overwhelming advantage. There was a game crashing bug with it initially but got it fixed quickly and sent out a new build. “Spread” was super powerful, might be OP, but Arturo doesn’t think so. It totally equalizes a match, though, if you get it, you have a huge advantage.
Result: Finally got a 4-player session with Elliot, and he won once, but not due to the power-ups. :-) Overall, the power-ups played less of a role in this session. As soon as someone got the “spread” power-up, it changed the math dramatically, but didn’t guarantee a victory.
Result: Played without Arturo. The wins were pretty well balanced! Elliot still had some troubles, but they centered around the mouse: he was unclear on how aiming was supposed to work, and clicked out of the window periodically.
Changes: Added a custom mouse cursor, and confined the mouse to the game (press ESC to release the mouse).
Goal: Make the mouse cursor easier to see, and, also, hopefully, clarify the controls for folks who are new to “standard” PC controls.
Results: Aiming seemed to be easier. Confining the mouse didn’t seem to totally work for Elliot - in fullscreen mode on his Mac he could still go over one edge onto his other monitor. But it did seem like wins were pretty well distributed this time, and Elliot lasted well into many matches.
Results: I think everyone is just getting better at the game! Miguel won most of the matches this time, Arturo didn’t totally dominate, Elliot was in longer and causing a lot of damage. :-) Either that or the mouse improvements just needed more time to percolate.
I feel like the game is actually fun now! And it works well enough that I don't think I need to mess around too much with the network code.
So, I think I'm going to stop making these little gameplay changes, and instead focus on improving the UI and adding some polish next (sound, particle effects, etc).
Given that this is proving to be fun, I'm thinking I may actually "release" the game in some form, so that I can learn about that process as well, but that's a little further down the line.