BCMM

Apr 02, 2024

BCMM IPC Intro

What is IPC?

IPC stands for inter-process communication. There are many uses and techniques for how one can go about doing IPC. But in short, it allows two separate processes to communicate with each other and exchange data. 

For example, we can have one process let another process know that an event has occurred. There are many ways one can go about exchanging data between each other:

  • Pipes
  • Sockets
  • Signals
  • Shared memory

And more.

What's this got to do with BC?

BC in multiplayer does have a way to communicate with other players, depending on how you look at it what you can do maybe limited. For example you may not be able to use some advanced technologies or mods in a multiplayer environment.

So to circumvent this, we have to use an outside functionality.

Another IPC?

Yes, that's exactly it. This is merely a demo, showcasing how easy it is to send and print out messages sent from the console app, as you can see in this demo.

The approach I've opted for is pipes, though they can fairly easily be replaced with any other. The important part is that this piece of communication is under my control.

The flow in this example is as follows:

IPC

Putting it another way, a demo console app sends a message. BCMM Library receives it and passes it on to the BC py engine to show.

What are the possibilities?

Simulated universe, having technologies in MP that aren't normally possible... There are lots of them. We will focus on this part after the initial BCMM release, though. This is only a start, and we'll most likely have to map out a lot of functions going forward.

Author: Mario  ·  posted at 05:07  ·   ·  BCMM  ipc