Browsed by
Category: Weekly Content Blog

Weekly Content Blog #33: What’s new?

Weekly Content Blog #33: What’s new?

Wow, hard to believe we’re already at Week 33! Initially, this Development Blog was to record all of the week-to-week changes as production continued, and note any new additions (Or subtractions) of the core content and features of the game as time went on. Instead, this development log evolved to be more than that. We delved into musical influences of past composers who influenced the sound of Shadows of Adam, we have a three-part series about budgeting the art costs of an RPG, we have an article taking a look at some of the retro flaws afflicting some classics, we have level design articles and we even have some boring technical articles. Looking through our post history, I noticed we don’t have many articles where we talk about what we actually worked on between posts, so I am dedicating this week “Development Log” towards a changelog of what changed since my last post on September 22, 2015, and quite a lot has changed!

New Menu Skin

The old item menu
The old item menu

menu-item-new,pngmenu-newmenu-save-1menu-save-2

We wanted the ability to change window skins (ala Final Fantasy window colors), and unfortunately the old menu skins were simply a single image texture that had text aligned to match the image. This doesn’t give us any flexibility at all, and makes it impossible to add any movement animations to individual windows since it’s all one big image! Well, that was all fixed! We introduced Scale9 image support and completely re-worked the UI so we can add multiple different window colors, and have it be an option should the player wish it. I think it looks nicer, and it’s easier to work with as well! Still some alignment issues to do, but nothing major 🙂

Area Text Enhancement

area-intro

(Image is a GIF) You know in -some- classic RPGs when you enter a new area, a helpful box appears telling you the area name? We always had that simple feature in, but the area box had to be called using our scene system before it would appear. As such, it was only being used during certain puzzles. We improved this functionality so the area intro actually acts as an area intro, but only fires off once. You want to always be told which area you’re in, and don’t want to talk to the nearest town guard? I’m sure I can make an option for that.

Named (string) IDs instead of numerical IDs

I still find it hard to believe this ‘developer sanity’ feature wasn’t pushed more heavily by the team. Basically, we were using numerical IDs instead of named IDs for EVERYTHING. You want to add a treasure chest to a map? You have to go into the item data files, find the name of the item or piece of equipment you want to give the player, collect it’s ID and then attach that number to the chest object. Oh, what’s that you say? You can collect the item continuously and the chest never goes into it’s ‘Opened’ state? Wellll, for that you have to go into our ‘Treasure IDs’ worksheet on Google Sheets, assign a ‘treasure switch ID’ to your chest in the sheet (To prevent someone from using the same ID) and then assign that number to the chest. BOOM! Your treasure chest is now working! With a named ID, now you just reference the name of the equipment by it’s name, give it a opened state name and BOOM done. No more going back and forth spending coveted development time searching for the ID of the “Basic Armor”, or navigating development folders trying to find the treasure chest switch ID list. Now, it’s all automatic.

Why we never did this sooner? We’re stubborn here in SC land 😉

Quest Flow Engine

quest-flow-1quest-flow-2quest-flow-3quest-flow-4

I can’t believe it took us this long to get this feature in. Our ‘de-facto’ way of handling quest flow for the game is by using boolean switches. Nothing wrong with that, right? Well, our switches (and variables) in the game suffered from the same problem mentioned above. It was all numeric numbers, and was not stored in a human readable way like an actual WORD. You meet a witch in the woods? She turns switch 113 to 1. If switch 113 is 1, then a new monster spawns and turns switch 127 to 1 and 114 to 0. These numbers mean nothing to me (And I’m one of the developers!) Now, with our named IDs, it is very easy to manage our quest flow. Our ‘Quest Flow Engine’ consists of two parts:

  • 1.) The controller
  • 2.) The trigger
  • The Controller is a special object that can be activated by any other game object. All it does is control the state of the game. If your quest flow looks like: ‘talk to Bob’ THEN ‘innkeeper lets you into the secret room’, then once the player talks to Bob, the ‘Bob’ game object tells the controller “Hey, the player talked to me! Set the “Talked_To_Bob” state to true!”
    The trigger is made up of two parts: The condition and the logic. A single trigger can have any number of conditions or logic associated with it. If the Controller has the power over the game state, the trigger has the power over the properties and states of each game object. So using the prior example, the trigger could be waiting for the “Talked_To_Bob” condition to be met, and once met, fires off some logic which updates the ‘Innkeeper’ NPC to allow the player entry into the back rooms.

    Joypad Support + Control key rebinding

    Joypad support was in for awhile, but we never really talked about it. Shadows of Adam supports any Gamepad that uses the XInput API. The standard gamepad using this API is the Xbox 360 controller. If you have an older gamepad that uses DirectInput instead of XInput, we don’t support it natively, but you -may- be able to use additional software to convert the DirectInput signals into XInput signals. Further, we’ve also added in key re-binding. This is a must-have feature in my opinion. There is no way every single player of your game will enjoy the default key bindings, so having the option to re-bind goes a long way!

    Skill Leveling

    Each character has seven core skills, with the exception of Asrael who has eight. We wanted to avoid the level-up mechanic found in classic jRPGs where a party member learns a more powerful version of an already learned skill (Fire 1, Fire 2, Fire 3, etc), so at the end of the game the skill list is populated with a large amount of identical skills of varying strength. Instead, we decided to use a character MP pool, with each skill taking a certain percentage of the characters available pool and a base percentage is recovered each round. Each skill becomes more powerful as a character gains higher attribute points, and the cost of casting a skill remains mostly fixed. I say ‘mostly’ because we wanted the player to be able to customize the builds as each hero becomes more powerful. So we took a page from Super Mario RPG. Every time a hero levels up, the player can choose a single level-up bonus. These bonuses can be a stat boost, a reduction in the cost to cast a skill, and once in a while; a Skill Levelup, which changes the functionality of a single skill to make it much more effective and useful. Every skill can be upgraded three times, but the final “Ultimate” version of the skill may require more than just an option select 😉

    That’s it for this week, I hope you enjoyed this post :). If you have any suggestions on what you would like to see us write about, let us know either in the comments below or on one of our social media accounts, and we’ll see what we can do 😀

    See you next week,

    Tyler

    Weekly Content Blog #31: U and I can make a good “UI”

    Weekly Content Blog #31: U and I can make a good “UI”

    Hi everyone!

    This is Tyler from Something Classic HQ, located in a bunker somewhere in the mountains of South America. This month has been exciting as we are finalizing our design choices on our new Battle UI. As the game’s composer, I have also seen myself evolve into a sort of “all purpose” guy for the team. I do minor map making, scene design, and lots of micro edits. This has led me to do some battle system testing and UI adjustment.

    The game’s battle system has gone through a lot of changes as the game’s scope evolved. Originally when it was a two person team, Josh whipped up a quick and easy turn based battle system. This system ran smoothly, worked well, but lacked a lot of options.

    First Battle Design

    Somewhere along the way we decided to update graphics and add more options to the battle system, such as counters and flashier attack animations.

    Battle 2

    Eventually after months of fierce debate, chairs thrown through windows, and decisive arm wrestling matches we decided to completely redo the battle system from the bottom up to allow more flexibility, smoother UI, and easier customization.

    Battle Current

    We also moved towards a % based AP system. This system sets each character with a finite pool of AP which does not change. Skills and Magic have fixed % costs, but the skills scale throughout the game. No Fire 1, Fire 2, Fire 3 – but rather a dynamic set of unique skills with morph and grow with your character. This opens up many possibilities for the player to customize how your characters grow. Possibilities we will share in a later post.

    In general though, a good UI design must balance:
    1. Functionality
    2. Ease of use
    3. Visual aesthetics

    We can all think of our favorite menus that do all of the above. Older retro rpg games are known for their clunky UIs. Final Fantasy 1, Pokemon and Earthbound are the most notable examples. The games that stand out to me as having exceptional UI design are Chrono Trigger, Final Fantasy 7, and Super Mario RPG. What do you guys think?

    I’ll leave with a great article written by Pat Holleman, who runs The Game Design Forum, an incredible resource for any potential game makers. This is his article discussing UI and Menu Designs.

    Thanks for reading this and stay tuned for next week where we will reveal our final character, Talon!

    Weekly Content Blog #24: Retro Flaws

    Weekly Content Blog #24: Retro Flaws

    It’s no secret that we here at Something Classic are very much into retro games. With an average age of 28, we cut our gaming teeth on early 90’s titles that are now firmly established as, to use a technical term, “oldschool.” Gaming has progressed forward significantly in terms of technology, presentation, and user experience since that era. Now, nostalgia is a powerful thing, and our collectively rose tinted glasses can cause us to overlook some of the blemishes in the classics. So, to counteract that, I’m going to identify some gameplay faux pas that existed in older jRPGs that we made sure to avoid.

    Read More Read More

    Weekly Content Blog #23: Post-processing

    Weekly Content Blog #23: Post-processing

    So after going over your level design budget trying to figure out how those darn attractive tiles connect to each other, you finally figure it out and have a level. Congratulations! Your game is complete and now you can release and retire to a Nepalese Monk Monastery. Wait, what do you mean the level is bare and has none of that extra juice?

    magma-sanctum

    You let out a loud groan of despair and shake your fist at the user who ruined your retirement plans. As you return to the lowly confines of your office, you plan how you’re going to make the level built by Luke the Wondrous the most amazing level yet seen in the game. You’re young, idealistic and invincible. What can you add that suits your greatness? Which type of effect can be found littered throughout every triple A game? That’s right, post-processing effects.

    scene-blur

    Nothing can bring you down now, for you possess the power of post-processing effects! Now let’s see them say there is nothing to do! Now let’s see if they can find all the secret effects littered throughout the level to unlock the secret super badazz effect boss that can only be beaten with the power of love.

    Shadows of Adam is using two methods to handle post-processing effects; the first, and main method, is using WebGL to render advanced effects in real-time that require full image awareness. Our second, and fallback/OMGNOWEBGL, method is to use native canvas API capabilities to either fake the desired result through hackery, or imitate the effect exactly, but with a noticeable performance hit. Our planned minimum hardware specifications for release is a AMD E3-350 CPU with a AMD Radeon HD 6310 video card; This is pretty low-end hardware, and is primarily found in cheap notebooks or media/playback machines, so hopefully the vast majority of the players will not have any problem playing the game with all of the post-processing effects firing off at it’s highest quality setting.

    I initially had a lengthy article planned about how these effects work in our game, but this post is already a few hours behind schedule and I’ve gone and borked the entire game:
    borked

    and I may be using a tiny bit too much VRAM
    Le-sigh

    So I’ll leave a bunch of images at the bottom, along with a GIF, and use the time-tested excuse of “It’s a feature” and see myself out….

    lens-blur

    vibrance-1

    sharpness-adjustment

    Okay fine, I’ll fix it. Only because you, the reader, are awesome and deserve a product that works.