|
@@ -1,118 +0,0 @@
|
|
|
-= multiplayer_template
|
|
|
-:author:
|
|
|
-:revnumber:
|
|
|
-:revdate: 2016/03/17 20:48
|
|
|
-ifdef::env-github,env-browser[:outfilesuffix: .adoc]
|
|
|
-
|
|
|
-
|
|
|
-This page is to make your own multiplayer game, mainly by using a template and understanding how it works.
|
|
|
-
|
|
|
-The template for a multiplayer project can be found here:
|
|
|
-link:https://hub.jmonkeyengine.org/t/multiplayer-game-template/29904[https://hub.jmonkeyengine.org/t/multiplayer-game-template/29904]
|
|
|
-
|
|
|
-Additional information e.g. links to jars can be found here:
|
|
|
-link:https://hub.jmonkeyengine.org/t/need-help-need-jar-files-for-a-project/30065[https://hub.jmonkeyengine.org/t/need-help-need-jar-files-for-a-project/30065]
|
|
|
-
|
|
|
-//Class diagram (template only):
|
|
|
-//link:http://puu.sh/a4azI/8c37cd8cf4.png[http://puu.sh/a4azI/8c37cd8cf4.png]
|
|
|
-
|
|
|
-A lot of work has to be done, but the best thing to start with, is summing up the classes, with the variables and explaining what the use is of those.
|
|
|
-
|
|
|
-Classes (by package):
|
|
|
-
|
|
|
-NetworkRpg:
|
|
|
-
|
|
|
-. GameClient (Interface)
|
|
|
-. GameConstants
|
|
|
-. GameGuiController
|
|
|
-. Main
|
|
|
-
|
|
|
-....
|
|
|
- private AppSettings settings; sets the resolution
|
|
|
- private boolean isFullScreen = false; obvious: fullscreen
|
|
|
-....
|
|
|
-
|
|
|
-. MenuInputMapping (No variables)
|
|
|
-. RemoteGameClient
|
|
|
-. ServerMain
|
|
|
-. ThirdPersonCamera
|
|
|
-. TimeProvider (Interface)
|
|
|
-
|
|
|
-NetworkRpg.AppStates:
|
|
|
-
|
|
|
-. BaseAppState
|
|
|
-. ConnectionState
|
|
|
-. EntityDataState
|
|
|
-. ErrorState
|
|
|
-. GamePlayState
|
|
|
-. MainMenuState
|
|
|
-. ModelState
|
|
|
-. WorldState
|
|
|
-
|
|
|
-NetworkRpg.Components:
|
|
|
-
|
|
|
-. ModelType
|
|
|
-. Position
|
|
|
-. walkDirection (No variables)
|
|
|
-
|
|
|
-NetworkRpg.Factories:
|
|
|
-
|
|
|
-. EntityFactories
|
|
|
-. GameModelFactory
|
|
|
-. ModelFactory
|
|
|
-
|
|
|
-NetworkRpgt.Handlers:
|
|
|
-
|
|
|
-. GameMessageHandler
|
|
|
-
|
|
|
-NetworkRpg.Networking:
|
|
|
-
|
|
|
-. Util
|
|
|
-
|
|
|
-....
|
|
|
- public static final int tcpPort = 1337; portnumber used for tcp connections
|
|
|
- public static final int udpPort = 1337; portnumber used for udp connections (http://www.diffen.com/difference/TCP_vs_UDP)
|
|
|
- public static final String GAME_NAME ="Network RPG"; name of the game
|
|
|
- public static final int PROTOCOL_VERSION = 1; version of the udp/tcp protocol being used
|
|
|
-....
|
|
|
-
|
|
|
-NetworkRpg.Networking.Msg:
|
|
|
-
|
|
|
-. ChatMessage
|
|
|
-. CommandSet
|
|
|
-. GameTimeMessage
|
|
|
-. PlayerInfoMessage
|
|
|
-. ViewDirection
|
|
|
-
|
|
|
-NetworkRpg.Objects:
|
|
|
-
|
|
|
-. Avatar
|
|
|
-
|
|
|
-....
|
|
|
- public Spatial avatarSpatial; holds information about the character
|
|
|
- private Node avatarNode; a node which contains the modelnode
|
|
|
- private Node model; a node which contains your character (the green thing on the map)
|
|
|
- public BetterCharacterControl avatarControl; this is used to set the gravity
|
|
|
- private SimpleApplication App; we need this to get the rootnode
|
|
|
- private BulletAppState bulletAppState; allows using bullet physics in an Application.
|
|
|
- private Node rootNode; the node which gets all the nodes (add to this one, and it'll be visible)
|
|
|
- private AnimChannel animChannel; used to change the current anitmation
|
|
|
- private AnimControl animControl; this is needed to create an animchannel
|
|
|
- private BitmapText label; label where we add a the textnode to
|
|
|
- private Node textNode; name above the head of the player
|
|
|
- private String idleAnim = "IdleBase"; name of the animation (not 100% sure)
|
|
|
- private String walkAnim = "RunBase";
|
|
|
- private String attackAnim = "SliceHorizontal";
|
|
|
- private String jumpAnim = "JumpLoop";
|
|
|
- private BitmapFont guiFont; the font
|
|
|
- private String playerName; name above the avatar
|
|
|
-....
|
|
|
-
|
|
|
-NetworkRpg.Services:
|
|
|
-
|
|
|
-. EntityDataService
|
|
|
-. GameSystems
|
|
|
-. MovementService
|
|
|
-. Service (Interface)
|
|
|
-
|
|
|
-This is a total of 35 classes.
|