Let me know if you need help.
I wish great success with not drowning in code!
Having the network interaction as a separate library would also help us to implement TLS encryption later on. (ATM the login password is transmitted in cleartext for example).
When separating the network library becomes a success we could think about splitting up a higher level game logic backend library that contains the logic game stuff except for UI, keyboard events, UI settings, renderer.
Some pseudo code to hopefully give an idea what I'm dreaming about:
Code: Select all
getCharacters():Array<Character> selectCharacter(character) getInventory(page, searchquery):Array<Item> Chat.sendMessage(channel, message) Chat.getMessages(channel) Player.attack(entity) Player.move(direction) Player.moveTo(coordinates)
I don't know how m+ or the network protocols actually work so take my post here with a grain of salt.