A Summer Progress Report

Arashi and Ket by the forest river

Hello again everyone! First off, I have to thank you all for your patience while following this project. As a solo developer in a field that has been exploding with new teams with amazingly fast turnarounds I’d like nothing more than to pick up people, but until I have funding I’m pretty much in this for the long haul. So, I’d like to explain where I’m at personally before updating you on the progress of the game itself.

I’m finishing up my senior year at UC Berkeley, with at least one more semester to go (possibly a full year, but I will find out this week for sure). Even though I began studying for a mathematics degree, I’ve since added a film studies double major after realizing that it is where my passion truly lies, so I’m hoping to fit all this in before I finish undergraduate studies. If I do get the full year, I want to do an independent senior thesis on the video games medium. With my work writing about NieR: Automata for my film classes already, I’m pretty inspired to begin addressing the similarities and differences between the two media. What I plan to do afterwards is still up in the air, but I hope I’ll finalize my plans soon. Ideally, of course, I’d want to be working on Shadowdawn full time, but we’ll see how that pans out. Otherwise, besides dealing with depression that eats up way too much of my free time and loves challenging my confidence, I can’t really complain about my life. It probably doesn’t help that I stress out constantly about what other people are working on and how it affects my own work; I mean, to be honest, it’s difficult to see my concepts get brought to life by other teams first, but it is what it is. I just have to make a better game 😉

For Shadowdawn: Genesis itself, well, there’s so many things to talk about, let’s just get to it!

As a quick recap, I scrapped everything I had done for XNA 4.0/Xbox 360 at the start of 2016 and started the engine completely over using MonoGame. Most of my development time has been redesigning and implementing better code in order to support cross-platforms better, as well as keeping the engine flexible so I can fix and add things more easily. It’s also been a great opportunity to address quality-of-life features that I had long put off including in the old engine, so already this game is far beyond what I had accomplished before. I am still not what I’d consider a programmer by any means, but I can’t help but be proud of the new BBQSR2 engine (BBQ Spare Ribs 2.0 for those new to the game).

Other than most of the base user interface/menus and the trees (which I may replace soon with better pixel art once I turn my attention to content generation in full), every graphic has been replaced. I’ve even redesigned the entire cast, in an effort to solidify their designs, as well as to have them better fit with the plot and setting. Most of the later party additions never quite got the attention they deserved, so I made sure to give them extra work this time. I’m still on the fence about sharing the entire party before releasing the game, since there’s something to be said about not knowing ahead of time who you’ll get to recruit, so for now I’ll only be sharing Arashi and Ket:

Arashi Kageyama Concept Art
Arashi Kageyama Concept Art
Ket the Blackwing Concept Art
Ket the Blackwing Concept Art

Arashi has been an ongoing project to refine, but I finally got it. I’ve always had certain disparate elements in mind, but I never was quite satisfied with how they combined, along with the smaller details. Her original design back in 1998 was based on Himura Kenshin from Rurouni Kenshin/Samurai X , which to people who know anything about fighting games was also the inspiration for the character Baiken from Guilty Gear. Arashi was a female samurai who had joined a previously male-dominated secret service called the Kinshutai, where she was famous as one of if not the best at swordfighting and tackling missions alone (though most of the time with Ket). This similarity had been hounding me forever until I started Shadowdawn: Genesis, when I chose to go to a younger Arashi who had not yet been established, and let me rethink the character from the ground up. I also spent more time actualizing the setting, a magic-as-technology modern-style world that had a mix of dwindling past tradition, sci-fi future, and modern-day sensibilities, which changed her design and character considerably. Since her first concept, I’ve had many more influences, and Arashi has sort of become a synthesis of many concepts which I’ll be happy to detail later when I share more artwork. But above all, Arashi is just a girl who has yet to find her place in life, and does her best to face the future despite no assurances that anything will work out how they’ve been promised.

Ket, on the other hand, started out much more simply. I’ve mentioned before, but he was just a telepathic (mind-speaking) housecat that followed Arashi around in his first iteration. My friend told me that seemed kind of plain given the RPG fantasy/sci-fi setting, so I decided to flesh out a race of large cat-like creatures called the Kalille I had been teasing for many years in my story. I had few influences here, only limited by my lack of ability to draw animals until recently, but I have had to be cautious over the years because of unfortunate similarities to other similar characters in anime and games. I’ve heard it all, comparisons to Keroberos from Card Captor Sakura, Nall from Lunar: The Silver Stareven Red XIII/Nanaki from Final Fantasy VII. I can only hope his character differentiates himself from all these on his own, because it’s surprisingly difficult to make a cat-like character in RPGs stand out from others without going too wild. I think his latest design is a good mix of the futuristic technomancy that is the foundation of the world, as well as hints to the alien nature of the Kalille. How Arashi and Ket’s friendship plays out will be at the heart of the story, you can look forward to that.

I’ll end off with a list of all the new features, adjustments, and progress for the engine:

  • Lots of work on the usecode scripting “language”, especially the addition of variables. I realized while implementing the spell “Absorb” that I had no way to store how much damage the spell had done to the enemy in order to recover hit points, so I had to add this feature in. Once I did, it added a whole new realm of possibilities for scripting.
  • Along with the addition of variables, a lot of redundant commands have been compacted into a single command for easier manipulation of world objects.
  • Implemented 3D sound, so that if the player or other npc triggers a sound script, it can originate from a specific point, and thus distance/location will give audio clues where it came from. On my upcoming task list, there will be an optional a visual clue for gamers who are hard of hearing or choose to play with the volume off (or simply just want more data to react with).
  • Since I have yet to record voice for the game, I have implemented text beeps ala retro RPGs. Each actor has their own tone and pitch to accompany the on-screen text.
  • Took me awhile to bring these back in, but the new engine now has damage numbers again. They bounce a bit more interestingly now, too, as well as can have color coding for various status effects.
  • The HUD status portraits, positioned by the HP meters, now have expressions to match the player status. This is a small detail but I noticed it in most RPG series and felt like it was a natural thing to include that I hadn’t considered before.
  • Health now automatically recovers after a set amount of time after exiting combat/threat mode. It does not heal instantly to 100%, but recovers at a generous amount with fixed time intervals. Originally, the only regeneration ability was found on equipment, but I realized many players would feel obligated to use up slots in order to regenerate health between battles and my whole philosophy for designing this game is to let players have options. I’m still working on a motivation to have players rest at inns/campsites, which is the only weakness to automatic health recovery.
  • Time-of-day triggers now work, as well as a proper scheduler. This will allow me to set NPC schedules based on time of day much like Ultima VII: The Black Gate and The Elder Scrolls games, as well as other time-specific events.
  • Finally implemented a targeting system. Seems like I would have had this from the beginning but this has been one of the biggest engine features I had put off, even in the old engine, simply from lack of motivation to tackle such a potentially difficult task. Without this, there was no way to aim spells or skills at enemies (or allies), but this is no longer the case. And of course, it took less than a night to implement, so I felt dumb.
  • Party members now correctly follow formation. If Arashi/the player moves within the formation grid, the party members won’t shift because this is how you break rank to talk to party members.
  • Have tons of equipment icons now completed. Another thing I had been dreading, but it turned out to be not that big of a deal and really adds a sense of “completeness” to the game.
  • Fish now visibly swim in the water. You can try to catch them by hand if they swim too close to shore, or use a rod to lure them in and snag them.
  • Finally fixed a silly oversight of not letting the left-analog stick navigate the menus along with the D-pad.
  • New map features such as layers/depth, and parallax scrolling for backgrounds. This is an old trick but an effective one to add the illusion of 3D and also give an excuse to have pretty painted backdrops. Started drawing mountain/rock walls which I had been dreading and put off for literally years.
  • Dialogue system works again and with more options than before (like having more than one speaker visible at a time).
  • Context button prompts now function properly, even matching user-defined buttons for actions instead of the default ones, which can also be turned off in the options if the user is tired of being reminded how to talk. Also, finally added highlights for interactive items that can be turned on or off in the options, and highlights for characters targeted by actions.
  • Able to fill the bucket with water from the river (or any other source of water). This can be useful for a number of reasons, and there might be other things you can fill the bucket with.
  • A lot of bug fixes, too many to list, but the remaining list is almost gone at least!

Well, considering I have been focused more on the back end than the in-game map art, I have been a little shy of sharing screenshots since they will all end up looking too similar and I’m not quite ready to tip my hand on how the game looks in motion until it’s time to start marketing and building hype. However, I’ll still try to keep up to date as I check off more from my task list in any case, just so my readers can see that yes, this game is going to get done.

Leave a Reply

Your email address will not be published. Required fields are marked *