Tuesday, July 8, 2014

Time? What Is That?

So, I have a real problem with time management. I've said this in the past, but it is something I really need to buckle down on. Especially now. At this juncture in my life, I am seriously strapped for time. I tried volunteering at the local animal rescue here in town, and have never been able to make it back. I feel really bad about that. Those are some good people that work over there, and they do good things. However, my mornings are taken up with tutoring, and my afternoons are taken up with work and tending to my wife's needs. I love her more than anything, but the truth of the matter is she has issues that require me to give her more attention than most people require of their significant others. This isn't a complaint or me trying to cast a negative light on my wife, merely a fact. We all have issues. Hers just happen to take up more of my time than most. Weekends tend to be full with plans to see family and other things that didn't get taken care of during the week. Then, there are days like this one. My wife is gone at the moment, and I actually have time to do something this evening. These times are so rare, however, I end up wasting them watching videos on the Internet because I don't get to do that any other time. Of course, this time, I actually managed to make myself do something I should be doing a lot more often. Namely, this post. As my wife will be busier with a project of her own for the next month or so, hopefully this will become a more regular thing. At least until that project is over.

Of course, the more I think about all of this, the more I think it's just an excuse. I mean, my cousin has a job where he works a ton of hours, still has a family he cares for (a real family, not a wife and assorted animals like I do), and still finds the time to do regular blog posts. This post in particular was quite interesting and inspired, and was done only a few days ago. And he's already posted twice since then.

I have so many things I want to do, and I haven't done any of them. I've never been good at forcing myself to do things, so things that are hard or take work, no matter how much fun they may be, get pushed aside in favor of watching the Game Overthinker, or some other such show. I shouldn't be watching MovieBob. I should BE MovieBob (in a metaphorical way, not a creepy stalker way). I am intelligent, creative, and have access to the resources required to do something cool and awesome. I should be doing something cool and awesome. I am just missing that all important piece of knowledge and/or drive that allows me to force myself to actually work on a project instead taking the easy way out and Facebooking for an hour before switching to YouTube. I've tried setting aside a certain time to work on stuff, but can't make myself stick to it.

So, I don't know. Is it really that I don't have enough time? Or am I just too lazy? Or is it some combination thereof? I used to have a lot more time, and still didn't do anything with it, so my vote is on the middle one.

I'll find a way to overcome this. I have to. I can't have lived my life without doing something cool when I have in front of me all that I need to do it. I will not accept that fate. I will find a way.

Oh, and sorry for this particular post. It has nothing to do with anything this blog is supposed to be about, but I needed the outlet.

Friday, December 27, 2013

Toldara: Races - Anshus

The Anshus of Toldara are a feline race much like the Khajiit from Elder Scrolls or the Kilrathi from Wing Commander. They were once sacred keepers of the natural world, in partnership with the Karnin, until their alliance with the Karnin fell apart and the Karnin forced them from most of the sacred lands. Today, they still hold on to their ancient duties, even if the Karnin no longer recognize their sacred mission and fight them over it.

<The following is taken from the Toldara Player's Handbook Playtest Version 1.03, and was written by my cousin>

Anshus are renowned for their abilities to hunt and track in the woods. Human armies typically have at least one Anshu scout. Anshus are fairly strict traditionalists and believe their homelands will provide most of their needs. Anshus are typically slow to form bonds with outsiders but when they do, have prove to be steadfast allies. Upon betrayal or when their homelands are threatened, Anshus have prove to be just as powerful adversaries.

Personality: Anshus are never quick to make any decision concerning others; slow to judge or trust outsiders. Those that gain the trust and friendship of an Anshu have gained a faithful companion. Anshus have a deep respect for tradition and generally oppose random change.

Physical Description: Anshus typically stand between 5 and 6 feet tall weighing from 125 to 175 pounds with a generally slim, athletic build. Their features are basically feline with fur that is often brown or yellow in color and even a tail. Anshus reach maturity at the age of 14 years and can live to be 90 years of age.

Relations: Anshus have been in a centuries long war with the Karnin. There are periods of peace between them but the truces are uneasy at best. Eventually, the hostilities seem to be always be triggered again. Anshus share a deep mutual respect of nature with the Elves and often trade goods with them. Anshus get along well with Humans except when they get greedy and try to expand into their lands.

Alignments: Anshus are usually lawful, and they tend toward neutral. Adventuring Anshus may not fit the typical mold of Anshun society.

Anshu Lands: Although Anshus can be found in most places, the largest Anshu populations are typically located in the forests and plains.

Religion: The chief deity of the Anshus is Kitta, the Den Mother. She is the origin of all Anshus in the world. They also revere numerous smaller gods in charge of such things as the seasons, hunting, food, etc.

Language: Anshus communicate with each other by a somewhat primitive language consisting of various feline like sounds. Many Anshus have learned common as well. Most other races can not seem to master the Anshu language.

Names: Anshus have three names. The first name is given at birth by the parents, the second name comes from the tribe, and the third name is awarded by the tribe elders based on the greatest aptitude or accomplishment of the individual.

<Thus ends the verbatim CopyPasta. The following was copied from the same source and same author, but has been modified by myself to follow the Pathfinder rules instead of D&D 3.5.>

  • +2 Dexterity, +2 Wisdom -2 Constitution: Anshus are quick and agile to compensate for being somewhat frail. They have better than average senses, making them excellent hunters.
  • Medium-Size: As Medium-size creatures, Anshus have no special bonuses or penalties due to their size.
  • Anshu base land speed is 40 feet.
  • Low-Light Vision: Anshus can see twice as far as humans in starlight, moonlight, torchlight, and similar conditions of poor illumination. They retain the ability to distinguish color and dress in these conditions.
  • Natural Weaponry: Anshus have clawed fingers that can be used to inflict 1D4 damage.
  • +2 racial bonus on Acrobatics, and Climb checks: Anshus are surefooted an agile.
  • +2 racial bonus on Handle Animal and Survival checks: Anshus do not only live in the wilds, they are a part of it.
  • +2 racial bonus on Perception checks: Anshus have keen senses.
  • Automatic Languages: Common and Anshunti. Bonus Languages: Dwarven, Elven, Gnome, Goblic, and Orc. Smart Anshus learn the languages of their friends and enemies.

    <End Entry>

    As you can see, Anshus are master trackers and hunters. Personality-wise, they remind me of the Kilrathi more than Khajiit.

Tuesday, December 24, 2013

Game Review: Neverwinter

I don't like MMOs. They're not games. They are mindless grind orgies. So, when an MMO comes around that isn't, I get excited. It restores my faith in humanity to a degree. It lets me know that, out there somewhere, are people who still know how to make games. An MMO really shouldn't be much different from a single-player game, except that there are more people online at the same time playing it. Indeed, you should be able to enjoy the game playing alone just as well, or close to it, as you could with others. I think I have found such an MMO. And, what's more, it's free to play! Because of this, I am interrupting my posts about Toldara to bring you a review of Neverwinter.

I haven't yet played it in-depth, so this review will be more of a "first impressions". I had been hesitant about trying the game at all as it was based on D&D 4E. I hate 4E. But that really hasn't affected the quality of the game too much, I was pleased to discover. The download and patch sizes are actually pretty small, compared to other MMOs, which is really nice. Somehow, they managed to maintain good graphics quality with the small size, as well. Kudos for that. When you get the game running, and click on the Create Character button, you are treated to a CGI intro movie that pretty much tells you what's going on. An evil Elf Necromancer has come to the city of Neverwinter with her army of undead and is trying to break through the walls. Due to the valiant efforts of several heroes, the city is safe, for the time being. Yay. Then you actually get to make your character.

You start by picking a race, and your selection consists of the D&D 4E standard core races. Meaning that half of them are Elves for some ungodly reason. Now, don't get me wrong. I love Elves. Always have. Both of the characters I have made in this game are Elves. But, seriously? Three full-blooded breeds of Elves, and the Half-Elf. AND NO GNOMES! THE F***?!? Why no Gnomes? :'(

Anyway, I digress. Human, Half-Orc, Half-Elf, Halfling, Tiefling (another WTF?!?), Dwarf, [Wood] Elf, High Elf, and Drow (<headdesk>). Yes, Wood is in brackets because 4E doesn't actually call them that. 4E just calls them Elves. That only works when you don't have other subraces as part of your Core Race lineup, Wizards of the Coast!

Alright, so far my major complaints are about the integrity of D&D and how much it has been compromised. Totally not this game's fault. I pick [Wood] Elf and move on. The next option is Class. Now, here is where the game seems to fall short. The Class options are fairly pitiful. The only arcane spellcaster is a Control Wizard, which is severely gimps the potential of spellcasters in D&D. There are two types of Fighters, Great Weapon and Guardian, even though the role of the Guardian Fighter could have been filled by a type of Paladin. You also can choose from a Trickster Rogue, a Devoted Cleric, or a Hunter Ranger. Good archetypes for those classes if you're only going to have one each. Just don't understand why they didn't have a Warlock, at least. 4E has some pretty effed up Core Class options, but they're a lot better than the ones presented in this game.

Once again, my choice is simple, and honestly probably not worth the ruckus I just made in the last paragraph. I love Rangers, especially the kind who hunt, so Hunter Ranger it was for me. I know, right? I'm so creative over here with my Elven Ranger. I should be given some kind of reward for how original my character is. But, you know what? I love Elven Rangers. I just do. So, as cliche as it is, that's what I play, when I can. Next, I get to tweak my character's appearance. The options aren't great, but they're not all that bad, either. Especially considering how gawd-aweful some of the customization options can be in F2P MMOs. The tattoos and scars are all the same, no matter which Race, Class, or gender you choose. Other options can be gender or Race specific, though. For example, you can't give your female character a beard, and Tieflings can choose what their horns look like. Sorry, no bearded, female Dwarves for you. Mostly, though, it's pretty standard.

After picking just the right base features, and moving the sliders into just the right spot, I then got to choose my background. This consists of choosing where your character is from, and one of the two or three options per location of what you spent your time doing there. Mostly getting into trouble. You also get to choose which of the non-Faerun dieties you want to worship. Not only is there not an atheist option, but where the hells is Helm? You're given the option to play as a Drow, but not given the option to worship Lolth? I suspect this is more 4E nonsense as apposed to being Neverwinter's fault, but I could be wrong.

I forgot the name of the location I selected, but it was a town just South of a forest, and my character did a lot of hunting there in his youth. Surprise! He also worships the Nature Goddess who helps bridge the gap between nature and people. I forget her name, but whatever. Her symbol is the rose. Finally, on to the last screen. I name my Elf and give him a strange backstory involving being raised by a Human, an Elf, and a Dwarf. The backstory, while a nice touch, does nothing, really. Just gives other players something they will never read when they examine your character. Oh, and my Elf is named Uthrac. Uthrac Townshend. Why such an un-Elvish name? Because, that's why. (Actually it has to do with how effed up he was raised, but whatevs)

So far, this review has had something of a negative tone to it. That's because the character creation process really does leave a lot to be desired. It isn't really all that horrible, but it's not good, either. For a game bearing the name Dungeons & Dragons, character creation is woefully disappointing. Now for the good stuff.

You start the game naked on the beach. A good start. Good enough you wonder why you left this paradise and went adventuring in the first place. Then you realize it isn't a paradise, but instead you were part of the defending force from the CGI movie earlier, and you had your ass handed to you in a big way. Tutorial time! The game guides you through the first couple of quests, telling you how to control your character, equip items, attack and such. It's actually pretty cool. You have to fight off the remaining undead while helping injured soldiers and reestablishing control of the bridge into Neverwinter. At the end, you get to fight a giant baddy that teaches you how to dodge, and how to use all the abilities you gained at that point: both your primary attacks, or At-Will Powers if you prefer, your Encounter Power and your Daily Power. All three terms taken straight from the 4E rule book, and, thankfully, not used in quite the same way as the 4E rule book. The Encounter Powers are on a standard MMO cooldown, while the Daily Powers draw from an action pool that replenishes as you damage enemies and perform other actions that I believe are supposed to be class specific. The At-Will Powers you can use, as the name suggests, at will. No cooldowns to speak of, just point and click.

When I say point and click, I mean that literally. The control scheme is set up more like a 3rd person action game than an MMO. You have a reticle locked in the center of your screen, and your mouse lets you look around. WASD key move you forward and back, and let you strafe left and right. You attack by moving the mouse until the reticle is on the target, and clicking. Your At-Will Powers are bound to one mouse button each. The left-click power is your standard attack, while the right-click power generally has special abilities depending on how long you charge it by holding down the right mouse button. Your Encounter Powers are used by pressing Q,E, or R. At the time of this writing, I have only acquired the Q power. It's a fairly useful, standard MMO-ish ability, and has a short cooldown before you can use it again. Your Daily Power is used by pressing the 1 on the top of your keyboard. It's usually something pretty epic, and takes a percentage of points from your action pool. The Ranger's Daily Power takes up 100% of this pool, so woot! However, it seemed to do quite a bit of damage to the big baddy at the end of the tutorial. Enough more so than my other abilities that I really wished I could refill those action points faster.

The Class balance needs some work, as well. After the tutorial, I played the game with my wife, who was playing a Dwarven Great Weapon Fighter. As a Ranger, I was doing more damage than her. Something about that just isn't right. Yes, yes, Tank versus DPS, but this is D&D. Rangers aren't DPS. Arcane spellcasters, Fighters, and Barbarians are DPS. Certain builds of Fighters, Paladins, and even Barbarians *can* be Tanks, but anything with "Great Weapon" in the name shouldn't be designed for tanking damage. It should be dishing it out. And at much greater quantities than my dinky little arrows would be able to. Yet, somehow, with a single use of my right-click power, I could clear a room before anyone came anywhere near me, while she would have died had I done nothing. It was weird. But, as a fan of Rangers, I can't complain too much.

The quests, at least so far, make you feel like you're in a story instead of just being led to the next, infinitely re-spawning mob so you can collect a predetermined amount of useless crap to give to the quest giver, or kill a certain number of them to "control the population." You actually have a goal, and you have to fight your way to it, rather than the fighting and killing being the goal. This is how quests are supposed to be. They have their own story, as well as furthering a bigger one. They have a personality. Or they should. Most MMOs can't seem to fathom that. They want the boring, mindless crap heap quests that pollute WoW and its ilk. Within quests, there are certain loot containers that can only be accessed by certain classes, unless you have the right kit to bypass it. It's a good way to reward having a varied party, while still letting a small party, or even a single player, have access to all the loot if they have the resources. It also gives you a sense that a little more thought went into making the quest than most MMOs can seem to spare. It's also worth mentioning that there is a quest creator that allows you to make your own quests and publish them. I haven't played around with it, yet, but it's there.

After all is said and done, I really did enjoy this game. The character creation could use an overhaul, but wasn't absolutely horrid. Certainly not a deal breaker. The gameplay itself was amazing, especially for an MMO, and the quests are well made. Not quite as well made as the quests in DDO, but really good, nonetheless. I really wish more MMOs were like this one.

Saturday, December 21, 2013

Masterwork Adventures: Toldara: Something Wicked

Well, upon playing with One Note, I have decided that it is a fairly amazing program. It's nice to know Microsoft can still do something right from time to time.

I have tried running a D&D campaign based in the world of Toldara before. It met with quite a bit of success, but I have had a bit of a falling out with the group that was playing it. However, I had an idea for a new campaign. It was inspired by Pathfinder's Bestiary 4, if that gives you any indication as to what kind of campaign it will be. If you're familiar with the book, you can probably guess what my endgame is going to be, as well. I'm also incorporating the Mythic rules, and intend for the final party to consist of level 20 characters all with 10 Mythic Ranks. The final battle should be pretty epic.

I will be using One Note to plan out and keep track of everything for the campaign. I will also be posting it Obsidian Portal (https://www.obsidianportal.com/) when I have a little more planning done. I will try to be keeping up with it there as well, so check it out if you like. Obsidian Portal is an amazing website for campaigns, and it's free. It does have a premium option that would be well worth the money, but you don't need it. The free features are great.

The name of the campaign will be Something Wicked, and will find the PCs discovering that something is not quite right about their world any longer. Something has arisen, and is corrupting the whole world. There are powers in Toldara who are working to stem the tide of the corruption, but only one individual, an outcast from an ancient sect of the precursors to the Techno-Mages, has put his faith in an unlikely solution: the PCs. I will be allowing any Paizo published races and classes, as well as the races and classes my cousin and I created especially for Toldara. I would also be open to 3rd party classes and races, but would have to approve them first. The Players will begin in the capitol of the first and greatest human kingdom: Kalrock, the Bronze Empire. Named so due to the ancient alliance the humans of Kalrock have made with the Bronze Dragons who live in the complex cave systems underneath the castle and surrounding area. It is in this city that the PCs will likely be spending most of their down time, and is also where they will get their first indication that something is horribly wrong. Why they are in the Bronze City, and how they got there, will be up to the Players. However, should someone need help with this, I have an NPC in mind that can guide and/or lure them there.

My next few posts will be finishing up the Race entries for the four custom races we have come up with for Toldara, as well as the Elementalist class, an arcane spellcaster who is somewhere between a Sorcerer and a Bender from Avatar, the Tinkerer class, an engineer type class, and the Priest, think Cleric except trade in the martial combat and armor proficiencies for charismatic interaction and powered up spells. The Priest can probably be worked as a archetype for the Cleric, if it hasn't already been done. The Tinkerer might also fit well as an archetype of the Alchemist, but I'm a little less sure of that one. The Elementalist is going to be it's own class with four archetypes to choose from, one for each element.

This is going to be a heck of a ride, and I am looking forward to it. Until next time. ;)

Wednesday, December 18, 2013

One Note

Well, I said the success of this blog would be a measure of the success of my life, and that hasn't been untrue. Up until recently, I have been droning along. Things are different, now. I have a lot more free time, and, as of next month, if I can ever get my adviser to call me back, I'll be going back to school and getting my MIT degree! Starting now, and throughout school, I will be trying hard to be productive again.

My first task: learning One Note. I've heard it's a pretty cool program, and it seems to have some use as a writing aid. If I can use it to keep track of characters, locations, and significant events, it would be a great help to my writing, in both fiction and in RP adventures.

So, wish me luck . . . again. One of these days, I might actually get this right.

Sunday, July 28, 2013

Source Code of the Universe: My First Game Pt. 2

So, after thinking on it for awhile, I realized that the JLabel, location, and the JTextAreas, view and comm, need to be declared as global variables, as they will be manipulated by other methods. Also, added a line wrap to JTextArea view, as it will contain enough words to require it. I thought I was going to use ActionListener to tell when the user pressed ENTER. Looking into it, I found that using a key binding was a better choice.

My first attempt at using the key binding involved attaching the binding to the component most affected by it: the JTextArea called comm. It's where the user will type the commands. When the user presses the ENTER button on the keyboard, I want the program to take what the user has typed and submit it to a method that will check the text for keywords. However, when the binding code is attached to comm, the program only recognizes the button press when that component is in focus. If the user has clicked elsewhere on the window before pressing ENTER, nothing will happen. I need to attach the code to the entire window instead of just that component, so that the event will trigger whenever the ENTER button is pressed, not just when that one component is in focus. Granted, it will be rare for the user to press ENTER after selecting a different component, but I want to cover those rare instances. Especially if I ever want to add timed events to this project, or future projects that use this same engine. I don't need the user feeling added frustration at failing a timed event because the comm component accidentally lost focus before he or she could press ENTER. As it turns out, all I have to do to accomplish this attach the binding to the view component as well. The code ends up looking like this:

comm.getInputMap().put(KeyStroke.getKeyStroke("ENTER"), "inputComm"); comm.getActionMap().put("inputComm", inputComm); view.getInputMap().put(KeyStroke.getKeyStroke("ENTER"), "inputComm"); view.getActionMap().put("inputComm", inputComm);

Now, not matter where you click in the window, the program recognizes when you press the ENTER button. Next step is to take whatever the user has typed into the text area, pass it to a method that will check it against available commands, and clear the text area so it is ready to have another command typed into it. Also, I think I am going to add in the functionality of letting the user instantly retype the last command entered by pressing the down button, like DOS used to. Just in case you wanted to do the same thing again, or if you typed something wrong and wanted to try that command again after correcting the error without having to retype the entire thing. This requires another global String variable called lastComm.

Next time, we examine the method that looks at the commands the user give the program!

Tuesday, July 16, 2013

Source Code of the Universe: My First Game Pt. 1

So, I've been reading a blog known as Twenty Sided. It started out as a D&D blog, hence the name, but has become a lot more since. On it, Shamus Young talked about writing a program that procedurally created a night-time cityscape. Reading about his adventures in programming made me start itching really bad to do some programming myself.

I've always loved programming. I'm not great at it, not even good at it, but I do love it. I started with QBasic on Windows 95/98. I tried to make an Interactive Fiction game with it, but never finished it. I didn't know enough to even have a working inventory. After that, I dabbled a little in C++, but my real know-how, if it can actually be called that, is in Java. That's the language I studied in College, and the one I know the most about. I like it because it seemed a lot easier than C++ (though it as been a while since I tried C++), yet was still capable of a lot, and was easily portable to other platforms. As in, no additional programming required because it runs in its own environment.

My idea for my current project isn't as grand as a 3D cityscape, but it's probably the biggest project I've attempted. I'm revisiting my IF roots, and I'm going to try and make a really short, and really crappy Interactive Fiction game, complete with multiple endings and a fully functional inventory system. We'll see what the final project ends up looking like.

The first thing I need to do before I ever even touch a code editor is figure out what I'm doing. I have a story in mind: You are the Hero of the Universe, though no one knows that because you haven't saved shit, yet. You are looking for the mythical Biforce, which has the power to destroy the Great Evil that has descended upon the galaxy. You have tracked it's location to a dinner on the edge of the Galaxy, and, after a thorough search, have come to the conclusion that there is only one place it could possibly be - the women's bathroom. As you are the Hero of the Universe, and not the Heroine Of the Universe, this poses a problem. Especially with the big, burly guard that won't let males into the bathroom. Apparently, they've had issues with that sort of thing.

So, that's my premise. The game takes place entirely within the dinner, and there are only three rooms: the main dining area, the men's room, and the ladies' room. Maybe one or two other areas as the story requires, but that's really it. I have at least one solution in mind, and an idea of how I'm going to set everything up, so I guess I can dive into the fun part for awhile.

The first thing to do, programming wise, is set up the additional Classes I'm going to need for this program. I'm going to use two, one for the rooms/areas, and one for the objects in those rooms/areas. Let's see what we can do.

public class Object { String name = ""; String shortDiscrp = ""; String longDiscrp = ""; boolean inInv = false; Object(String n, String s, String l) { name = n; shortDiscrp = s; longDiscrp = l; } } public class Room { String name = ""; String shortDiscrp = ""; String longDiscrp = ""; String[] objects; Room(String n, String s, String l, String[] o) { name = n; shortDiscrp = s; longDiscrp = l; objects = o; } }

This is a very simple start. I can't, yet, think of everything these classes need (or maybe I have), but I can go back and add more stuff in later if the program requires it. Yes, I realize that this is not the proper way to program. You're supposed to know what it is you code is going to do before you start typing. However, when working for fun, I like to take the approach of coding is like painting; you start off with the basic colors, and add more detail as you go. That, and I'm just too lazy to write out all of that before I get to the fun part.

Now, to set up the Main method and get our opening screen to display.

public static void main(String[] args) { JFrame biforce = new Biforce(); biforce.setVisible(true); } public Biforce() { setTitle("Biforce"); setSize(1000,700); setLocation(300, 100); setLayout(new GridBagLayout()); GridBagConstraints gBC = new GridBagConstraints(); setDefaultCloseOperation(EXIT_ON_CLOSE); getContentPane().setBackground(new Color(100, 100, 100)); gBC.fill = GridBagConstraints.HORIZONTAL; gBC.gridx = 0; gBC.gridy = 0; gBC.weightx = 0.2; gBC.weighty = 0.2; gBC.anchor = GridBagConstraints.FIRST_LINE_START; Label location = new Label("Title Screen"); location.setSize(1000, 10); location.setForeground(new Color(220, 220, 50)); add(location, gBC); gBC.gridx = 0; gBC.gridy = 1; gBC.gridwidth = 3; gBC.weightx = 1; gBC.weighty = 10; gBC.fill = GridBagConstraints.BOTH; JTextArea view = new JTextArea("Welcome to Biforce!!!"); view.setSize(1000, 680); add(view, gBC); view.setEditable(false); gBC.gridx = 0; gBC.gridy = 2; gBC.weightx = 0.00001; gBC.weighty = 0.2; gBC.gridwidth = 1; gBC.fill = GridBagConstraints.NONE; gBC.anchor = GridBagConstraints.LINE_START; Label c = new Label("Type Command, then press ENTER:"); c.setForeground(new Color(220, 220, 50)); c.setSize(300, 10); add(c, gBC); gBC.gridx = 1; gBC.gridy = 2; gBC.weightx = 10; gBC.weighty = 0.2; gBC.gridwidth = 2; gBC.fill = GridBagConstraints.HORIZONTAL; gBC.anchor = GridBagConstraints.LINE_START; JTextArea comm = new JTextArea(); comm.setSize(690, 10); add(comm, gBC); }

This sets everything up and gives us a screen that looks like this:

At the moment, this is exactly what we want. It took a little tweaking to get it this way. I've never used GridBagConstraints, before, but I needed the control it provided over where elements went, and what they looked like. I think it turned out rather nicely, if I do say so myself.

Next time, I'll be creating some Rooms, some Objects to go in those Rooms, and adding the ENTER key functionality that will allow us to travel between those Rooms and manipulate those Objects.