# Not Quake - an example of real-time multi-player shooter (a bit like Quake :) ) using Castle Game Engine and RNL

**URL:** https://forum.castle-engine.io/t/not-quake-an-example-of-real-time-multi-player-shooter-a-bit-like-quake-using-castle-game-engine-and-rnl/594
**Category:** News
**Created:** [June 24, 2022, 6:05pm UTC](https://forum.castle-engine.io/t/not-quake-an-example-of-real-time-multi-player-shooter-a-bit-like-quake-using-castle-game-engine-and-rnl/594 "2022-06-24T18:05:03Z")
**Posts on this page:** 1
**Page:** 1

<div class="post-metadata">

### Author: ![michalis](https://forum.castle-engine.io/user_avatar/forum.castle-engine.io/michalis/32/3_2.png) [@michalis](https://forum.castle-engine.io/u/michalis)
#### Post date: [June 24, 2022, 6:05pm UTC](https://forum.castle-engine.io/t/not-quake-an-example-of-real-time-multi-player-shooter-a-bit-like-quake-using-castle-game-engine-and-rnl/594/1 "2022-06-24T18:05:03Z")

</div>

| [![Not Quake - Castle Game Engine and RNL demo](https://forum.castle-engine.io/uploads/default/original/1X/00c59786b6aae45147859a53e6d474ee5a2ceba6.png)](https://castle-engine.io/wp/wp-content/uploads/2022/06/Zrzut-ekranu-z-2022-06-13-16-30-06.png "Not Quake - Castle Game Engine and RNL demo") |
| [![Not Quake - Castle Game Engine and RNL demo](https://forum.castle-engine.io/uploads/default/original/1X/d5fefef74c846b22c60a57be41d2723cd685e4d1.png)](https://castle-engine.io/wp/wp-content/uploads/2022/06/Zrzut-ekranu-z-2022-06-13-16-26-11.png "Not Quake - Castle Game Engine and RNL demo") |
| [![Not Quake - Castle Game Engine and RNL demo](https://forum.castle-engine.io/uploads/default/original/1X/4542c9f913b1b6dc6eedc1f9ae07612cd8255b71.png)](https://castle-engine.io/wp/wp-content/uploads/2022/06/Zrzut-ekranu-z-2022-06-13-16-26-22.png "Not Quake - Castle Game Engine and RNL demo") |
| [![Not Quake - Castle Game Engine and RNL demo](https://forum.castle-engine.io/uploads/default/original/1X/299b45c1f5b8d63f3b2634b1886c2d197f71010d.png)](https://castle-engine.io/wp/wp-content/uploads/2022/06/Zrzut-ekranu-z-2022-06-13-16-26-37.png "Not Quake - Castle Game Engine and RNL demo") |
| [![Not Quake - Castle Game Engine and RNL demo](https://forum.castle-engine.io/uploads/default/original/1X/9629449e6bffea1f3ede1c04fda09473e565f2bf.png)](https://castle-engine.io/wp/wp-content/uploads/2022/06/Zrzut_ekranu_z_2022-06-10_20-57-01.png "Not Quake - Castle Game Engine and RNL demo") |

We recently held a gamejam at [Cat-astrophe Games](https://cat-astrophe-games.itch.io/) and I decided to tackle something fun: can I make a real-time multi-player shooter (like Quake), using Castle Game Engine and [RNL](https://github.com/BeRo1985/rnl)? In 1 day, during a gamejam? In turns out that yes! 🙂

I’m proud to present [Not Quake](https://cat-astrophe-games.itch.io/not-quake), a new demo of _Castle Game Engine_ and _RNL_. You can download the client (just run it and play!) from [Not Quake on Itch.io](https://cat-astrophe-games.itch.io/not-quake). Or you can download both client, server, as well as the source code from [Not Quake on GitHub](https://github.com/castle-engine/not-quake).

Done in ~10 hours, I went from nothing to a simple shooter game, where multiple people can join (from clients on Windows, Linux, macOS, even Android in theory – though input on Android is not ready yet), send chat messages, and finally run and shoot. I went for a simple client-server architecture for this, just as a first attempt, with a central server that talks with all the clients — many other ways to do this are possible, but this was simplest to start with and indeed it works reliably for such a simple game.

The whole networking was done using [RNL: Realtime Network Library](https://github.com/BeRo1985/rnl), UDP-based network library for real-time applications and games, by [Benjamin Rosseaux](https://www.patreon.com/bero/posts).

If you like it, please support us on Patreon:

- [Michalis Kamburelis (Castle Game Engine) on Patreon](https://www.patreon.com/castleengine)

- [Benjamin Rosseaux (RNL, PasGLTF, PasVulkan and more) on Patreon](https://www.patreon.com/bero)

Notes:

- It relies on CGE [new-cameras](https://github.com/castle-engine/castle-engine/tree/new-cameras) branch, which is not yet merged to master. I wrote more about new features there [in this post](https://castle-engine.io/wp/2022/05/06/camera-and-navigation-rework-almost-finished-todo-this-news-announcement-is-too-long-we-have-too-much-new-stuff-to-announce/). It takes me a while to finish it (and merge to CGE master branch) — I have there still TODOs to fix mouse look in editor on Windows, improve 2D viewports, improve undo wrt. to cameras.

- Now that I’m more familiar with RNL, I want to refactor some messages code, to make it both simpler and more powerful.

- It uses my [fork of RNL](https://github.com/michaliskambi/rnl) for now, which contains a very ugly hack to hide occasional problem with sending messages. I have to debug whether it is caused by my code, or by RNL unit, and of course fix. Unfortunately the crash occurs ~randomly, and never when testing through localhost, only on remote server. So it’s a pain to catch it.

- There are problems with macOS (mouse look, freetype) and Android (all input) clients. For now, Linux and Windows clients are really stable and advised.
