BCMM

Dec 01, 2024

BCMM Huge Ship Battles

As I've mentioned in previous articles, BC is a very old game. It uses an old game engine called NetImmerse and runs on a single core. That cannot be changed. Without any optimizations or tweaks, you cannot achieve ship battles larger than 30–40 ships on an average computer without the game turning into a PowerPoint presentation.

You might ask yourself, "What if I get a better GPU or CPU? Will that help?" Not in the slightest.

What is the bottleneck, and can anything be done about it?

  1. It's the AI
  2. It's the modern hardware

And as you can see, something can be done about it; see the latest performance demos we've done.

First without many optimizations presenting 90 ship battle:

Now, after optimizing the AI we then tried 106 ship battle.

Why 106? I just used a formula to have QB be setup without getting carpal tunnel by going around the formula. This is almost a full battle video to showcase the performance at this moment.

bcmm_enemy_count = 70
bcmm_friendly_count = int(bcmm_enemy_count / 2.0)

With the same optimizations we've tried some more lightweight ships in battle. Battle of Omarion nebula anyone? And yes 170 ships in a single battle, here's a small preview.

A pic of the tactical situation in that 170 ship battle IPC

Conclusion

Can we do better? Yes, further optimizations will follow of course. While we cannot fix the limitations of the engine we can bypass them somewhat and optimize the logic ex. AI logic that I've recently been doing whose results can be seen in the videos above.

In the end I feel like the programmer in the 80s, optimizing every ounce of BC to get the best performance possible. Luckily I don't have to write assembly code... yet.

Author: Mario  ·  posted at 19:30  ·   ·  BCMM  performance  huge  ship  battles