Hello all for my first post after a long time lurking,
I am currently writing up a small game "engine", as a hobby really. Nothing that will make me rich or anything. Consider it a way to mix personal passion with a positive impact on my professional life. Personal research
So this "engine" is being written for browser-based gaming:
* server-side: stackless python, the stackless implementation of sockets, and a bit of memcache(d). The engine is action-driven, i.e., actions between entities define the way the game can behave. I've tried to make the thing flexible and easy to update/change by having those dynamically loaded upon server startup.
Client and server are talking over websockets, using an obfuscated protocol. The defined language is still very .. err ... primitive right now, but grammar is being worked on.
What I am looking for is ideas, suggestions on how to implement the following:
* server-side only protocol: given the nature of stackless python, ingame "objects" talk to each other by sending stuff over channels. This happens "in-process" only.
* client-server protocol: this is what gets sent over the wire.
Now, I _would like_ the two protocols to be similar in nature, i.e., to share the same syntax/grammar. For ease of maintenance, enhancements, and the overall maintainability and beauty of the whole.
Would that be a good idea? Efficient or horribly not so? For which reasons?
Many thanks for your input!