Saturday, August 17, 2013

Into the Sky: Hours 1-2

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.

Thursday, August 15, 2013

Game Design Project

One of the main types of coding projects I periodically come back to is game design, with my preference being RPGs.  As a kid, I played a handful of MMORPGs and some D&D, and at one point aspired to be a writer.  Since then I've ended up quite a ways from publishing my own novels, but I still enjoy thinking up entertaining fantasy and scifi scenarios as a creative outlet.  One bonus of being able to program is that I actually have the capability to implement some of these scenarios in the form of a game (assuming the art doesn't need to be above a 3rd grade level).

So I've fiddled around with a few RPG programming projects in the past couple of years, with none of them really going anywhere.  Just the other day, I started another one I've been conceptualizing for a couple of months.  Last spring my roommates and I started doing weekly D&D sessions, but after graduation it's been pretty much impossible for us to set aside time to learn the online D&D tools in addition to the hours it could take for a single gaming session.  Parallel to that, I also pondered about a science fiction game focusing on early space travel for humanity.  I personally enjoy science fiction shows and books about humanity's crawl from where we are now to an interstellar society.  I find near future, or at least futures heavily rooted in the present, settings to be the most compelling.  So I thought about different ideas for how we could reach the technology of interstellar travel and how that would relate to an RPG.

Since I will most likely never get to the point where I can design a high end 3D game, I've decided to shoot lower and attempt to combine the story I was creating with the game mechanics of Dungeons and Dragons.  This way I can hopefully one day soon continue my gaming sessions with my roommates in addition to providing myself a creative outlet.  With work, however, I can usually only average one or two productive hours a day, so I'm going to try and break down my design process on this blog hour by hour.  This way I'll be able to have an in depth view of how my game develops and hopefully some input from readers.

Wednesday, August 14, 2013

Life Update

It's been a while since my last post, and quite a bit has happened in my life.  I've graduated University of Delaware with my Bachelor's and have two classes left until I finish my Master's Degree, which I hope to do this Winter.  I will be taking this classes remotely from my new home in Pittsburgh, where I'm also working full time at Aerotech Inc, a motion control solutions company.  I've been there for about a month now, and it's been very interesting so far.  I've learned quite a bit about how larger companies operate as well as some professional programming styles.  I'll most likely be working very closely with DSPs and FPGAs, and I look forward to learning a lot about them!