[Sigma Tau] Dev Log 04 - Entity Types

The most recent objective was different entity types with different shapes and sizes.

This required more work than you might expect. I had to make entities store information about their look. I updated the Radar Port to send deltas, so that the shape on entities would not need to be sent every time. In the process I also improved and abstracted a fair amount of the port code. It is even easier now, than it was, to work with!

While I was at it, I also added and improved some other ports. And I added a Missile Tube component for the ship which spawns missiles when you press a button.

The current Ports I have are:

(Ports are a channel of communication with the terminals, they are basically a synced value)

  • "Bridge": Sometimes treated as a port, sometime treated specially. It basically manages what other ports exist on the ship. The Bridge is guaranteed to exist on a ship as id 0.
  • "Wire", "WireIn", "WireOut": are just basic numerical values, used for communicating thruster power levels and such.
  • "PingOut": is just a valueless ping, it is used for the missile tube fire.
  • "Radar": shares a view of entities.
  • "Spawner": is a debug port for sending 2D positions for debug spawning entities.

The current Components I have are:

(Components are parts of functionality of a ship, they see/effect the world. They communicate with the terminals through ports, which they create.)

  • "DirectThruster": A temporary thruster which thrusts in a centered thrust or a torque, as opposed to a positioned thruster.
  • "Radar": Sees the world from the prospective of your ship.
  • "Spawner": Debug component which spawns entities.
  • "MissileTube": Spawns missile entities!

The next objectives on the short list are:

  1. Proper collision response, not just a 0 of velocity.
  2. Ships taking damage / blowing up from missiles.
  3. Some sort of mission to actually be able to play.


  • Question, do your "wire" ports also contain any meta data? Like min/max value? Units?

  • No, it doesn't, it just has the value. It is expected to remain between -1 and 1, although, I havn't (yet) forced that in the code.

    I guess what I should say is that the Wire is a basic numerical percentage.

Sign In or Register to comment.