Video updated: 1 / 2026
Hi,
I just joined the forum and will be positing here about my space combat MMO Phoenix Universe of Space Combat or Phoenix USC. My game project is a full scale MMO complete with an authoritative server. I am currently in the later prototyping stage of development and soon will have an alpha version to test. Phoenix USC is a spiritual remake of SubSpace and Continuum continuing the saga of MMO top-down shooters.
Phoenix USC is being developed in Godot 4 and is a recent conversion of a larger scale Godot 3 project. It uses rigid body physics and is based in 2D using tile map layers and real-time lighting for a unique style and look.
I have included a short video showing a client view of me testing 32 server controlled bots. The bots and players all work with a fully authoritative and encrypted server eliminating cheating. I have written my own server in Godot Script which handles everything including networking (via RPC) and all synchronization.
I will post more on my progress and details here as I continue on in development.
Just saying hello world at the moment. 
Vidiot_X
Visit here for more information:
Phoenix USC Website: https://www.phoenixusc.com
Phoenix USC Discord: Phoenix USC
8 Likes
Hi, I have made a development video snapshot of my MMO Phoenix USC in action. In this video I do a map/base run-through while 32 bots battle for the base flag. All bots are server controlled and the view is from a client. If you are interested in Phoenix USC and how well Godot 4 preforms with a networked twitch style space combat shooter this is the video to see…
Checkout the video
6 Likes
OMG, that looks amazing! Is the minimap jittery because of periodic updates or lag? How many players could you have on a single map?
I love the isometric view! Your ship explosions are beautiful!
2 Likes
Yup, for now the radar is updating every 200 milliseconds. I will improve this a bit so it looks nice or just smooth it out through linear interpolation.
Not sure on the number of players my goals is 100 on a server. I am glad you like what you see. 
2 Likes
Hi,
I have been busy and making progress on Phoenix USC. In this video you can see the recent changes to the map and lighting. I have 32 bots on two teams fighting in base testing Phoenix USC’s client and server. This simulated game play gives an excellent view of all the wonderful progress and a glimpse what is to come.
Some of the key development progress:
Small cones removed and replaced with dragons teeth barriers. Other areas of the map redone to improve the overall flow of the ships as they move around. Some ISO tiles have been redone for better lighting and visuals.
-
All base areas now use navigation polygons and have been updated to include recent design changes. This allow bots to navigate in all areas in and around the base arena.
-
All normal and specular maps are redone. This has improved lighting greatly and reduced specular artifacts to almost zero. It has also has greatly improved the visual clarity with better contrast and highlights. Some static lights have been removed and others have been resized and positioned to reduce the lights used in game.
-
Changes to ship lighting for a cleaner brighter look.
-
Your player ship is now supports a main dynamic light. This improves the look and works better with real-time shadows. All other lights are static and “do” interact with the map and all ships. All remote player and bot ships are affected by all lights and shadows in game.
-
Code changes to attach mode. Development here is ongoing and will mimic current SubSpace / Continuum attach modes. For now I have attach mode working so that you can attach to a player and detach all with a key stoke (F7).
-
Networking code improvements.
These are the development highlights for this month. I will be working on attach mode getting it ready for match play and then moving to repel. Once these features are in place I will be working on a simple capture the flag match play system to get us going.
Moore soon…
Vidiot_X
Recent Development Images.
2 Likes
100 Bots! I was able to easily run two teams of 50 bots each with no issues. All with ship lights (2D point lights) and navigation (NavigationServer2D) . GPU and CPU usage are good with minimal impact to my AMD 5700x and 3070ti, with a 15% GPU usage running the server and client locally. My only concern is network bandwidth; a bridge I will cross later.
The synchronization is custom and written in GDScript and includes sending/receiving network player states and much more. This level of customization allows for excellent efficiency and control of all player objects including bullets or weapons fire.
Navigation is done with NavigationServer2D and lots of supporting code and logic. Godot is doing well and I am hopeful for more performance gains with Godot 4.5 (currently 4.4.1) and TileMapLayer / TileSet collision improvements.
Also of note is each ship is using a 2D point light with shadows on. After tweaking things I was able to get Godot to support it, although with some limitations like light range, The look is awesome and experimental.
More soon,
Vidiot_X
3 Likes
Hi,
This is an online test of the Phoenix USC server and client as viewed from a client with the server hosted on on a VPS, actual online game play. Here you will see (video) a complete capture the flag match start to finish as 80 server controlled bots and I battle for the flag. This online test of the pre-alpha version of Phoenix USC marks a milestone in development.
This project uses it’s own custom synchronization using GDScript. In addition to an authoritative server, this project uses TLS network encryption and encrypted PCK data to help in preventing cheating and securing game related data.
I am very happy with the network and tween/smoothing performance and the overall server and client performance. Godot 4.5.1 is working well and aiding in providing a stable server and client.
Very fun to play even at this early stage. More soon.
Vidiot_X
Visit here for more information:
Phoenix USC Website: https://www.phoenixusc.com
Phoenix USC Discord: Phoenix USC
2 Likes
Some GIF’s from the above video. All done in Godot 4.5.1 .
Online CTF match play.

Match start team Super Spawn,

2 Likes
An image snapshot of the arena base as it is currently. Made with Godot 4.5.1 and using specular lighting, Phoenix USC makes full use of real-time 2D lighting and shadows in this ISO map.
3 Likes
Hi,
I am currently working on the lobby feature of the game. I am working on supporting polling for many servers including population, ping and other data. Additionally I am adding support to login to, exit and login to another server or the same server. This is much more complicated than it sounds.
When a client disconnects from a server it renters the lobby. To do this the client has to free all resources and data which is involved and a bit prone to memory leaks if I get it wrong. So am doing a lot of testing in addition to development to make sure I have no memory leak issues.
I am also implementing multiple server support in the lobby. This also is very complicated and requires the lobby to establish contact with all available servers, establish a encrypted connection, poll and hold the connection. Once the client logs into a server all other server connections are closed and their data removed. . . and more.
I’ll have a video available soon illustrating all this.
More soon…
2 Likes
Hi,
I have been hard at work developing Phoenix USC and have made great progress including layered explosion effects, ambient lighting, improved radar/minimap with zoom and much more. I will cover all of the progress in an upcoming post. I have also begun to add the repel feature (2 short videos and an image). In the videos I have the bot ships responding to the repel action. It’s working well and I will soon have the bullets responding to the repel action as well. The bullets bring development complications but I think I have it worked out.
I’m using a combination of Area2D and GDScript at present where I use the ‘body’ data from a collision shape and a object entry signal, within the Area2D. The ‘body’ data lets me know which of the many rigidbody objects are within the Area2D/CollisionShape radius defined area. Because of the many rigidbody objects (includes 100’s of bullets objects) only ship objects have the Area2D node
I will have a fuller development update soon, till then, code code code.
Vidiot_X
Repel - 1
Repel - 2
3 Likes
Hi,
Here I have two clients testing the new repel feature, with the ship repel dialed back a bit to make it easier to see the repel action on both clients. Each client is connected to an authoritative server with the bots (80 in this test) controlled by the server.
Testing the server and clients looks very promising and I fully expect to support 100+ players / Bots on a server. Pre-alpha on track and it’s looking like this summer for a pre-alpha public release.
More soon….
Vidiot_X
3 Likes
Looks fun, is there a (non-networking) demo out?
2 Likes
Hi, No, this an MMO so I don’t have a stand alone version of the client. But, there will be a pre-alpha online client by this summer. 
3 Likes
(testing repel and recent network and bug fixes)
I have been experimenting with networking making further changes to how I send game state data. Basically I was sending all the bot state data in one go to a client every 100 milliseconds (1/10 of a second). I then split that into two payloads of state data every 50ms. Now it’s split into 4 payloads of state data every 25ms. Bots are still updated at basically 100ms but I divide it up by sending the state data of 1/4 of them every 25ms to a client till all state data is sent.
This helps a lot and distributes the load. It also helps on the packet end. UDP’s max packet size is 1500 bytes. Send more than that at a time and Enet/Godot has to break up the data and send it over multiple packets which adds latency and load.
So I am spending some time to find he best way of sending state data. Basically I will be finding the best way to distribute the load, fit into network packet max size and testing compression options. The changes I have made are improving things quite a bit.
More on this soon…
3 Likes
This looks like it is going to be such great fun to play! It looks amazing! Great job. Looking forward to playing it already!
2 Likes
A view of the space surrounding the fighting arena. It uses a shader parallax background.
2 Likes
Hi,
I am working on networking and kind of getting into it a bit. There is some Enet ‘PeerStatistic’ data available in Godot including packet loss, ping and other information. I need this data to help determine issues and where the issue may be.
I have made available a ‘mini’ net-stats above the player ship. It includes packet loss percentage (floating), low and high ping (floating reset 10s) and the ping floating average.
I found this post useful in guiding me to access the Enet statistical data like packet loss and ping.
Godot Forum Post on get_statistic(ENetPacketPeer.PEER_PACKET_LOSS)
It’s good to understand that when using the above example you will be getting the data between your host/peer and another host/peer. In the video above I have net-stat data derived from the method get_statistic().
More soon…
Vidiot_X
2 Likes
Glad I could help. Even accidentally.
2 Likes
I have been working on RPC() networking and related network dropout issues. After fixing and making some changes to my RPC() implementation things improved. Still, the network dropout issue remains although much less frequently.
The image shows the server-to-client network history. You can see in the first network dropout that it spans 10 seconds. Then the second network dropout occurs 8 1/2 minutes later and only has a one second duration. This is the issue I am working on visualized.
The fact that the second dropout occurs 8 1/2 minutes later makes it hard for to believe it’s the server causing this. Typically issues causing 10’s of network dropout’s recur frequently, if it is a server issue. It maybe that the memory or other resources are interfered with by KVM virtualization issues. After all, the virtual CPU and other VPS resources are KVM ‘thread’ dependent and not real hardware. It could be the VPS as the issue.
That said, I will be going through all of my code looking for anything that could be a network or memory issue as relates to the VPS environment. Everything runs fine locally. If after combing over my project the issue still exist I will try a ‘VDS’ as it will have better resource access and I think dedicated memory.
The short video shows off the inertia / rigid body physics of the weapons objects in game. Part of the recent fixes and changes.
I will have more soon…
Vidiot_X
1 Like