So in the first two hours of my project, I’ve programmed some basic GUI code. I’m using Java and Swing for the front end since I have a good deal of experience with it. The way I see it, an RPG needs a few core features in the GUI: A way to display stats, inventory, skills, etc., a console for displaying messages and chats, and a main screen to display whatever is happening in the RPG world. I decided that I would use a sidebar on the left side of the screen with tabs for Stats, Skills, and Inventory with a Text Area at the bottom for displaying item/skill/stat descriptions. Then the main screen would be on the right side above the chat/console window. Everything is thrown together using JSplitPanes so that the user can customize the sizing of all the elements based on how the like it. I started with the main code and adjusted down to the subcomponents since I prefer a top down approach. The final product is in the picture below and all of the code is available at my github at https://github.com/kelliott121/IntoTheSky.
You’ll notice the sidebar has separate tabs for each category, making it pretty easily expandable. At some point I will probably add a settings or some such. I’ve also included some example items for each tab. The bottom console has a text area for displaying console messages and a text input area for chatting. Lastly there’s the screen, where I’ve implemented a small example for how it will be set up. I’m using the JPanel class with a GridBagLayout and making a 2D array of JLabels with ImageIcons for the background images. Since I’m shooting for a D&D style grid based game, I figured this would make it the easiest to implement.