# Performance Comparison: Rust-built apes.io vs. BabylonJS

**URL:** <https://forum.babylonjs.com/t/performance-comparison-rust-built-apes-io-vs-babylonjs/43441>\
**Category:** Questions\
**Created:** [August 20, 2023, 7:45pm UTC](https://forum.babylonjs.com/t/performance-comparison-rust-built-apes-io-vs-babylonjs/43441 "2023-08-20T19:45:17Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![ertugrulcetin](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/ertugrulcetin/32/33011_2.png) [@ertugrulcetin](https://forum.babylonjs.com/u/ertugrulcetin)\
**Post date:** [August 20, 2023, 7:45pm UTC](https://forum.babylonjs.com/t/performance-comparison-rust-built-apes-io-vs-babylonjs/43441/1 "2023-08-20T19:45:17Z")

</div>

I’ve recently come across a multiplayer game called [https://apes.io](https://apes.io) which is built using Rust for the web.

I’m intrigued by its performance characteristics and was wondering if it’s possible to achieve similar results with BabylonJS.

Has anyone here tried building something of similar complexity with BabylonJS?

---

<div class="post-metadata">

**Author:** ![oriongu](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/oriongu/32/40402_2.png) [@oriongu](https://forum.babylonjs.com/u/oriongu)\
**Post date:** [August 21, 2023, 2:29am UTC](https://forum.babylonjs.com/t/performance-comparison-rust-built-apes-io-vs-babylonjs/43441/2 "2023-08-21T02:29:49Z")

</div>

Hi @ertugrulcetin, I checked out the game you mentionned and having used Babylon over a year now I see no reason why it could not achieve similar results/performance.

Check out these project also, they are many more of that level of quality out there I’m sure.

> **[Shell Shockers | by Blue Wizard Digital](https://shellshock.io/)**
>
> Blocked? Try geometry.monster | The OFFICIAL home of Shell Shockers, the world’s best egg-based shooter! It’s like your favorite FPS battlefield game… with eggs.

> **[MudGate: Heroes of the Sanctuary](https://www.mudgate.com/)**
>
> MudGate: Explore, survive, and make it home to build a kingdom!

> **[Seedborn](https://seedborn.world/login/)**
>
> The only game that lets you sell bean sprouts, berries, pigs, mussels and many more! A free-to-try farm management game set in a fictional world.

Personnaly, I’ve also been working in my free time, on this project [GitHub - oriongunning/t5c: Building a open source multiplayer 3d rpg using babylon.js and colyseus](https://github.com/oriongunning/t5c) and giving more time and ressources, I could improve it to that type of quality I’ve no doubt.

Babylon.js is truly great to work with once you get the hang of it, and I’m sure it will grow in popularity as time goes on: The ability to code in typescript or js, open your browser and play instantaneously is amazing (no more waiting on unity to compile thank god…).

Anyway, just my 2 cents 🙂

---

<div class="post-metadata">

**Author:** ![ertugrulcetin](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/ertugrulcetin/32/33011_2.png) [@ertugrulcetin](https://forum.babylonjs.com/u/ertugrulcetin)\
**Post date:** [August 21, 2023, 7:56am UTC](https://forum.babylonjs.com/t/performance-comparison-rust-built-apes-io-vs-babylonjs/43441/3 "2023-08-21T07:56:38Z")

</div>

Yes, achieving the same performance might be possible, but these examples you’ve shared are far from having similar performance characteristics.

---

<div class="post-metadata">

**Author:** ![oriongu](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/oriongu/32/40402_2.png) [@oriongu](https://forum.babylonjs.com/u/oriongu)\
**Post date:** [August 21, 2023, 8:33am UTC](https://forum.babylonjs.com/t/performance-comparison-rust-built-apes-io-vs-babylonjs/43441/4 "2023-08-21T08:33:54Z")

</div>

If I may, what performance characteristics are we talking about? Can you clarify?

---

<div class="post-metadata">

**Author:** ![ertugrulcetin](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/ertugrulcetin/32/33011_2.png) [@ertugrulcetin](https://forum.babylonjs.com/u/ertugrulcetin)\
**Post date:** [August 21, 2023, 9:42am UTC](https://forum.babylonjs.com/t/performance-comparison-rust-built-apes-io-vs-babylonjs/43441/5 "2023-08-21T09:42:31Z")

</div>

There’s a vast terrain with numerous enemy NPCs and multiple players interacting simultaneously. Impressive physics are at play, and despite all these concurrent activities, I don’t notice any drop in FPS. Achieving such performance in a 3D web game is generally quite challenging.

---

<div class="post-metadata">

**Author:** ![oriongu](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/oriongu/32/40402_2.png) [@oriongu](https://forum.babylonjs.com/u/oriongu)\
**Post date:** [August 22, 2023, 2:44am UTC](https://forum.babylonjs.com/t/performance-comparison-rust-built-apes-io-vs-babylonjs/43441/6 "2023-08-22T02:44:04Z")

</div>

Agreed, it is a very polished action game and runs very smoothly (I would love to see a dev blog on how they built it).

Shell Shockers is the only one I know built with Babylon.js with that type of gameplay, did you check that one?

Then again, if I take my project as an example, and on a recent test, I can have 10 players running arround casting, talking, and moving around, all with 30-50 monsters moving around with their own behaviour, on a small 3d map, and running above 60 fps. Those are good numbers for a 3d web engine. And there is massive improvement I could add like VAT animations and instances to improves these numbers and there is probably many other things I could do but just don’t know about them yet.

So to answer your question, in my experience (only a year though), in 2023 you can definitely build something similar to apes io with Babylon.js.

---

<div class="post-metadata">

**Author:** ![Alexander\_Sosnovskiy](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/alexander_sosnovskiy/32/30165_2.png) [@Alexander\_Sosnovskiy](https://forum.babylonjs.com/u/Alexander_Sosnovskiy)\
**Post date:** [August 22, 2023, 6:54am UTC](https://forum.babylonjs.com/t/performance-comparison-rust-built-apes-io-vs-babylonjs/43441/7 "2023-08-22T06:54:48Z")

</div>

It’s not engine-specific features. It’s more like general rules/patterns. Like VAT, Instancing etc. Babylon gives you a lot of “common” features which you can use to make performance better.

---

<div class="post-metadata">

**Author:** ![shaderbytes](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/shaderbytes/32/174_2.png) [@shaderbytes](https://forum.babylonjs.com/u/shaderbytes)\
**Post date:** [August 22, 2023, 3:36pm UTC](https://forum.babylonjs.com/t/performance-comparison-rust-built-apes-io-vs-babylonjs/43441/8 "2023-08-22T15:36:06Z")

</div>

> [@oriongu](#):
>
> Check out these projec

just had a few games of shell shockers 😉 thanks

---

<div class="post-metadata">

**Author:** ![jeremy-coleman](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/jeremy-coleman/32/15493_2.png) [@jeremy-coleman](https://forum.babylonjs.com/u/jeremy-coleman)\
**Post date:** [August 22, 2023, 10:05pm UTC](https://forum.babylonjs.com/t/performance-comparison-rust-built-apes-io-vs-babylonjs/43441/9 "2023-08-22T22:05:23Z")

</div>

Use webgpu with render bundles
