Turn Minecraft into an RTS

SoLegendary GameDev DK30 New Year 2022 1 0

Description

Using the Minecraft Forge modding framework, I’m going to turn the game into a top-down RTS, inspired by Warcraft/Starcraft. I’ve already got a lot of key features implemented including the camera and basic unit controls but my goal is to make a playable multiplayer test-demo: just two armies controlled by different players fighting each other. Stuff like buildings, resources, world generation, etc. will have to come over the course of the year.

Check out this demo for a peek at what I’ve got so far: https://youtu.be/L8tD_K4Tytk

Recent Updates

SoLegendary 3 years ago

Player-based control is done!

That was pretty annoying to get right, and too difficult to explain why. If there’s one thing I have to say about RTSes (and probably multiplayer games in general) there is so much behind the scenes coding we all take for granted.

We’re getting to the end of the DK30 here but I’m definitely continuing this as a casual pace until I finish all of these goals.

SoLegendary 3 years ago

Finally got over the Elden Ring hype and getting into… umm… week 2 of the project :)

Just bought an alt account so I can test out player-based controls on a local server

SoLegendary 3 years ago

So it appears Elden Ring has just destroyed all motivation to actually work on this thing for the time being. I fully intend to come back to it later though, especially since I got over the real tough part of making my code workable in multiplayer.

SoLegendary 3 years ago

Alright so learning networking for the first time is pretty tough, but I finally got over the hump and got a working example :D

Now time to actually rewrite half my code base in a way that works for multiplayer…

SoLegendary 3 years ago

Somehow forgot to implement edge panning (where you move the camera by moving your cursor to the edges of the screen) before but luckily wasn’t too difficult

SoLegendary 3 years ago

Finished squashing the preliminary bugs in combat and movement, in time to start DK30 and get into multiplayer coding this week :)

Estimated Timeframe

Feb 7th - Mar 12th

Week 1 Goal

Working multiplayer

I haven’t tried to make any mod multiplayer yet so I hope the current code I have is compatible. There’s a chance here that this milestone might take up the rest of the challenge, or work immediately within 30mins of googling the answer.

Week 2 Goal

Player-based control

At the moment, anyone can control anything. I want units summoned by a particular player to only be controllable by them and have the controls and AI aggression change according to what units see as friendlies/enemies.

Week 3 Goal

More controllable units

I’ve got the typical RTS unit controls implemented including attacks, attack-moving, hold position, follow, control groups, etc. However, attacks only work for a basic melee zombie. I also want:

  1. Ranged units (Skeleton & Pillager) - the main challenge here is to prevent them friendly firing - making their projectiles fly through allies and only collide with enemies and blocks
  2. More melee units (Iron Golem & Vindicator) - shouldn’t be too hard, though I hope iron golems’ big size don’t make them too buggy
  3. Creepers - The only new thing here is to have them start/stop their fuse on command

Week 4 Goal

Polish and balancing

My end goal was to make this a fun, playable test demo, maybe not released to public until its actually a proper RTS but at least between my friends. This includes:

  1. The two factions (mobs vs illagers) have balanced units by tweaking stats like damage, health and movespeed
  2. Controls are intuitive and properly matched the expectation of RTS players
  3. Squashing any bugs found during the earlier stages
  4. As a stretch goal, add in rudimentary UI elements to show selected units and their stats.

Tags

  • RTS
  • Minecraft
  • GameDev
  • Coding