Tuesday, November 13, 2018

11/13/18 Development Update

Hello and welcome back to another development update for my game Hero Soul.

This week's focus was on polishing the forest level of the game. There were many small things that needed to be fixed such as sprite layering and misplaced colliders. Additionally, I began work on the cave level's modified rooms. Here are a few pictures:


Personally I think progress for this level is going well.

Additionally I worked on polishing up combat in the game. It was recently brought to me that the combat is lacking a sort of oompf and I fully agree. It took some fine tuning but I think combat now definitely feels more satisfying. For example when hitting enemies, the screen will shake. I did experiment with slowing down time but it turn out to be barely noticeable. Hit animations have also been enlarged to really show the impact of hitting something.

Moving on to next week, I want to push and finish the cave level's layouts as well as tune the enemies to better fit the new rooms. I also want to continue my work on companions making them smarter and improving pathfinding.

That's it for this week! I'll be back next week for another development update. 

Tuesday, November 6, 2018

11/6/18 Development Update

Hi everyone and welcome to another development update for my game Hero Soul. I've done quite a bit this week, let's get into it.

This week I focused almost entirely on the idea that, on a granular level, each room in every level can be the vessel of the procedural generated story. On that note, I work specifically on tuning up each room's layout to give the Koros Forest level more varied rooms and shape. So the first thing that has changed was fix of the "Super Blob" that plagued the old level generation code.

On the left is an old example of the level generation script. As you can see, rooms are always connected based on if they border other rooms. On paper, this seemed like a fine concept but in practice, many levels generated created cluster of rooms that were all interconnected, as seen on the left image above. This created a severe lack of definition and I feel was a detriment to the story when generated. So this led me to the fix above on the right. Now, rooms may border each other but do not have to be connected with one another. This created a more maze-like feel and removed the problem of the "Super Blob" cluster of rooms.

As a side effect of this new level generation script I also worked on making rooms feel more unique. Before I was limited in what I could do since every room layout had to accommodate the possibility of being connected on all sides. This led to very cookie cutter rooms of a uniform shape. With this new update I could now design unique rooms without having to worry about that.


Above is an image of one of the new rooms, in which there are around 30 now as of now. Hopefully these new layouts will create a more immersive feeling while in the level as well as making it easier to tell story using them. 

That's it for this week! I will continue to polish up these new rooms!

Wednesday, October 31, 2018

10/31/18 Development Update

Hello and welcome back to another development update for my game Hero Soul.

This week I've implemented one of the scenarios that will be available for the Koros Forest level.  The outline of the scenario follows. When the player enters the forest the player will get a cut scene which introduces the player tot he event happening. After the cut scene they will receive a quest that details what they need to do in the level for the end room to unlock. When all the required quest objectives are complete, players will then have access to the boss room, in which a themed boss fight will occur based on the level's scenario. After the boss fight the player will then get to make a story decision based on 3 choices, justice, compassion, and strength. Justice decisions will usually have decision based on that characters morality, compassion will be the more based on saving people, and strength will mostly decisions that are difficult to make.


Players will get the UI below. I really liked the tarot card designs for the cards since the determine fates. Anyways player must choose a decision out of the 3. These decisions will have bearing on other procedurally generated content in later levels.

Moving forward I would like to work on the next event the forest and then move on to the other levels.

That's it for this week!

Tuesday, October 23, 2018

10/23/18 Development Update

Hello and welcome back to another update for my game Hero Soul!

This week's focus has been on a procedurally generating a story. So, I've really been working on the structure of this task. Here's what I've come up with. I chose to work with the framework of the way levels were procedurally generated. This meaning, the story elements will be generated based off of how the map is generated.

Every time a player enters a level, normally what happens is that an algorithm runs and generates a new level. Using that, I am planning to have that algorithm also choose an event to theme the level off of and then generate the level using that theme. For instance, the scenario I am currently working on is a sort of invasion sort of thing. The event if chosen as the theme of the level will require the player to collect a few objects in order to uncover a story that occurred. Using the level generating algorithm a few rooms will be selected to become the level's quest objective rooms. Here's an example below:
Quest rooms will now randomly generate in levels marked with an exclamation mark.

Hopefully this will create a sort of random story that will be different enough to remain fun. :)

I also wanted to introduce a sort of morality system along with the procedural story. It really stemmed from the idea of "I think we're the baddies". The system works like this: With all the procedural quests there will be multiple ways to complete them. Each way to complete conforms to an hero trait archetype. At the end of the game the accumulation of the all the decisions the player has made will affect the ending of the game. So really, if you play your character as an "anti-hero" you will have that realization that you are the bad guy at the end of the game.

Anyways that's what I have for this week. Stay tuned for more progress into this idea!


Tuesday, October 16, 2018

10/16/18 Development Update

Hello everyone and welcome to another development update for my game Hero Soul.

This week has a major pivot for the game. Before I was mainly focused on finishing up the system of the game. Now moving forward I would also like to focus, instead, more on narrative development for the game.

So what exactly am I planning?

At it's conception Hero Soul was supposed to be a game that combined genres. I really wanted to see if an RPG could mix with a rogue-like and as such I have developed my game so far with that in mind. I've added procedural generated levels as well as progression systems such as talents, deckbuilding, and item collecting all in the attempt to mix the genres. However one thing that has plagued my mind while working on all this stuff was, one, will this even work, and two how the heck was I going to fit a story into the game.

So for this week I focused mainly on planning the story and asset creation. At conception my idea for the story was that it was going to be some-what procedural. Essentially I wanted to create a game in which the exact story experience would vary each time you play. The trouble for me was how exactly I was going to do this.

I've had many interesting ideas thrown at me and for this week I parsed though them and have decided on a direction I wanted to follow. For now, story in the game will be handled in a sort of episodic basis. Every level in the game will be considered and "episode" and within every episode, there will be an overall theme. For example for the Forest level the theme is "The Return of the Slime King" and the overall outcome will remain constant; the player will end up confronting the Slime King at the end. However the path the player can take to reach that confrontation will vary with every play-though and this is where I believe the proper amount of procedural generation can be added.

Going back to the Slime King episode, the procedural generated part of this episode will be the events that lead up to the confrontation. Currently I am brainstorming the events I want to generate but that is the general idea. This solution hopefully will solve or at least alleviate one of the biggest problems I've been facing with proceurally generating a story, the continuity. Hopefully in having a unified overall event and changing minor events will create the story continuity I am looking for.

Anyways I'll keep working and developing this idea out more.

I also began on working on asset creation this week working almost exclusively on adding more NPCs or non-player characters to the game. Here's one I am currently working on. I won't spoil too much about it since they will be used in the story I have brewing
That's it for this week, I'll have more updates on story development next week!

Tuesday, October 9, 2018

10/9/18 Development Update

Hi welcome back to another development update!

This week is going to be a little shorter that usual, but I guess I have a little treat for you guys? I dunno... Anyways I made a little promotional video for the game. Check it out, I think it turned out pretty well!



Aside from that this week's focus was really on the creation and management of the UI in the game. Along with the save system mentioned last week I really buckled down and tried to make the game feel more like a game. This includes the addition of a basic settings menu where you can adjust sound and resolution, exit game functionality, and much more!


That's it for this week! I hope to get into making the story of the game next week!

Tuesday, October 2, 2018

10/2/18 Development Update

Hello everyone and welcome to another development update for my game Hero Soul. This has been a pretty landmark week for my game. I finished implementation of some major systems in the game. Let's get started.

Continuing from last week, much of the work this week has went into finishing up the rune forging system of the game. As a reminder, rune forging is the mechanic that allows you to add stats or additional effects to your cards. As of this week most if not all of the milestones for this system have been met. So allow me explain the system in its current state. Right now all cards have 3 rune slots. Each of these slots can house a rune, each of which modify the spell in some way. All cards start with at least 1 of these slots open, with the option of unlocking the others. The starting unlocked slots depends on the rarity with rare cards having 2 slots unlocked by default. Cards and rune effects have been segregated to types and only certain runes can be added to certain cards. Runes are obtained either through exploration or purchased in the shop. While most functionality is now implemented, I still need to do a bit more polish work on this system.


Moving on, I also had the chance of getting save and loading system to work. This was actually a long journey for me as I struggled to organize which data I wanted to store. Understandably this system is not as visually appealing as the rune forging system but this was a real big step for me towards a finished game. Additionally, I've also begun work on implementing the UI and functionality for the options menu. Hopefully this will be more finished by next week!

Finally I also began work implementing the enemy behavior for the 4th level of the game, the Tomb of Galahad. For this set of enemies I really wanted to take a step up increasing the complexity of their patterns as well as making them smarter and more reactive to the player.

That's all for this week!

Tuesday, September 25, 2018

9/25/18 Development Update

Hi and welcome back to another development update for the game Hero Soul!

So I'd like to start this update with a revisit to the state system of the game. I've added some more interesting states that I hope will spice up the game more. Before states were really just stat buffs or debuffs granting stats or dealing damage over time. I felt that they were kind of boring so I've added a few more that change the way you must play. Here's an example of one, blindness, which makes it so you can only see in a little circle around you for some time. I'd love to think of more interesting state moving forward.



This week I also chose to tackle something that I have been procrastinating on for quite some time now, the rune and rune forging system. But before I get into that, I also chose to update the Arcana selection UI. For some time now, I have felt that the old UI for this system was a bit difficult to use with many needless buttons and gizmos. Hopefully now it is easy to figure out how to use.


Moving on to the Rune system there is still more work that needs to be put into it however a few things that have been causing me trouble have been implemented. The first is the card statistics and how they are displayed to the player. I wanted the UI for this to be purely visual and not just a comparison of numbers. So, the right of the card you are editing you will see the statistics for the card. As of now, the cards only display damage, velocity and knockback as statistics but I plan to expand and change this based on the card type.


This leads me to my second change. One of the reason I have procrastinated on working on this system was that the idea behind runes was that any rune could be used with any spells. This led to many conflicts because some spell effects simply did not work with other. For example a rune that caused the spell to home in on targets does not work with spells that grant players buffs. Because of that problem I had to reconsider how the system would function. So now, I've subdivided runes to only work with certain spell types I have implemented in the game. Some examples of spell types include projectile spells, targeted spells and buffing spells which each have runes that will work with them.

There still needs to be more work put into the system but I can say that it feels good to get over this hump and I am excited about how awesome this system is turning out to be! That's it for this week, I'll keep you guys posted on new fun advancements!

Wednesday, September 19, 2018

9/19/18 Development Update

Hi and welcome back to another development update for Hero Soul!

This weeks has been a big step forward in terms of development. The first major stride was the addition of the change remnant feature of the Hero Soul. The Hero Soul, for those who do not remember, is the modular talent tree system that players have access to while they play the game. Before it was not possible to reassign a talent on a specific tier when it was already selected. I felt that this was restrictive and did not promote experimentation with the interplay of talents, so now you are able to change the specific remnant on each tier as seen below.



Next off I worked a lot on the implementation of consumable items. Before, I cut work on the Alchemy system of the game because I found it too complicated and unneeded when paired with the other systems in the game. However this left a void in potion choice, with players stuck with the default healing and mana potions in the shortcuts for potion use. With the implementation of consumables, those shortcuts have been changed to accept any type of consumable. Following that health and mana potions now fit into the consumable item category. So now, instead of receiving x amount of health potions and x amount mana potions at the start of every level, players will need to keep their inventories stocked with the necessary potions for their adventures. This was a fun transition for me since it opened the design space for items from just being potions to all sorts of fun usable items such as bombs seen below.


Finally to wrap the update up, this week also brought much work to the 2nd level out the planned 5 levels of the game. I did a lot of work on implementing enemy AI so they are more interactive and challenging as well redoing much of the level design of the level entirely. Below is an example of a changed room for the level. Moving forward I want to further polish this.


That't it for this week! I'll have another update on the development next week.
 

Monday, September 10, 2018

9/10/18 Development Update

Hello all and welcome back to the development updates for my game Hero Soul! It has been a long time since I posted here! So what's changed since I last updated, well... a lot simply put. So, instead of getting into the nitty gritty I thought for this first update I would go over a sort of road map for development of the game.

So in its current state the game is in that delicious grey territory of the development process. Many of the systems and mechanics have been solidly established and now I am moving towards developing the narrative of that game to tie all the mechanics and systems together. Moving forward, there will be less updates on new mechanics and systems implemented and more updates about progress into the story.

So let's get down to brass tacks. There are still a few systems that need to be finished. Namely:

1. The Hero Soul Talent Tree
2. The Rune System
3. The Companion System

and of course a few additional miscellaneous systems that will need to change as development continues.

I currently have about 6/12 of the levels created and story wise, the tutorial level for the first character Cecilia is finished along with the first and second levels. Moving forward I would like work for the story to progress up to the 6th level by November.

That's pretty much it for now and I will return to the normal format for updates starting next week.

Monday, April 16, 2018

4/15/18 Development Update

Hi and welcome to another development update!

There have been quite a few changes since last week which includes the addition of many SFX assets and animations to better polish the game as well as working more on the AI behind the companion

Other than that, I also did some extensive work on the dialogue system as pictured below. The changes were mainly inspired by the dialogue system seen in Tales of Zestiria. This includes multiple characters, including your companion and highlighting the speaker. This is in hopes to introducing different dialogues when different combinations of companions are selected. And of course the most important feature, skipping dialogue. Moving forward I'd like to do some more tuning and polishing of this system.


I've also added in a new puzzle, the mosaic. Every level will have a mosaic, by playing the dungeon players will have a chance to receive a mosaic piece to add to the mosaic. When the mosaic is complete players will receive a reward!

Speaking of rewards, I also edited how treasure chests work, instead of opening a complex menu, it instead shoots all the items out on the floor, since items will now remain after leaving a room!

That's it for this week tune in next week!

Sunday, April 8, 2018

4/8/18 Development Update

Hi and welcome to another weekly development update!

Let's start this update off with a bit of quality of life improvements. This week I've added somethings that hopefully make the game easier to learn. Below is a diagram I made to help new players learn the controller controls.


Moving on, I also made the minimap a bit easier to read. I changed the special rooms, bosses, and exits to now display unique icons, to hopefully make it easier to understand and overall make the map "pop".

Additionally I also added persistence of items between rooms. Before any loose items left on the ground would vanish when leaving and transitioning between rooms. Now, any unpicked up items will now remain when you return to the room.

Controller support has also been brought to the shop menus in dungeons or in town.

Finally I began converting the old alchemy menu and UI to fit the current style, but this proved to be a bit more work than I anticipated.

I also added a new puzzle to the pool for the start forest level. It is a classic order puzzle where you must light runes in the correct order to complete the puzzle. I think this puzzle, while simplistic in nature, turned out quite well when some audio queues were added.

That's it for this week!


Sunday, April 1, 2018

4/1/18 Development Update

Hey guys it's been quite a while since I last update, I'm sorry for that! But now I am back on track for the weekly updates.

So let's start with what's changed so let's start with the companions. Companions will now have unique abilities and behaviors based on which companion you choose to use. For example for the current companion I'm working for, they will have shields displayed below their health. This is to keep track of the amount of block this particular companion has left. In the future I hope to give the player the choice of which companion best fits their play style.


Moving on, I've also begun work on reworking and redesigning the dialogue system. Before, the dialogue system kind of felt like it was "free floating" and hopefully the new letterbox design helps alleviate this. In addition, since companions were added, I also wanted the dialogue to reflect which companion was chosen and perhaps open new lines of dialogue based on the companion. Moving forward I'd like to keep experimenting with this system to better mold it my vision on what it should be.


Moving on to the dungeons, I've also created a trooping system. Before enemies would always be the same for each room. Now, the number, type and spawn location for enemies now change for every room meaning, no room will ever be the same! For this system, I'd like to keep tuning it to decrease the randomness a bit to increase the consistency.

Okay now like real talk, I've been talking about adding puzzles for the longest time. Here is the first puzzle you may encounter in dungeons. Puzzles were something I've been wanting to do for a long time, however devising them to be randomly generated complicated things quite a bit. This puzzle is pretty simple, its like the game Mastermind where players need to place fruit in the correct order to complete the puzzle. The correct sequence is always going to be different, so hopefully this one one get old fast... I plan on adding more puzzles, as I have all of them finished on paper and just need to implement them. Please look forward to more wacky puzzles to break of the monotony of killing enemies.


Speaking of enemies, I also spent this week tuning the Slime King boss. I've made quite of few advancements in boss fights since I made the Slime King, and he needed a little love.

That's it for this week!

Sunday, March 11, 2018

3/12/18 Development Update

Hello and welcome back to another development update.

For this week I chose to take a step back from working on the boss mentioned last week and focus on adding a long requested feature, companions. Companions are designed to function similar to the ones in the Secret of Mana series of games. Moving forward players will be able to pick and choose which companion they want accompanying them, each with their own unique skills.



This week I programmed the basic behaviors for the companions including following the player and acquiring and fighting enemies. Doing most of this was pretty easy, however, I noticed that the companion like the enemy AI constantly got stuck on terrain.

So in addition to getting the basic companion AI completed, I also began work on making some more advanced AI pathing algorithms. The way I did this can be sen below, using a derivative of nodal pathfinding, where the AI will go from valid node to valid node until it reaches the destination. The nodal system can be seen below, where the green lines are passable terrain and red impassible.

Writing the algorithm was a pretty fun experience, and more work still needs to be put into it. The plan for it is to not only make the companion AI smarter, but also the enemy AI.

That's it for this week! 

Monday, March 5, 2018

3/5/18 Development Update

Hello and welcome to another development update. The bulk of this week's work has gone into the creation of the boss for the Mier Mines dungeon. I started working on this boss last week, and since then it has gone through a lot of testing and changes, and in truth most of the work went into tweaking the fight so that it feels good and conceptually works with the boss.

So after many iterations I chose to move away from the initial concept of the boss being some sort of slime that takes the player's shape. I chose to move away from this since we already have a slime like enemy with the Slime King. This made me settle on the current iteration of the shade which takes shape based on the player, changing based on the character you choose. As it is now I am happy with most of the mechanics, though I am still tweaking to make the fight feel better conceptually.

Moving forward I'd like to finish and finalize the fight, as well as begin work on the companion system as well as bringing more controller support to the game.

Sunday, February 25, 2018

2/25/18 Development Update

Hello all, and welcome to another development update. For this week, I chose to focus on a few things. The first of course being controller support. This week, support has been added to the game menus which includes functionality for the quest menus, spellbook and bestiary. You can now use the controller to scroll and select items in each of these game menus. Additionally, functionality has also been added to the special rooms, which include treasure chests and Arcana fonts along with all the tooltips associated with them. With these changes, most if not all of the combat dungeon crawling elements now have controller support. Yay! Moving forward I will also begin working on the other interfaces in the game namely the hero soul system, the deck building system, alchemy system and shop.

Next, I have also begun concepting and designing a new boss fight for the Mier Mines dungeon. As of right now I have implemented about half of the fight and I have to say it's looking good! Though it is still a little soon to say, I'll just have to wait and see how all the mechanics interplay with each other when I'm ready to test the fight.

Finally, I had more animations done for the currently implemented character, Cecilia. She now has fully animated spear dashes. On that note I've also begun talking with my artist in order to create other characters to help with another feature I am looking forward to adding, the companion system. More on that later when I begin working on it.

That's it for this week! See you guys next week.

Sunday, February 18, 2018

2/19/18 Development Update

Hi, welcome back to another weekly update. Let's get right down to it, this week is a continuation of last week's work to bring controller support to my game. As of right now, support for using player inventory including all menus associated with the inventory has been implemented. Additionally, support for interacting with special rooms, ie Arcana Fonts and treasure chests have also been implemented.

On that note, I ran into an interesting design problem on how to transition the mouse targeting Arcana spells to the controller. Last week, I had a script that emulated the mouse cursor, but have decided to discontinue that idea due to problems with compatibility. Instead, I came up with my own solution to the problem that works virtually the same if not better than the last version. Additionally, I've begun to work on bringing support to the major shop menus as well as the deck building menu and talent menus. In short, bringing controller support to my game is moving along pretty smoothly all things considered, but there is still more work to be done.

I also had another presentation of my game at a demo night, which went pretty well. I got some more people testing as well as giving me some interesting ideas to toy around with. More on that next week hopefully.

Not really much else to report this week. It's really been retrofitting my old controls and UI to support the controller. ^_^"

Sunday, February 11, 2018

2/11/18 Development Update

Hi and welcome back to another weekly update for my game, Hero Soul! First I'd like to thank everyone who made it out on Tuesday to playtest my game at the Playcrafting Winter Expo! I had a lot of fun talking with you guys!

For this week, I chose to focus on adding game controller support to my game. This is because during the expo I noticed that many people were not used to using the keyboard and mouse. So, as of thee end of this week many of the actions you can do now with the keyboard and mouse can now be done with an XBox 360 controller. This was actually a pretty fun thing to do, as I've never worked with the controller in Unity before and it was quite interesting learning how it worked.



For the most part, converting the movement controls and the combat were not very difficult, however when thinking how to convert the game mechanics such as certain Arcana Cards' effects or using the inventory menu was an interesting problem I had fun solving. For instance for Arcana cards that use the mouse to aim, you can now also use the right joystick to aim on the Xbox controller. However, as mentioned earlier I found that converting the inventory system I had currently had in place a challenge when converting to the controller, and this ate up most of my time this week. Though after struggling with it for a bit, I am proud to say that using the controller to navigate the inventory and other menus works if not better that with the mouse, but I'll let the player decide that one.

Overall, most of the things you can do in game can now be controlled with the gamepad, however there is still quite of bit of testing ahead of me to fully integrate the controller support. Please look forward to more updates regarding this.

Sunday, February 4, 2018

2/4/18 Development Update


Welcome to another development update. For this week, along with testing and tuning of the quest and Soul systems, I focused on preparing the game for playtesting during the Playcrafting Winter Expo this Tuesday.

So first up, the sprite work I had requested was completed. This involves the addition of attack animations for the main character, though, the special attack still needs to be animated. The goal of this switch from the old attack animations to the new ones is because I thought it was awkward seeing the weapon sprite animate whereas the player sprite remained static. I hope this will make combat have more weight behind it and moving forward I want to animate more attacks.

Next up, I made changes to how Arcana Cards are discovered. Originally, cards were discovered 1 at a time, randomly, at Arcana Fonts that spawn in dungeons. The problem with this design is that it was kind of unfulfilling and highly based on randomness. So to remedy this, Arcana Fonts will now display 3 random cards, and players will then choose the one they want and in addition to unlocking the card, will receive 1 copy of the card. Like the previous iteration, cards will still be random, so you can still receive repeats of cards you already own, however now you will have some agency when building your deck as well as lessening the impact of getting repeat cards.



Finally, as I mentioned in previous posts, I've begun working on the new zone. Partially this is because showing off the forest every week is kind of getting bland but also to assist in the implementation of dungeon hazards. In order to spice dungeons up, aside from killing things I want to mix things up adding small puzzles or hazards in addition to killing enemies. For example in the cave level, some rooms will have a bat swarm hazard in which periodically areas will be swarmed by bats, hindering the player's movement. Hopefully through the implementation of these hazards new avenues of play which will emphasize good positioning.

That's it for this week! I'm excited to get people's opinion during the event this week.

Sunday, January 28, 2018

1/28/18 Development Update

Hello all! This is going to be a light development update as I was busy this week. Though, I did get some work done. Let's get started shall we?


Last week I showed the layout of the guild building. This week I have begun implementing the functionalities of the guild building. Mainly, the guild building will be the main source of side quests for the player and as such I implemented the guild board. The guild board will be where players pick up quests to do. Moving forward these quests will vary town to town and be random.


Finally, the last explorable part of the town of Weiss has been created, the town pub. And like pubs in other games, will be a place where players can meet characters, hear rumors, and possible find some extra side quests to do.

Looking forward, more tuning and testing of the questing system as well as the hero soul will have to be done, so look forward to a revisit to these systems in the future. Additionally, with many of the mechanics and system now implemented story development will now begin so you can also look forward to some lore/world building in future posts! That's it for this week I look forward to seeing you next week!

Hero Soul: I want to be a Hero!

Hello! My name is Ryan and I am making this blog to document and show off a game I am working on tentatively called  Hero Soul: I want to be...