Happy New Year! It’s now 2021 and no matter who are, where you are, or when you’re reading this – I hope you have/are having/had a fantastic life this year!
I was lucky enough to spend the first week of the year on vacation in beautiful snowy Colorado. We visited my girlfriends family out there and had a great time. Here’s a video of the scenery from the drive and a few pictures from hikes we went on with the fam:
Being around friendly new people, listening to funny stories, eating delicious family dinners, and taking a break from my usual routine was the perfect way to start the new year. A reset button. It put my whole daily schedule on pause so I could take a breath and experience something new. We hiked and watched the siblings play the new Final Fantasy 7 Remake on my girlfriend’s new Playstation 4. It was nine days away from work and an escape from being quarantined in the house. Fresh air, good people, and good conversation. It really rejuvenated me to start the year with full force.
Game Update for Omnia
Throughout the last week during downtime I worked on my laptop coding more of the fun video game project I’ve been playing with lately, Omnia. Over those 9 days away I was able to make 34 commits to the code base – which was a lot for me. I was able to finish adding the JavaFX framework to the project and get the game running on it without a hitch.
I used that to convert the menus into clickable buttons that look exactly like the old menus…
Then I added the first UI window to the game, a Chat Window. It might sound slightly unimpressive, but I’m really happy I got it working the way I envisioned it. Main breakthrough is that the window works the way windows do in your computer: you can hold a mouse click on the title bar to drag it around and position it in the game screen…
With this ability to drag UI windows and position them in the game opens the door to creating all the other UI windows for the game.
The chat window accepts messages and displays them in the main area of the chat window. I added three different chat commands to test different outputs and colors. Much like popular MMO games like World of Warcraft, Guild Wars 2, or Elder Scrolls Online. Right now this includes ‘Saying’, ‘Shouting’, or ‘Whispering’ messages. They all show up with different colors and outputs…
The idea is that ‘Say’, ‘Shout’, and ‘Whisper’ will allow NPCs in the game to see and respond to your messages.
So next, I added a few NPC characters from a sprite sheet I found from one of the original Pokemon gameboy games. Then I added code that lets two different NPCs respond to your messages differently. The NPC named ‘Doc’ will respond to a message that contains his name and either ‘Hello’ or ‘Greetings’. The NPC named ‘Bro’ will respond to a message that contains his name and either ‘Yo’ or ‘Sup’. Each of them respond with a chat message with one key trigger word in brackets. Doc’s trigger word is [synchotrons], and Bro’s trigger word is [gnarly]. If you include these words in a chat message, they respond again with a message that will begin a quest dialog… here’s another demonstration:
I’m really happy with this progress, if you couldn’t tell. I honestly didn’t expect to figure out how to create the UI window, the chat, the messages and responses, and the other smaller things I worked on this week – I think taking my vacation and getting out of the house helped ALOT with that.
With as excited as I am, the truth is… there’s still more to do. A ton more. I’ve made it so that the NPC will stop pacing back and forth to speak with the Player, but I’d like them to continue their pacing movement after a certain amount of time if you don’t talk to them again. I’d like to improve the architecture of the code that does all this, too. My work over the next week or two will be focused on fine tuning things like that and adding a quest system so that you can start and complete a quest.
Beyond that, I’ve done a ton of planning so that I have a rough outline of everything I’m going to add to the game in the next couple months. After I create a few quests I’ll be adding a money system so that you can get a reward from the quests. Then a merchant system and NPC so that you can buy items with the money. Then an inventory system so that you can store and equip/use those items. A ‘worn’ inventory so that your character’s appearance changes depending on the equipment you’re wearing. Finally, I’ll be adding a lot to the world… that includes structures like buildings and caves, adding doors so that you can enter them, and indoor levels so that you can walk around in them. Adding movement improvements, like jumping and dodging, is on my list too.
My girlfriend talked for hours about the storyline of the game, the world, the flow of playing the game. We got many great ideas started… and if we can pull off even a few of them I think this game will be worth finishing and giving it out for people to play. Yet, that’s entirely different side of creating the game that can’t even start until I write much… much.. more code.
So, with all of that work lined up, I’ll wait until I have a large portion done before the next time I blog about it here…. with the exception of a short video or two. No more long drawn out explanations. I’ll save that for the Omnia website – whenever that gets started! I was just so happy to have figured those few things out this week that I felt like I had to include it in this post.
Enough about me and that silly video game. Here’s a 90 minute playlist of random videos I found interesting over the last few months. Let me know what you think of them…
Until tomorrow… have a great day!