Repository navigation
Project File Structure V2.0
Thomas Lu edited this page Jan 9, 2025
·
2 revisions

This file structure organizes the project’s classes by responsibility and hierarchy. Here’s a quick breakdown:
-
Main Entry Point
-
Main: Where the game starts. This class (or method) serves as the main entry point and typically initializes the game.
-
-
characterPackage-
Actor: A base or parent class for all in-game characters. -
Player,NPC, andGegnerall extendActor:-
Player: The controllable player character. -
NPC: Non-player characters (possibly friendly or neutral). -
Gegner: German for “enemy”—these are hostile characters.
-
-
-
classesPackage-
Archer,Assassin,Defender,Healer,Mage,Paladin, ...
All these classes extendPlayer, which means they inherit player attributes and add specialized features (e.g. a Mage might have spells, an Archer might have ranged attacks, etc.).
-
-
itemPackage-
Item: A generic item class that represents objects that can be picked up or used. -
Apple: A specific item (e.g., might restore health).
-
-
utilPackage-
DataObjects: Contains data structure classes likePlayerDataused to receive/send data to the server (DTOs). -
Overlay: Contains UI-related classes likeUI_Layerthat handle on-screen overlays or HUD elements. -
Other utility classes:
-
GameRenderer: Responsible for rendering game entities. -
MapCreator,Perlin: May be used for procedural map generation. -
ItemFactory,PlayerFactory: Factory classes to create items or players. -
ServerConnection: Manages the socket connection, synchronizing data between client and server.
-
-
-
MainGameScreen,StartScreen- Represent different stages or screens in the game, such as the title screen and the main gameplay screen.
-
core: Main module with the application logic shared by all platforms. -
lwjgl3: Primary desktop platform using LWJGL3; was called 'desktop' in older docs.