The main framework we're using for the game client is LibGDX. It provides tons of features for creating hardware accelerated graphical applications using OpenGL and OpenAL. With it comes quite a few convienences classes and datatypes that we use throughout the visual portions of the client.
The main framework we're using for the game client is LibGDX. It provides tons of features for creating hardware accelerated graphical applications using OpenGL and OpenAL. With it comes quite a few convenient classes and datatypes that we use throughout the visual portions of the client.
LibGDX uses Screens for managing the current executable view context. Input handling and rendering of the user interface occur within these. The application automatically calls certain functions depending on the state that the screen is in. As such, we must consider various conditions when deciding what to load and when.
LibGDX uses Screens for managing the current executable view context. Input handling and rendering of the user interface occur within these. The application automatically calls certain functions depending on the state that the screen is in. As such, we must consider various conditions when deciding what to load and when.
...
@@ -47,5 +47,5 @@ Stages have their own SpriteBatches. It most cases, if it is necessary to use o
...
@@ -47,5 +47,5 @@ Stages have their own SpriteBatches. It most cases, if it is necessary to use o
Another component of Scene2D, they are used primarily for adding visual flare to the UI. Actions provide the capability to [tween](http://en.wikipedia.org/wiki/Inbetweening) various aspects of Actors, as well as provide sequences that may fire off events dependent on animations.
Another component of Scene2D, they are used primarily for adding visual flare to the UI. Actions provide the capability to [tween](http://en.wikipedia.org/wiki/Inbetweening) various aspects of Actors, as well as provide sequences that may fire off events dependent on animations.
### Character Creation
### Character Creation
To create a new character, a .png file with a clear background must be created. It should reflect the same structure as the existing characters found in GameClient-desktop/data/characters. Once the .png has been added to this folder, the name of the file and the corresponding character name must be added to the PlayerType enum found in GameClient/src/view.player.
To create a new character, a .png file with a clear background must be created. It should reflect the same structure as the existing characters found in GameClient-desktop/data/characters. Once the .png has been added to this folder, the name of the file and the corresponding character name must be added to the PlayerType enum found in GameClient/src/view.player.
The characters.pack in GameClient-desktop/data must then be updated. To do this, delete the old version of the .pack file. Then run the TexturePacker program ([Download here](https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/libgdx-texturepacker-gui/gdx-texturepacker-3.2.0.zip)). In TexturePacker, select 'create new'. The 'characters' folder should be the source directory and the 'data' folder should be the destination directory. Press 'pack'; the TexturePacker should generate the new characters.pack file in /data.
The characters.pack in GameClient-desktop/data must then be updated. To do this, delete the old version of the .pack file. Then run the TexturePacker program ([Download here](https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/libgdx-texturepacker-gui/gdx-texturepacker-3.2.0.zip)). In TexturePacker, select 'create new'. The 'characters' folder should be the source directory and the 'data' folder should be the destination directory. Press 'pack'; the TexturePacker should generate the new characters.pack file in /data.