Understanding Services in network game using SpiderMonkey


In sim-eth example we have some services like :

Game session service
Chat service
Account service
(Rmi service, EtherealHost service)

1 - Can you please name some other services which we can have in games (mostly in mmorpg’s) ? (for better understanding)

2- Can we assume services as cross-cutting concerns (like aspects in Aspect Oriented Programming ) ? because services not directly relate to business logic (game logic) and should/can be used in any game.


Note: those services were not SimEthereal specific. They just use the service support built into SpiderMonkey.

How you break up services is up to you. I broke those out because they might be reusable “as is” in other games.

May you name some other example of services you are using or may want to use in your games ?

It depends on the game. But for example, I could probably add quite a bit of stuff to make sim-eth-basic or sim-eth-es a full blown game without adding any new services. I cannot off the top of my head think about any new service that I would need. I might add one or two new methods to the existing game session but that’s it.

For Mythruna, I have some base services for handling dialog style interaction and a service for dealing with object actions. Mostly I did that because I’m trying to make them separate open source projects, though.

Once you’ve got your base game setup, I think creating new services will be pretty rare beyond the base services that something like sim-eth-* has.

1 Like