Tanksv1
Tanks.exe V1.0 out now!#
Holy shit, I know I’m “vacationing” but I’m pretty excited to of completed this.
I’ve gone way out of scope with this “remake.” But, I mean, Resident Evil 2’s remake was a borderline genre shift, and the remake is pretty solid.
- New main menu
- Range Selector works!
- Bouncy Bullets implemented!
- Bouncy bullets are a little weird, but they’re as wild and unpredictable as the original.
- Self-attack due to carelessness reduces 1 point of score.
- 3 levels still, but room for more!
- Ability to selected 2-4 players.
- Each Tank can be enabled/disabled.
- Each Tank can have their own control scheme.
- No two tanks can have the same controls.
- New Tank! Cyan!
- Gamepad required for four player play.
- New HUD.
- HUD Changes based on controls and score.
- HUD now shows who’s who.
- Gamepad Support.
- Support for Gamepad connected to port 1, 2, or 3.
- A button, or X on a dualshock is the attack. D-pad is to drive.
- New graphics by juliocacko for keyboard buttons and gamepad buttons
- Cyan joins the battle~
- New Tank, player four is Cyan.
- New Tank death animation.
- New broken wall textures, similar to the original.
Download it, give it a shot. The page is here!
The challenges of writing code with memory loss.#
When I decompiled my Godot Project, the decompiler I used erased all comments. Makes sense. We don’t need comments if you’re a computer. What didn’t make sense was that when I looked at my code, it was like someone else wrote it. I was working with someone else’s code. But… It wasn’t. My name is plastered right there on the credits.
No comments to go on, and absolutely no memory of what was written was… Unique.
tank killed script.
func tank_killed():
print("FUNC: tank_killed exec")
Player_count = Player_count - 1
print("DIAG: player count equals: " + str(Player_count))
if Player_count == 1:
Engine.time_scale = 0.5
emit_signal("time_to_reset")I wrote that. When I use Print(), I have one of four four letter codes at the start of them. INFO for reminders mid-function. FUNC for when a function I’m tracking runs. PROB is when I caught some game-breaking issue, and DIAG for when I’m trying to troubleshoot something. If I’m working with someone else, I’ll prefix it with T03. So, something like this for the HEV Suit for Escape From Tarkov (As that is absolutely not my code in any way. I’m just modifying it for my personal enjoyment.) I would write something like,
Example of a print.
log.LogDebug($"T03.PROB: Player still alive despite head health at 0. (Due to bleed, or previous mod func.)”)
Side-Note, I’ve been taking the time to re-learn C#’s differing logs. I’m pretty sure Godot has them too, and I should learn them.
A lot of lone developers probably remember writing their own code, or they remember major parts of their functions. For me, it’s all blank. What is the “time_to_reset” signal for? Right. For when the round restarts.
On all previous projects before my time in my previous job, I was able to remember what I wrote. Hell, I’m pretty sure I still have some C# bouncing around in my head for Circuit Bugs. Not that that ever became anything. Even when I was 22 years old, I was way, way, way too immature to spearhead anything in game-dev.
What next?#
I’ve got a few ideas of what to work on next. Maybe a Keno style game where the message in the end is “Fuck VLT’s” (Honestly, they’re just there to siphon people’s money and ruin the dining experience of anyone who has the displeasure of sitting near them.) I think a keen reminder that computers do what they’re told and nothing else is in order, and we can have interesting variable names like “Keep_player_hooked” and “Jackpot_session_chance” exposed. If I’m able to reduce the popularity of those machines enough, I’ll finally be able to fucking dine in peace without the extreme amount of bass coming from Pharoh’s Treasure. Gambling is fun and all, sure… But we have places for this. They’re called Casinos, not Boston Pizza.
On the topic of tanks.exe? I want to add more levels, fix the HUD’s scoreboard to be more like the original (font and size.) And… Well, bug-hunt. In the spirit of the original, it might be fun to have two players per controller. For now, though… shooting is the XBOX’s A button, or X on a Dualshock.