Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

Games Fragment's Moonrise | Open World Real-Time Strategy

Discussion in 'Works In Progress - Archive' started by yyanthire, Apr 25, 2019.

  1. yyanthire

    yyanthire

    Joined:
    Oct 27, 2014
    Posts:
    69



    Check the game out for Free on Steam: Store.steampowered.com



    Fragment’s Moonrise
    is an open-world real-time strategy game, emphasizing spellcasting, micromanagement-oriented unit control, dodging, and overall fast-paced gameplay.





    Explore a Randomly-Generated Open World-
    The world is vast, and completely randomly generated. No two Maps are the same, allowing for an even greater replayability experience.





    Gather Resources and Build an Army-
    Use discovered resources to build your base and your army, and wage war against the vast enemies of this land. As you explore, you will fight powerful foes and acquire wondrous artifacts. Use these to bolster your army, research new spells, and advance your warriors even further down their class path.





    Wage War-
    At the heart of Fragment’s Moonrise is waging war against the multitudes of foes of the land.





    Never stop moving- movement is key to avoiding attacks from enemies while still striking at them yourself.





    Invoke powerful spells to your advantage- there are many different beings at your disposal, each with a multitude of unique spells. Making use of their talents is the only way to come out successful, and to defeat even the strongest of enemies.

    ---

    Check out our most recent update here: https://forum.unity.com/threads/fra...world-real-time-strategy.668110/#post-5783854

    If you'd like to check out all of our Updates, click here: https://www.indiedb.com/games/moonrise


    Or check out our website: https://yyanthire.com/
     
    Last edited: Jun 4, 2020
    ClaudiaTheDev and RavenOfCode like this.
  2. ClaudiaTheDev

    ClaudiaTheDev

    Joined:
    Jan 28, 2018
    Posts:
    331
    The game is very interesting and looks like having deep nice gameplay!
    I think that polishing the graphics could help you a lot to make it appear even better.. For example what I noticed immediately is the health bar and font in the bar doesn't look good. There are other things but it's still WIP so I assume it will change and you know it already :)
    Still Moonrise looks very promising and I hope to see more in the future!
     
    yyanthire likes this.
  3. yyanthire

    yyanthire

    Joined:
    Oct 27, 2014
    Posts:
    69
    Thank you for the kind words! We definitely will take that into consideration- its something we observed as well and aim to fix. We'll also be improving graphics as development progress as a whole; the current art is our baseline, and we'll just be adding more from here. And we'll definitely be posting about it, too! Thanks!
     
    owlhowell likes this.
  4. yyanthire

    yyanthire

    Joined:
    Oct 27, 2014
    Posts:
    69


    This is our first video officially showing off some of the gameplay within Moonrise. We wanted to highlight a bit of everything- from starting off, to building a small base, to establishing an army, to exploring the world and advancing your warriors, with swathes of combat interlaced, and finishing it off with a boss battle with the game's first boss: the Apprentice Dragon. We hope you enjoy the video. There will be more to come very soon!

    If you're new to our page, welcome! You can check out more info about this project here: https://www.indiedb.com/games/moonrise/news/welcome-to-moonrise

    Thank you for viewing our post! We're very excited to share this gameplay video with you, so we hope you enjoy!
     
  5. yyanthire

    yyanthire

    Joined:
    Oct 27, 2014
    Posts:
    69

    Welcome to our third blog post!

    In this, we'll be showing off some of the innerworkings of our Structures. This includes a full overview of both integrated and planned content.

    We'll discuss each Structure's purpose and how they tie into Moonrise's RPG-like system.

    But before we dive into the Structures, we need to talk a bit about Resources…

    ---


    Resources allow for the construction of new structures, spawning and advancement of units, and eventually- researching upgrades.

    Nature is the easiest and most abundant to collect.

    Water is also fairly abundant, but just a little more difficult to acquire.

    Pages are much more difficult- there are many ways to gather them, but the most common is by slaying enemies. They are the main resource.

    ---


    In regards to resources, Harvesters are used to automatically gather from the world around.

    The most basic of them is the Harvester. It allows rapid collection of Nature.

    Greater Harvesters emphasize gathering Water.

    And Master Harvesters allow for consuming Nature and Water resources to create Pages.

    ---


    Now, with resources complete- The quintessential structure is the Home. With it, life can be created, and the warriors can assemble.

    Disciples are the most basic of which- they only cost Nature. Magicians, however, are much more advanced, but well worth their cost of Nature, Water, and Pages.

    ---


    Defensive Structures include the Sanctuary, Haven, and Evaporator

    The Sanctuary is used for health regeneration of any ally nearby.

    Similarly, the Haven is used for mana restoration of nearby allies.

    And the Evaporator is for defense against nearby foes. It casts both powerful spells and emits a harmful aura, damaging nearby enemies.

    ---


    Our last set of Structures are our most important. They are the Libraries and the Lecture Hall.

    These Structures will be used for advancements. This can include anything from bonus statistics to unlocking new classes and spells.

    The Library is used for advancing unit stats- health, mana, regeneration, and so on. Bear in mind- all these advancements are permanent, and go across all warriors.

    The Great Library is for advancing units, and unlocking new ones. Within the world, you can collect powerful artifacts called Tomes. These artifacts are used for taking units beyond their basic tiers and into their most powerful state.

    The Dark Library is used for utilizing a unique and obscure unit type- the Narya. This includes being able to summon said Narya, alongside emplacing its spells on your regular units for even more customization than current.

    Last comes the Lecture Hall. This is for acquiring new spells on your units, costing resources and requiring tomes or other unique artifacts.

    ---​

    That concludes our list of Structures. Thank you for viewing our page!
     
    Last edited: May 7, 2019
  6. yyanthire

    yyanthire

    Joined:
    Oct 27, 2014
    Posts:
    69

    Welcome to our fourth blog post!​

    In this one, we aim to show off two new bosses now entering into the project. As of now, they are planned as entry/starter-level bosses aimed at testing the player’s skills in regards to managing their units in a fast-paced environment. As they currently stand, they are very simple, yet demanding bosses, and they fit the game quite well, teaching a lot of basic mechanics that will be used as you progress throughout the game.

    (In the images above, on the left you see a snippet of the Lesser Dragon of Flame fight, and on the right you see a snippet of the Dragon of Mysticism fight. Full fights are shown in the videos below respectively)

    ---


    This is the Lesser Dragon of Flame. Being comprised of flame, it is severely weak to water spells. This Dragon is fairly slow, but very powerful. It casts powerful spells that strike in a large area- dodging them is vital to staying alive, as being hit can leave your warriors in a critical condition almost immediately, as seen in the video above- it was a struggle to keep important units alive. Its initial spell stuns whatever is hit, and it follows it up with a very devastating fireball to clean up the kill. Luckily, the spells move slower than normal, giving you but a brief moment to dodge before your army evaporates under the Dragon’s strength.

    ---


    This is the Dragon of Mysticism. It has talents in the manipulation of Mystic and the undead, but is weak to flame. As soon as the fight begins, it attempts to conjure its cohorts- the dragons of Galf and Kauw. These two are quite dangerous, as they both command the undead back to life. Leaving these two alive is not an option, as they will rapidly summon more and more creatures to this world while simultaneously healing them and the Dragon of Mysticism itself. Before you get overwhelmed, it is critical to eliminate them and whatever they have spawned to avoid incessant damage to your warriors. The main weaknesses of these lesser dragons are flame and true, respectively. Using those spells, we can rapidly defeat them, and from there, dispatch their summons. Once they are all slain, we are left with the Dragon of Mysticism alone. But- we must be quick, for soon it will be able to return its dragons of Galf and Kauw back to life. We can deal very rapid, heavy damage on the Dragon utilizing the spell Great Fireball- a powerful, but dangerous spell. Its great for harming our foe, but it can also harm us. Everything within its blast will feel its power, so we need to ensure we do not hit our own warriors, else we’ll end up defeating our own and losing this fight. We also need to be careful of the dragon’s movement- it will try to engage us at close range, which can be severely terrible for us if we accidentally have our warriors get hit by our fireballs in the process.

    ---​

    Thank you for viewing our post! Support and interest for the project has been rapidly growing ever since we began posting here, and we're incredibly grateful for all the wonderful feedback so far! We hope this project interests you as much as we love developing for it, and please look forward to more updates coming in the very near future!

    If you’re brand new, consider checking out our trailer and overall description of the game here: https://www.indiedb.com/games/moonrise
     
  7. yyanthire

    yyanthire

    Joined:
    Oct 27, 2014
    Posts:
    69


    Welcome to our fifth blog post!​

    Last post we did an overview of two new bosses added to the game (if you would like to check that out, click here: https://www.indiedb.com/games/moonrise/news/moonrise-dev-blog-4-two-new-bosses )

    We’ve posted about gameplay in the past (refer to this post: https://www.indiedb.com/games/moonrise/news/moonrise-dev-blog-2-official-gameplay )

    But we have yet to truly go more in-depth about the game’s combat system as of current. As with all RTS-style games, combat is hard to follow unless you can physically play it yourself. And since the game is not currently ready enough to be in a state where releasing a demo would be viable, we’ve decided to take a moment and break down the fight in our last post of the Dragon of Mysticism and explain what’s going on.

    There’s a lot happening, but let’s just look at the core of it all.

    ---


    As soon as the fight began, the Dragon of Mysticism summons one of its cohorts- the Galf Dragon. Both of its Dragon underlings it can conjure have the ability to summon many creatures very rapidly. More importantly, with even just one of the lesser dragons alive, it can begin to rapidly heal the Dragon of Mysticism, faster than we can kill it. In regards to creatures the Galf Dragon can summon, it will begin conjuring very rapidly. We will become overwhelmed if we do not do something quick.


    Exploiting the Galf Dragon’s weakness of Fire, we can kill it before it has a chance to cause any harm to us. But we must be careful- the spell we’re using to kill it is the Great Fireball. It deals heavy damage, but can harm our own if we get within its blast radius.


    With the Galf Dragon defeated, we now need to spread out our army. The Dragon of Mysticism is able to strike with mystical lightning, a spell which harms all our warriors in an area. Since the spell is so fast, we won’t be able to dodge it. So instead we must mitigate the damage we take in by keeping our warriors apart from each other, ensuring only the target gets hit, and nothing else.


    There is one galf spider remaining from what the Galf Dragon summoned. Before it can become too big of a nuisance, we need to kill it. It has the ability to steal the life of our warriors and heal itself, so we need to spend a moment to prioritize killing it, else it will just continue to stay healthy and attack our own. In addition, it has some bulkiness to it that will block our ability to move freely. Given that we need to keep our warriors spread apart, we need this spider slain.

    The Dragon of Mysticism has finally summoned its scarier of the two lesser dragons- the Kauw Dragon. This one has very strong resistances, including very high Fire resistance. Thankfully, we can kill it using the white lightning of the Elite Mystic Bolt.


    Our Elite Mystic Bolt makes quick work of the Kauw Dragon. Now- onto the main threat.


    Bad for us, but good for the enemy- before there was an opportunity to defeat the Kauw Dragon, it summoned its Kauw. This crab-like stone creature is even more resilient than the Kauw Dragon itself. In addition, it has a terrifying attack which will deal heavy damage and stun anything it hits. This stun lasts just long enough to where if you aren’t quick to react, it will strike again, more than likely killing your warrior.


    With quick movement, and utilizing our white-lightning, we can dispatch the Kauw before it kills us. We need to have every warrior prioritize striking at it, because its regenerative properties are powerful and will keep it alive for a very long time should we choose to ignore it.


    Now that the last summon has been taken care of, we can return to focusing on the dragon itself: the Dragon of Mysticism.


    Throughout this fight, it has damaged our warriors a great deal, but so have we damaged it.


    We can return to making use of our Great Fireball spell to deal rapid damage to it, being mindful we don’t accidentally harm our own (As you can see above, one of our warriors is a bit too close to the blast and is killed as a result)


    With adequate spacing, now we can properly strike with Great Fireball from a safe distance away.


    Our last burst of Great Fireball brought the mighty Dragon to the ground, and with it, we’ve claimed a treasure we can use to enhance our own warriors with mysticism.

    If you would like to check out the full fight in real-time, the video is displayed below.


    ---​

    Thank you for viewing our post! Support and interest for the project has been rapidly growing ever since we began posting here, and we're incredibly grateful for all the wonderful feedback so far! We hope this project interests you as much as we love developing for it, and please look forward to more updates coming in the very near future!

    If you’re brand new, consider checking out our trailer and overall description of the game here: https://www.indiedb.com/games/moonrise
     
  8. yyanthire

    yyanthire

    Joined:
    Oct 27, 2014
    Posts:
    69


    Welcome to our sixth dev blog- Structure Overview and Research, part 2!

    In our third dev blog, we dove into our Structure system and provided an overview of the essential “RPG-like” elements of the game.

    Upon the very recent completion of our Research integration, all of what was considered ‘planned’ has now been finalized into the core of the game. We imagine these will undergo more modifications and additions as the game progress, but here is how they currently stand.

    If you missed our third blog post, Structure Overview check it out here: https://www.indiedb.com/games/moonrise/news/moonrise-dev-blog-3-structure-overview

    We will be continuing on from where we left off, what’s been put into the game, and so forth.


    ---


    Given that this project is a real-time strategy, we needed to focus our progression on not just one character, but the collective army as a whole.

    As you could imagine, this extends the possibilities into making something very unique, very quickly, by quite a considerable margin.


    ---


    The first, and most obvious thing we wanted to do is Stat Progression. This is fairly simple and straightforward- spend Resources to improve ALL of your Warrior’s health and mana. In a world where your warriors die quickly, and mana is something that should be greatly conserved, this should give you that extra edge to survive and fight longer.


    ---

    _

    In addition, added survive-ability comes in the ways of regeneration. As, even if you have health and mana very high, it is still limited. Extra regenerative properties makes it that much more indefinite, and sometimes even completely necessary against all the evils of the land.


    ---

    _

    Lastly comes damage. All the health, mana, and regeneration in the world means nothing if your target has the same properties. This damage modifier effects ALL of the spells any of your warriors can cast, greatly improving everything collectively.


    ---


    The next area to focus on are basic global elements necessary to function. This includes both Supply and Resource cap increases, making you able to store more Resources, and build an even bigger Army.


    ---


    Now onto the core-

    Being able to uniquely design your army is a fundamental part of Moonrise. As such, some of the personifying factors are things like…


    Class Advancement: While lower-tier Warriors are freely able to be drafted into the army, the strongest ones require something special. Not only do they have a high resource cost just to unlock, but they also require finding their special Tome hidden within the world (more on Tomes below).

    Something to note: we have essentially 9 different classes total at the moment, each uniquely different from one another at their core, and will be developed to be much more different from each other as the game progresses.


    Spell Unlocking: Similar to unlocking a Class, to further define each Class as a whole, you are allowed to unlock various new spells for said Class, thus defining them in even more detail. The costs will be high and irreversible, so choose wisely.

    Aura Unlocking: Wildly different from Spells, but at the same time still similar are Auras. Auras are effects that take place in an area around the user, typically applying status conditions to enemies or buffs to allies. Their effects apply passively, their essentially passive spellcasts. As with Spells, these, too, can be unlocked.

    It is important to note- you are never truly locked out of other pieces of content for your decisions. It is merely the high costs that force you to pick and choose what you can afford. In addition, the strict amount of allotted Warriors at your disposal forces a very well-tailored army. As you advance deeper into the game, you are able to unlock more, expanding your choices, until you reach the end game where the desired goal is to not only allow you, but also require you to use everything given to you to be able to progress. We feel this would give the most dynamic and interesting gameplay experience possible.

    ---


    Lastly, Tomes are the final thing to be talked about. Hinted at above with Class Advancement, Tomes are artifacts used to progress a Class even more. They can be attained anywhere from slaying powerful beasts, to discovering them in the arms of magnificent critters, or even gifted for aiding an important creature.

    The Tome is the core piece preventing Advancement, and once it has been acquired, the only thing left is to gather the Resources necessary to pay for such an advancement. Finding them is the true challenge, for they are never handed to you, only earned through venturing and experience.

    ---​

    Thank you for viewing our post! Support and interest for the project has been rapidly growing ever since we began posting here, and we're incredibly grateful for all the wonderful feedback so far! We hope this project interests you as much as we love developing for it, and please look forward to more updates coming in the very near future!

    If you’re brand new, consider checking out our trailer and overall description of the game here: https://www.indiedb.com/games/moonrise
     
  9. yyanthire

    yyanthire

    Joined:
    Oct 27, 2014
    Posts:
    69



    Welcome to our seventh dev blog, Dodging!​

    This one slightly follows suit from our fifth blog, which features an in-depth look into our combat system, available here: https://www.indiedb.com/games/moonrise/news/moonrise-dev-blog-5-combat-an-in-depth-look

    Dodging is an interesting topic when it comes to RTS-style games. Traditionally, attacks home into the target, making it impossible to escape, and the spell effects to be guaranteed.

    Within the world of Moonrise, all attacks are not homing. No attack is guaranteed. Instead, spells are cast at the location of the target once the spell is released. This gives a unique element to the game in which all spells are dodgeable- Enemy casting a powerful spell at you? Be sure to act quickly and move out of the way before that warrior is slain. Explosive spell being cast at your group of soldiers? Disperse them so they are not hit by the area-of-effect. Ally trying to heal you? Don’t move, or the healing spell may miss, wasting the spell’s mana cost and leaving your low-health warrior still vulnerable to new attacks.

    There is a great deal of strategy behind every dodge- whether its avoiding enemy attacks, or ensuring your healing spells take effect, you need to be constantly thinking about every single warrior you have on the battlefield and their necessary needs- sometimes, skipping dodging one warrior so you can successfully heal another that desperately needs it will keep you in that fight longer and able to reach victory.

    Let’s start with the basics of spellcasting and dodging, and then dive into the more complex dodging mechanics, dodging area-of-effect spells, etc.




    This is the quintessential dodge. An enemy is ready to strike, but quick movement at the last possible moment allows for the damage to be completely evaded.




    There is a great deal of freedom of choice in attack commands. While the most basic is right-clicking a foe, sometimes that becomes implausible. Introducing the manual cast, also known as the ground cast. All warrior’s most basic spells can be forcibly cast on a desired spot on the ground. In addition, there are multitudes of spells that allow the same action to occur. Why is this important? Well…




    Simply casting spells at foes, especially ones that actively move, is an almost guarantee all your attacks will miss...




    Instead- what if we incorporate some additional logic into it? If we can time our attack correctly, we can successfully cast a spell right when the enemy walks over that spot, damaging the enemy, as desired.




    Area-of-effects are much more devastating. Not only do you have to dodge the spell, you also have to dodge its explosion after the matter. It becomes increasingly important the precision at which you begin to dodge, because you now need to cover a lot more ground than prior to truly evade.

    In addition- area of effects have the added mechanic of hitting more than one warrior. Meaning, you’ll need to be even more on your toes to ensure all your warriors do not get hit, not just one.

    ---​

    Thank you for viewing our post! Support and interest for the project has been rapidly growing ever since we began posting here, and we're incredibly grateful for all the wonderful feedback so far! We hope this project interests you as much as we love developing for it, and please look forward to more updates coming in the very near future!

    If you’re brand new, consider checking out our trailer and overall description of the game here: https://www.indiedb.com/games/moonrise
     
  10. yyanthire

    yyanthire

    Joined:
    Oct 27, 2014
    Posts:
    69

    Welcome to Dev Blog #8- SFX Addition and Integration!

    The video above demonstrates some of the sounds of our spells as they sound in-game (music disabled) (we’re also showing off some of the new color schemes, so we hope you enjoy the much-improved visuals!). There’s still a bit more polishing to ensue, but the current setup seems to be ideal.

    Sounds are very easy to do in Unity- we create a variable for our ‘travel’ sound, and then our ‘hit’ sound, and transition between those within code at the correct spots. The same goes for things like dying, spawning, acquiring special things like Resources and Tomes, and so on. We can conveniently trigger all these events as they occur from their main event within the code.

    Sound Management is also quite simple- except, things need to be done in a reverse order. With Music, we can control the music almost directly, since its just a single entity. But with Sound Effects, since they are so spread out across so many different things, handling them all directly would be a bad idea. Instead, handling them in a reverse order- ie, have the SFX themselves figure out what the current control scheme is via a global handler is the most ideal.

    This is done by, on SFX call, the SFX itself looks at the global GameManager class to understand all its various parameters (namely volume). It then takes those parameters and updates its own information with them, then plays the sound. This allows us the ability to control dozens of different SFX objects very easily, and simplifies the scaling process. So, instead of the GameManager controlling the sounds directly, when the sound is needed, that sound instead looks at the GameManager to determine its volume, etc. We imagine this is the same setup we’ll use for handling things like ambiance effects and so forth.

    The other task we needed to overcome was handling sounds in massive quantities. RTS games are known for having dozens of spells flying across the screen at once, and if each of them are playing a sound (different, or same), all those sounds get added together to create one overpowering element. Therefore, we need to manage the output levels of sound so it doesn’t get too loud.

    To do so is quite simple- using Unity’s Audio Mixer, we can have the output sound essentially ‘check itself’ to ensure that it doesn’t go over a desired volume limit. This differs from simply lowering all volume- we have both a minimum and a maximum volume to maintain. The minimum is easy- its the base sound on its own. But the maximum is a bit more complicated- when dozens of the same sound play simultaneously, the result is that 1 sound at a much higher volume.

    Utilizing the Audio Mixer, we can feed every sound into a base, and from there, determine if we need to apply volume lowering. The desired goal is to make it so dozens of spells sound fairly similar compared to just one being cast. The result is even as dozens of spells are cast, the overall amount of sounds do not overwhelm the player.

    There is still some tweaking to do- we’re still playing around with the volumes of sounds at their base level to ensure all are very similar in volume. But right now, its at a state that is both good and fairly smooth to listen to.

    ---​

    Thank you for viewing our post! Support and interest for the project has been rapidly growing ever since we began posting here, and we're incredibly grateful for all the wonderful feedback so far! We hope this project interests you as much as we love developing for it, and please look forward to more updates coming in the very near future!

    If you’re brand new, consider checking out our trailer and overall description of the game here: https://www.indiedb.com/games/moonrise
     
  11. yyanthire

    yyanthire

    Joined:
    Oct 27, 2014
    Posts:
    69


    Welcome to our ninth blog post, Saving! Given our recent completion and integration of saving, we'd like to take a moment to explain how it effects the game.

    The basis of our saving system is to do one very important thing- prevent cheating, while still being very versatile. And that’s a fairly difficult but interesting task to pull off given our fairly limited number of options we have at our disposal.

    To start, there are some critical elements we need to store on every save.




    _____




    The most direct of these include player's Army (top image), their active Map Progression (top middle image), and their Resources (bottom image). These variables could be considered our ‘liquid' variables. That's because Warriors can be slain in a moment's notice, we need to keep track of our Fog progression and slain enemies, alongside any various Resources or Key Items player manages to obtain. They can change very quickly, and we need to always ensure a finite state.




    _____
    Then comes the much more ‘solid’ variables- active Map, list of our Maps, Research, Home Base, and misc elements like Time progression. After Map Generation, we need to ensure its stored properly and easily accessible for read/write if its the current Map. Research, alongside player’s Home Base, are largely static elements that will only update at very important moments in time. All of these also have some basis on Time, the in-game clock, and its need to retain a persistent state throughout each save/load/quit.

    Given our large amount of variables, Autosaving persistence becomes difficult to control. We cannot have there be large pauses during gameplay for the game to save. In addition, given the large amount of variables of combat to save, saving combat as a whole becomes incredibly difficult. Thankfully, we can use some clever ingenuity to still achieve a saving system we desire, that’s fairly well-safeguarded against awful things like the game crashing, player’s computer losing power, and so forth.






    Finally, the design we need, above all, must favor player convenience. As, with any RTS game, repetitive, dis-interesting content can happen fairly frequently and often, and its not something we want for our project. We want gameplay to be fairly fast paced and the central content.

    The design we’ve decided to use is a single, adamant save. From there, only in specific locations in the World is player allowed to save. In addition, every time player transitions to a new map, the game is saved. This single save allows us to get around the paradigm of ‘multiple saves’ per playthrough, it keeps data loss during game crashes/power outages minimized, and it gives player quite a bit of versatility in their ability to save.


    Defeat in not only this project, but RTS-type games in general, is fairly detrimental. It can sometimes mean a near-total restart. As such, we want to give players the option of being able to save conveniently (and allow for retrying difficult bosses in a simple manner), but not so frequently as to be able to cheat the game.

    And, lastly, when all else fails- one can Accept one’s own Defeat, to reset things from how they are to a stable, basic standard, and ensure (from a developer’s perspective) against any unknown bugs or corruption.

    ---​


    That ends our segment on Saving, thank you for viewing our blog post! Please look forward to more coming very soon!

    If you’re brand new, consider checking out our trailer and overall description of the game here: https://www.indiedb.com/games/moonrise
     
    Last edited: Jun 17, 2019
  12. yyanthire

    yyanthire

    Joined:
    Oct 27, 2014
    Posts:
    69


    Welcome to our tenth dev blog- Spellcasting!

    We’ve done previous dev blogs about Combat (see here: https://www.indiedb.com/games/moonrise/news/moonrise-dev-blog-5-combat-an-in-depth-look )

    However, we’ve never gone in-depth into our spellcasting system.





    In Moonrise, there are a vast array of different Units, each with multiple unique spells to take advantage of. With so many Abilities, how could one easily cast all of them in both a quick and convenient manner? Accomplishing this is simple- by utilizing a Spell Hotbar. Player is allowed to drag and drop various spells they wish to use onto it, and customize how they can cast it, controlling exactly what keypress to be used for each spell.

    In addition, we provided near-indefinite space- with 15 slots per bar, and 4 bars total, there’s more than enough space for every spell to be used. This is granted if its necessary- in our development process, we found the 15 slots to suffice for most combat.





    Now, onto some of the logic behind it:

    Inherent spellcasting logic casts each spell based on the first available Unit which can cast said spell. Meaning, if you have two different Units, each obviously having different Abilities, you can simply select both, cast the initial Ability, then cast the second Ability, all without having to vary who is selected. Selection is key here- you can merely have all your Units selected at once, and be able to access all of their Abilities at any given moment.





    On top of that, there is also some ‘smart-logic’ behind casting the same spell with multiple of the same Units selected. If a Unit is casting a desired spell, we definitely do not want to override it with another one. We want the spellcasts to spread out across all Units, and not have to worry about who casts what when we’re worrying about how to defeat whom we are fighting (which could be a large group of foes, or a difficult boss). As such, spellcasting logic allows for casting the same Ability across multiples of the same Unit-type smart enough to know that casters already casting said spell should not be overridden, and the desired spell should go to the next Unit.





    Lastly comes “All-Cast”- certain Abilities are not cast one-by-one. This is done intentionally- you may not want a spell to be cast by multiple Units but instead just a single Unit. On the other hand, for other Abilities, you may want all Units to cast the desired Ability. This is where All-Cast comes in: it saves you precious seconds from having to cast the spell with all your Units one-by-one, and instead has all your Units (that can use the Ability) cast it as soon as possible.

    ---​


    Thank you for viewing our post! Support and interest for the project has been rapidly growing ever since we began posting here, and we're incredibly grateful for all the wonderful feedback so far! We hope this project interests you as much as we love developing for it, and please look forward to more updates coming in the very near future!

    If you’re brand new, consider checking out our trailer and overall description of the game here: https://www.indiedb.com/games/moonrise
     
    Riko07 likes this.
  13. yyanthire

    yyanthire

    Joined:
    Oct 27, 2014
    Posts:
    69


    Welcome to our eleventh blog post!​


    In this one, we’re going to be taking a deeper look into one of our early boss fights, the Lesser Dragon of Flame. We did an initial posting about this boss a while back, click here to check it out. We also did an in-depth look into the other boss linked above, the Dragon of Mysticism, so if you want to check out either of those, click any of the links above.

    In this one, we want to revisit combat a bit and explain the fight of the Lesser Dragon of Flame.

    ---​


    But before we begin to talk about the fight, we need to at least show it off. Here’s a video of the fight:



    ---​


    The Lesser Dragon of Flame goes back to our core game design: movement.

    In this fight, you need to be constantly moving and paying attention to all of your warriors, else you’ll end up losing them to the Dragon.

    The Dragon has two attacks:



    The first one is its stun- any of your warriors caught in its blast area are immediately made unable to move. It then follows up by casting its Draconic Fireball.



    Its Draconic Fireball is devastating- dealing a huge amount of health, and is quick to cast at that. Luckily, its slow moving, giving you just enough time to dodge, but not enough time for those whom are slow to react. As soon as you see a fireball, you’ll need to move, and fast.



    Its final spell is its Dodge- it will teleport to a location nearby, so be careful. Keeping your distance from this Dragon is important in order to react fast enough to dodge its spells, so make sure it doesn’t teleport right next to any of your warriors! In addition, be careful when casting powerful spells on it. If you cast a strong spell at the same time it dodges, your spell will most definitely miss, and you’ll end up wasting the cast. Given the limited manapool of your warriors, and the Dragon’s rapid regeneration rate, repeated misses could easily cost you the fight.



    Its Aura- meaning, its passive effect that will effect all of your Warriors nearby it, can be both hurtful and helpful. It forces all your warriors back- meaning, they run from the Dragon itself. The good part about this is it can aid in dodging- too focused on another Fireball while a new one is being cast, the Aura can sometimes save your units by moving them back for you, dodging the spell. The bad part is- you can’t control your units during this time. It can just so happen you are forced backwards by the Aura, think your warrior is dodging an incoming spell, but once the Aura stops and the Unit regains control over itself, it runs into the fireball in an attempt to attack the Dragon. So know the interval of when the Aura is going to strike next, and be sure you’re not in a position where many of your warriors are lined up to get hit by a fireball while you can’t do anything about it.

    ---​


    Now that we’ve gone over the Dragon’s attacks, let’s get into our army composition, because that is fairly critical.

    Being comprised of flame, the Dragon has extremely low resistances to water and air. Therefore, a combination of those two types of warriors is ideal.



    We dislike the Dragon moving around at all, because every time it moves, it increases the likelihood of it moving out of the way of an incoming attack, and we miss out on that damage. Therefore, a good supply of Apprentice Sorcerers to summon water spells and enact a frigid slowing aura is preferred. They are also inherently resistant to flame, making the Dragon’s Fireball deal much less damage.



    In addition, the incredibly fast attack speed of the Apprentice Wizard, whom can conjure lightning bolts at a rapid pace, would provide some decent backing damage. Its long range will keep it out of the fight, meaning we’ll only need to focus our dodging on our closer-ranged Sorcerers.



    (from left to right: Apprentice Druid, Apprentice Bard, Apprentice Monk)


    Then some support Units- namely, the Apprentice Druid, for its ability to prevent the Dragon from casting spells for a short amount of time, alongside the Apprentice Bard for its helpful auras that will increase our speed and damage. Speed being the key part- we need to be able to dodge, and giving us that much more lenience in our maneuverability will save many warriors.

    The only alternative to this army composition would be to add in a healer- but its something not too necessary as we’d prefer to have the raw damage output of another fighter.

    From here its just a matter of reaction- we know what the Dragon is going to do, and we know our warriors are more than adequate for the battle. We now just need to pull it off. As you could see in the video above, very early on we lost our Apprentice Druid, but were able to adapt and dodge adequately enough to where we weren't completely reliant on it, and still succeeded in the fight regardless.

    ---​


    Thank you for viewing our post! Support and interest for the project has been rapidly growing ever since we began posting here, and we're incredibly grateful for all the wonderful feedback so far! We hope this project interests you as much as we love developing for it, and please look forward to more updates coming in the very near future!

    If you’re brand new, consider checking out our trailer and overall description of the game here.
     
  14. yyanthire

    yyanthire

    Joined:
    Oct 27, 2014
    Posts:
    69
    Welcome to our twelfth blog post!​

    We’d first like to start off by saying we’ve decided to go with a new working title. The project’s name is still subject to change, but for now, we’re liking the name “Fragment’s Moonrise”.

    After recently developing a new boss, we’ve decided to do a short posting about it, and detail what this boss is all about.

    Before we go into it, let us begin by showing off the fight in its entirety:



    ---​




    The Chimaera is a fairly scary boss- it can perform quick attacks with a moderate range, and each cut it does invokes very deep wounds on your warriors. It strikes in an area, so be very careful and keep your warriors spread apart.

    In addition, it has a followup strike which can send your units into a shock, completely unable to move nor attack, while they sit there helplessly as the Chimaera goes in for another attack. This also strikes in an area, larger than the last, so ensure your warriors are adequately spaced so few are subject to this stun.




    Its main methodology of movement is its teleportation- it sends out multiple spells in various directions, and when any of these land, it teleports to said location. It can get around very, very quickly, so its of utmost importance to time your attacks accordingly. With all this movement, your units will enter into a frenzy trying to chase after it, so ensure proper spacing before the Chimaera turns around and strikes upon them. It can strike in an instant; you have been forewarned.




    Just when you least expect it, while you think its just merely teleporting around at near-random, it can pull a complete reversal and sneak-attack you by teleporting directly onto your warriors, following up with a quick strike with its claws. Its leap is its most deadly- it can come out of nowhere, and when it does you’ll need to move quickly as it is soon to strike.

    ---​

    The strategy behind this boss is complicated- you first need a healer, as no warrior can survive its claws alone, let alone the deep wounds it invokes. Without someone to restore the health of the injured, in just a few attacks, the warrior will die.

    In addition, one potential strategy revolves around its manapool. It has minimal mana, and needs said mana in order to activate its Double Swipe and Leap abilities. Draining its mana would ensure that all that is needing to be worried of is its teleportation and basic strike, a much simpler task, and much less deadly.

    It has too many spells to worry about, so ensuring a Druid is present to slow its spellcasting is absolutely necessary. Without it, it will cast at twice its normal rate, and become that much more terrifying.

    Finally, it shows great weakness to Flame. Casting Great Fireballs upon it is the only true way to slay it before it can slay you, as no other spell can deal as much damage as quickly.

    In the video above, it took us many attempts to defeat this boss, and even when we did, the result was not too pretty- as you can see in the video, many warriors were lost. But we still achieved victory nonetheless. This fight definitely goes the way we want it to, and we’re happy to add it to the collection of bosses. Its a difficult and brutal fight where it becomes hard, yet not impossible, to tell what is going on. It fits the role of a mid-level boss for our project.

    ---​

    Thank you for viewing our post! Support and interest for the project has been rapidly growing ever since we began posting here, and we're incredibly grateful for all the wonderful feedback so far! We hope this project interests you as much as we love developing for it, and please look forward to more updates coming in the very near future!

    If you’re brand new, consider checking out our trailer and overall description of the game here.
     
  15. yyanthire

    yyanthire

    Joined:
    Oct 27, 2014
    Posts:
    69



    Welcome to our thirteenth blog post!​



    In this one we’ll be going over a much needed topic- our Units and Unit Types.

    This is going to be a multi-part post, as we have so many Units that we can’t truly get to all of them in a single, coherent posting. We won’t be going over our Structures, as in the past we’ve already gone over them; so if you’d like to check out those, click here.

    In the world of Moonrise, specific to our primary race, the Mystics, we have a dozen different Units to use, each with different purposes, but all very centralized.

    While we do have plans for two other races, the Gyen and Akelene, only the Mystics so far have been added, and we don’t intend on starting on any other race until they’ve been fully completed, playtested, balanced, and so forth.

    We should also say ahead of time that the names of Units are still fully subject to change. We’re still working out what good names for the Units would be, and may change them as time goes on.

    Lastly, we should mention that all of these Units are still heavily in development and are being changed around fairly frequently, and these introductions merely show the design behind the Unit, not so much all of their various abilities.

    So, without further ado, let’s go into the details of the Mystic army.

    ---




    We begin with the Disciple. This introductory Unit is quite simple: it teaches you all the basics of the game, from basic spellcasting, to hotbar spellcasting, to healing, to advancement, to gathering resources, and of course, constructing Structures.

    Its a very simple Unit with one very specific role: kill 5 Enemies so it may advance further.




    We then move onto the Magician. After advancing from the Disciple, the Magician has a few more spells to make use of and to teach one of the core parts of the game: Spellcasting.

    Spellcasting is quite critical to the game. With the Disciple, your primary task was to move and dodge enemy attacks. With the Magician, you now have some extra firepower to fight back and inflict greater damage.




    Introducing the Elite Mystic Bolt. It strikes the enemy with White Lightning, a spell that’s very difficult for the foe to dodge, and quite powerful on its own. Its a spell that’s difficult to miss with, which is important for showing the player the importance of spellcasting without requiring them to properly aim and time their shots.

    Like the Disciple, the Magician has but one simple task: kill 15 Enemies so it may advance further. In addition to its cost in blood, every advancement has a Resource cost associated with it. So be sure to stock up.

    So, now that we have a Magician ready for advancement, its time to make a big choice. As there are 9 different classes this Magician can advance into. But don’t worry about making the wrong choice- you can always switch it later, for a small fee in Resources, of course.




    Let’s begin with the Apprentice Wizard class.

    Wizards are known for their long-range attacking abilities, and their faster movement speed. Their quick to strike with their Lightning, and they can cover a far range. Their vision, however, is limited, so make sure there is always a high-vision Unit nearby (like the Bard) to act as its spotter.




    One of its basic techniques is with crowd control- it can easily disrupt a crowd with the use of its Gust spell.







    The Apprentice Sorcerer class is a class known for its mixed skillset. While predominantly a support Unit capable of slowing and even disabling enemies, it also has a few extra spells which add to its versatility.

    Let’s start with its Water Bolt spell- its primary attack. While it may seem, on the surface, a bit pointless, its actually quite a powerful spell. No other Mystic Warrior can utilize the Water element, so it can get a unique advantage against a lot of enemies. So much so its an excellent unit for fighting a fairly powerful boss, the Lesser Dragon of Flame. If you’d like to check out that fight, click here.

    The Sorcerer’s Aura is quite a powerful and versatile one. It not only slows nearby enemies down, but it also causes some damage. This damage might not seem like much, since its so little, but it will impact any enemy’s health regeneration, allowing for cleaner kills without having to worry about the foe’s regeneration.




    Its Rain spell is a bit unique- it can heal in an area, perfect for healing all your warriors, so long as their close enough together to be able to receive said benefits. There are many fights in which spacing is critical, so clumping your Units together would be a very bad idea. But there are other fights in which you don’t need too much spacing, and in these instances, utilizing a few Sorcerers casting Rain will give you a great healing advantage.




    Another spell the Sorcerer makes great use of is its Freeze spell. While trickier to cast, its a much improved variant of their inherent aura. It stops foes in their tracks, making them unable to attack nor heal. And it completely stops their regeneration.




    Our final Unit we wish to showcase is the core advancement of the Magician- the Apprentice Mage. This class of Units focuses on high, single-target damage. It casts a fast spell which strikes in an area alongside a very powerful, single-target spell that inflicts great damage.




    Its core spell, Mystic Energy, strikes at a foe with full force. This spell becomes highly useful against large, solo bosses that have minimal Mystic resistance to burst them down quickly.




    The Mage isn’t all damage, however. It has a few extra tricks up its sleeve. Which includes its Teleportation ability, which allows a quick teleport to a nearby location. It can even become completely invisible, unable to be detected by the enemy, to allow for significantly better map traversal than the Wizard’s inherently quick movement speed.

    ---



    Thank you for viewing our post! Support and interest for the project has been rapidly growing ever since we began posting here, and we're incredibly grateful for all the wonderful feedback so far! We hope this project interests you as much as we love developing for it, and please look forward to more updates coming in the very near future!

    If you’re brand new, consider checking out our trailer and overall description of the game here.
     
  16. yyanthire

    yyanthire

    Joined:
    Oct 27, 2014
    Posts:
    69



    Welcome to our fourteenth blog post!​



    Last update, we began to go over our Units and how they function. However, we were only able to get through half of them. And in this one, we aim to share the rest.

    If you’d like to check out the first part, click here.

    We must first start off with some good news- we recently released version Alpha 1.2 amongst us developers, marking an important development milestone. The game is moving that much further along to a Beta release, so we’re very excited about our overall progress.

    In addition- in the last post, we alluded to the fact that we were desiring a name-change on our Units. Well, in the most recent update, we’ve gone ahead and done so. This update will feature the new, more official names of the Units.

    So, without further ado, let’s get into it:




    The Apprentice of Nature, formerly referred to as the Druid, is a support spellcaster known for its ability to alter resistances, stop spellcasts, and outright block movement.




    Let’s start with one of its weirder spells- it has the ability to summon Trees at will. These trees can be utilized to stop the movement of foes, either for constructing a barrier between you and the enemy, or fully surrounding a particular difficult boss to prevent it from getting at your Units. It can also be used as a retreating mechanic- construct a few trees while fleeing so that your enemies can’t get at you.




    One of its most useful and versatile abilities is its basic attack- Natural Spirit. While a weak spell in damage and having a long cast time, it contains one of the most useful status ailments- Spell Deprivation. This completely blocks a foe from attacking for a short amount of time, giving you a huge advantage. This is particularly useful on single bosses- bosses without a lot of assistance from other creatures. So the Apprentice of Nature can focus all its efforts on depriving the main foe of the ability to strike.




    Lastly, to further its support role, it has an incredibly powerful set of Auras to alter the Resistances of allies nearby. Each Aura, while having a high cost in both life and mana, also apply great bonus resistances to nearby allies. These bonus resistances come at a cost, however- they lower the resistances of all the ones they aren’t boosting. While we haven’t talked about Resistance prior in any other dev-blog post, just know they essentially lower (or increase) the damage output based on what Element they were hit by (such as, if a foe has 50% Fire Resistance and is hit by a Fire spell, the foe will only take half the normal damage. Alternatively, if a foe has -50% Water Resistance and is hit by a Water spell, they’ll take 50% additional damage). The Apprentice of Nature’s Auras require a bit of thinking to use adequately, so understanding your foe is key to making use out of them.




    The Apprentice of Sound, formerly known as the Bard, is a very useful and reliable support Unit. Its known for providing Aura buffs to all nearby allies, and providing some crowd-control techniques. It also has the ability to restore Mana to nearby allies, furthering its usefulness when mana becomes low.




    Its twin Auras- War and Haste, provide very deliberate yet highly useful buffs. War, as the name implies, boosts the damage of allies nearby, while Haste boosts their movement speed. Used in conjunction, you can acquire very fast-moving and high-damage Warriors. But be careful- the mana costs become quite steep when left on, so its best to disable them until an important fight.




    Similar to the Apprentice Wizard’s (now the Apprentice of Air’s) Gust Ability, the Apprentice of Sound has an Ability of its own: Fear. Fear works a bit differently then Gust- while Gust just pushes foes back a ways (and can be interrupted with deliberate movement), Fear makes a foe unable to get near its invoker. This debuff lasts quite a while, keeping that particular enemy out of the fight for that much longer, so long as you place the invoker near the effected unit.




    The Apprentice of Death, formerly the Necromancer, allows for extending one’s army even more than normal. In addition, it also has talents in stealing both health and mana, restoring it for itself to summon even more of its creatures.




    Its most basic of summons is its Skeleton- a ghostly warrior with the ability to Poison struck foes, damaging their mana along with it.

    To Summon a Skeleton, one must first simply find a Corpse. Any Corpse will work. So, if a nearby ally dies, you can use their Corpse to return a new warrior to the battlefield. Or if a difficult boss is summoning many weak foes you can kill off easily, you can use those corpses for your own benefit. The only issue is their cost in Supply- you can’t just summon hundreds of these things and overwhelm your foes. As you advance your Apprentice of Death further, you’ll gain access to even more summons, further complicating the decision.




    The Apprentice of Flame, formerly referred to as the Apprentice Warlock, shares some similarities with the Apprentice Mage (now Apprentice of Mysticism). However, where the Apprentice of Mysticism is for dealing single-target damage, the Apprentice of Flame is for dealing area damage.




    Great Fireball is its core, major spell. It deals great Fire damage in an area. But be careful- it will harm your own if hit by it. So its a spell you must use with the utmost caution.




    The Apprentice of Life, formerly Apprentice Monk, is the only ‘true’ healer in the Mystic race. Its core responsibility is to restore life- fairly self explanatory, yet incredibly important to have.




    However, this leaves the Apprentice of Life fairly defenseless. No matter- its the only one whom can construct a very powerful Structure: the Evaporator. The Evaporator is an offensive structure with high health and resistances, able to cast the all-powerful Mystic Energy, a powerful single-target spell, alongside having an Aura which deals damage to enemies nearby.




    The Apprentice of Truth, formerly the Apprentice Master, may seem only like an improved Disciple at first glance. However, its the key stepping stone before becoming the most powerful of Mystic warriors: the Master. Without revealing too much, the Master inhibits all elemental affiliation, utilizing them in its own way. There’s not much we can share now about its current design, but hopefully in the future we’ll be able to say a lot, lot more about the Master.

    ---​



    Thank you for viewing our post! Support and interest for the project has been rapidly growing ever since we began posting here, and we're incredibly grateful for all the wonderful feedback so far! We hope this project interests you as much as we love developing for it, and please look forward to more updates coming in the very near future!

    If you’re brand new, consider checking out our trailer and overall description of the game here.
     
  17. yyanthire

    yyanthire

    Joined:
    Oct 27, 2014
    Posts:
    69



    Welcome to our fifteenth blog post!​



    In this one, we aim to stray a bit away from showing off gameplay to instead show off how some of our game’s code works, specifically with regards to Abilities.

    If you’d like to ask any sorts of questions with regards to how it was implemented or anything like that, we’d definitely be open to sharing with you. This post will predominantly cover the basics of what-does-what in the game.




    All of our data interpretation begins with our methodology of storing the data: JSON.

    JSON allows for a very convenient and easy way to not only store large amounts of data, but also conveniently write new data and, most importantly, access that data in a quick and reasonable fashion. The core of our load times when booting up the project are map generation and data-loading, so with JSON, we can get it as fast as it can possibly be interpreted and stored, ready for the game to call upon as needed. As a result, the game loads quite quickly, even though its quite literally handling thousands and thousands of lines of code.

    To begin discussing integration, we should first take a step back and talk about our Default Data. Every Ability in the game is comprised of parts: Damage, Element, Range, Area-of-Effect, and so forth. With that being said, there are quite literally 100-200+ different Abilities alone in the game as it currently stands, and dozens of various variables to invoke. And this is all plausible in a convenient manner via one core element of data interpretation: default data (as shown in the image above). Before we begin reading the JSON, we first run through and establish every entity as having this default data. And, from there, as we read the data, we merely update the entity with its correct information. Such as, a powerful fireball spell would have high damage and long range. But a buffing spell would not need any damage. With the default data, we can conveniently comprise every entity based on its unique information, and let the code handle setting non-important data necessary to run the Ability properly.




    This leads us into our desired data- each Ability is unique, and therefore must be treated as such. We want the game to read the unique data and do desired things with it, but treat the non-important data as nonexistent.

    Take our image example above- our Great Fireball spell has some key features we want to address with this particular Ability. Its damage, its Area-of-Effect, and its Target-Types are all critical pieces of the Ability. The Damage part is self-explanatory: deal damage to those hit by the spell. However, it gets mixed up with its first alternative feature: its AOE. This establishes that it should strike in an area of a particular Radius denoted. Then, the next tag might come as a bit confusing: its Target-Type. You’ll notice two Target-Types listed: one above, just saying “Enemy”: True, and one within the AOE bracket, denoted “SplashAffectsWhatTargetType”. You may be reading the “SplashAffectsWhatTargetType” and thinking its self-explanatory: this is what the AOE effects. But then you must ask: what does “TargetType” mean, with Enemy set to true? Well, it means that this spell can only be cast upon Enemies, which in turn means that when a unit’s AI is functioning, or player is attempting to cast said spell, they must target an Enemy for it to function adequately. So, Great Fireball is a spell which can only be cast upon a target of type Enemy, but its AOE can effect anything from enemies to allies to even the caster itself. However, that’s not the full truth of the spell: it also utilizes “GroundCast”. What this means is that the player does not have to just click upon an Enemy to cast the spell, they can also click upon the ground, and the spellcaster will cast the Spell there. GroundCast is a unique feature predominantly only useful for the player, but there are some various unique ‘tricks’ to it that we developed to make it usable by enemies as well, and we’ll talk about those in a little bit.




    Next, let’s look at a slightly different ability: Lifeless Spirit Poison. This Ability has a different parameter: “StatusEffectApplied”. It calls a Status Effect named Poison. This parameter is quite a unique one as it is calling a different set of JSON data to retrieve an element called Poison, and then applying that to the target as they are hit by the Ability. It also inflicts Mana Damage, which harms the target’s mana rather than their health.




    With some of those Abilities shown and briefly discussed, its time to talk a bit more about the coding side of their integration.

    Each parameter has a function, and its up to us as the programmers to determine what this function does.

    Our Damage variable is quite simple- as the Unit is hit by an Ability, have the value of Damage subtract from their health (or, if the Damage is negative, use it to heal them).

    Next is AOE: AOE is a bit strange as its design has changed quite a bit since it was first introduced. Originally, no spell would be considered AOE, it simply hit the target. But, as we developed the game and made things more unique, AOE now quite literally is enabled for every Ability. This was due to a major gameplay change done a while back: instead of targeting and tracking the target Unit, we target where they were standing when the Ability was launched, giving an opportunity to dodge the spell. Through code, we can conveniently make it so all Abilities utilize AOE, and the ones that explicitly list out their AOE data override the default instance. With AOE, we’re determining, upon spell landing, a specific area around where the spell landed do we apply ALL of the Ability’s effects (as if anything standing in that area were the ones struck by the spell). Since it applies all effects, we can do things like utilize another variable, “ConstructObject”, that spawns in a particular unit. And we can combine this with both AOE and setting our TargetTypes to “Corpse” to make it so all Corpses in a particular area are returned to life. There’s a lot of creative uses behind this code.

    Who and what we hit are dependent upon the TargetType, which lists out what effects what. We do this based on the type of the Unit casting the spell based on the type of Unit whom was hit by the spell. If two PlayerUnits are hit by a spell that only effects Enemies, none of them are effected. But if a PlayerUnit casts a spell upon an Enemy, that enemy is effected, and vice-versa, its just a simple check of typing. Where things get more complicated are with Neutral units: no AI will ever trigger on a Neutral, every action has to be deliberate, and that’s been accounted for.




    GroundCast simply means, upon clicking to cast a spell, are we allowed to cast it on the ground? If there is a Unit we can cast upon standing there, we’ll prioritize casting on the Unit. But if not, we’ll cast on the ground tile. This also has a bit of a unique integration: to make it work with non-Player AI, we made it so that if all TargetTypes are false that any non-Player Unit will attempt to cast said spell on a nearby tile at random. This is important for creating other unique spells like Dodge, which makes it so enemies teleport to a random nearby location upon spellcast (more heavily displayed with the Chimaera fight, as shown here), or with our various summoning spells to summon creatures.




    Lastly, with our StatusEffectsApplied, you’ll notice its not just a single object but an array of them. Meaning, you can have multiple Status Effects be applied upon casting a single spell. Status Effect integration is possibly the most complicated- on spell hit, we go into our Status Effect database, grab out the desired element, and then put it onto the unit for them to now be effected by (effects range from harmful to helpful and anywhere inbetween). Status Effects are, quite literally, a whole other world of effects on their own, just like Abilities are.

    ---​



    We hope you enjoyed this rather brief insight into some of our coding practices, and thank you for viewing our post! Support and interest for the project has been rapidly growing ever since we began posting here, and we're incredibly grateful for all the wonderful feedback so far! We hope this project interests you as much as we love developing for it, and please look forward to more updates coming in the very near future!

    If you’re brand new, consider checking out our trailer and overall description of the game here.
     
  18. yyanthire

    yyanthire

    Joined:
    Oct 27, 2014
    Posts:
    69



    Welcome to our sixteenth blog post!​



    The Nightdrake is a dragon of transparency; it hides deep into the landscape, awaiting the first unsuspecting soul it sees for a deliberate ambush.




    The best approach is with stealth of your own: if you can sneak up on it undetected, you can get an easy counter-ambush, gaining a huge tactical edge in the beginning of the fight.




    Being able to strike first may be key, but its not the whole fight. At some point, you’ll see it, and it’ll see you. So having a plan for that point in the fight is critical.




    It can summon some very formidable foes.

    Starting on the left, the Necromancer Kasjowa is a strong enemy with lifestealing capabilities, alongside being able to Poison anything its acid touches.

    The Galf Spider is a summoner; its spells may not be too strong, but it can continuously summon spider underlings. These underlings may be weak, but they are quite powerful in numbers, especially when they surround you and don’t let you escape. On top of that, as the weak spiders die, the Galf summons even stronger spiders in its place.

    The last of the summons is the powerful Skeletal Ossuria. Strong physically, a formidable spellcaster, and a wicked summoner, the Ossuria is the worst of the Nightdrake’s summons. The Ossuria rapidly casts Fireball, a quick spell with great damage. Its health and durability is excellent; this foe will not go down without a fight. And its ability to spawn its underlings is its deadliest of spells: take down the Ossuria first before it creates too many of its lessers.




    The final thing to worry about when it comes to the Nightdrake is its Life Siphon- dealing massive damage to both health and mana, and fully stealing it for its own. It also inflicts deadly status ailments: poison, a vision deprivation, and a resistance reduction. All those whom are struck by Life Siphon begin to rapidly lose health due to Poison, lose the ability to see as far as they could originally via Vision Deprivation, and suffer from even more damage than before with the Resistance Reduction. When this attack is coming towards you, its best to rapidly move out of the way.

    The best plan for this fight is get in, get out. You’ll quickly be swarmed with adversaries, so its best to strike down the Nightdrake before you get too overwhelmed, then make for your escape.

    Our video below details the fight; it consists of two-parts: the first being a regular engagement with the fiend. The second shows off an alternative strategy, the ambush, utilizing the high damage output of our Apprentices of Mysticism to strike down the foe before it can lay down substantial damage upon us.


    Development behind this boss has been quite interesting- the original version of the Nightdrake was abhorrently powerful, and received a considerable amount of nerfs unto its current state. It originally had all its attacks strike in an area, and all of them had half their normal cooldown rates. With the game’s code, this meant that as player’s warriors stood in the AOE, particularly when it summoned things, that a separate creature would be summoned for each warrior there (alongside inflicting player’s warriors with a status ailment). This resulted in dozens of summons cropping up as the fight went underway, and given that the Nightdrake initially had 3000 HP (now, only 1000), this dragon quickly became a very scary boss, in need of a lot of changes. Our current plan is to bring this version of the boss back, likely to be referred to as the Elite Nightdrake, but this time as an end-game boss. One in which the player has an opportunity to fully advance their fighters, and truly hone their skills, before they have to engage.

    ---​



    Thank you for viewing our post! Support and interest for the project has been rapidly growing ever since we began posting here, and we're incredibly grateful for all the wonderful feedback so far! We hope this project interests you as much as we love developing for it, and please look forward to more updates coming in the very near future!

    If you’re brand new, consider checking out our trailer and overall description of the game here.
     
  19. yyanthire

    yyanthire

    Joined:
    Oct 27, 2014
    Posts:
    69


    Welcome to our seventeenth blog post!​



    There’s quite a bit of ‘teaching-tools’ demonstrated in specific boss design, to further enforce particular mechanics that are necessary to furthering one’s understanding to the game.

    Introducing the Wingless Whisperer, an adaptive, illusive boss that highlights some very core, fundamental aspects of this project’s combat.

    Let’s first go over some of its attacks, then go over why these are crucial to a player’s introduction to the world.




    The first attack it can utilize is its Right Claw- embedded within it is the ability to inflict Deep Wounds, a status ailment dealing great damage over time.




    Its next attack is where the miniboss gains intricacy- its Left Claw. It strikes no enemy with said claw- instead, it merely strikes itself. And, in doing so, both heals, and changes the dynamic of the fight- by invoking Truth Reversal upon itself. We’ll go into more detail about how this works, and why its a key factor, a little bit later.




    Its last skill is its Invisibility: while hiding from the player might pose some usefulness, what’s important to gain from Invisibility is how to fight it- many things within this world can turn Invisible, and its important to not only spot them, but also how to engage them. Invisible foes cannot be seen in any way, meaning that if the player wishes to engage them, they must do so manually. This is the Wingless Whisperer’s first teaching tool- an invisible target must be engaged directly. Thankfully, there are some tools to accomplish this. Any attacking spell can be cast on it normally; what this means is all you have to do is take a spell on the hotbar and cast it upon the fiend, and your warriors will do the rest. This dynamic is further emphasized with its movement- you need to actually target the creature to strike it, so be quick, and accurate.




    The next teaching tool returns back to its Right Claw- as you can tell by the image above, it strikes in a particular area. Simply put, this should directly indicate that having your warriors stationed together is a very, very bad idea, and spreading them out is a must. If spread correctly, only 1 warrior will be hit by the attack (or none, if you employ some dodging, but that is a bit more advanced and requires precise timing). Meaning you’ll only be having one warrior take the damage of Deep Wounds in a given instance. As that warrior loses health, its best to back it off from the fight and have the Wingless Whisperer target a new warrior, as to allow for healing the hurt warrior before it dies.







    The final teaching tool is one we alluded to a bit prior- Truth Reversal. Truth Reversal is, simply put, one of the many status ailments that alters one’s resistances. This one in particular is quite interesting- it, essentially, reverses the Wingless Whisperer’s resistances.

    You see, as the Wingless Whisperer stands at its core is high resistance to every element except for Truth. Abilities of the Element “True” can strike at the Wingless Whisperer without any issue. However, upon invoking Truth Reversal on itself, this is no longer the case.

    As you can see in the gif above, all our warriors are casting Mystic Bolt upon the Wingless Whisperer, and it is doing essentially no damage at all. However, with Truth Reversal active, our Mystic Bolt is now useful, and we can get some good damage in.

    This resistance alteration is pivotal for the game’s design: not only do many much stronger bosses utilize alternating resistances, so this is good practice before the real fights are to occur, but just simply understanding how resistances work at their core is crucial to engaging all the various foes of the world. Understanding what an enemy resists and what it doesn’t is critical to defeating it, and being able to swap from casting spells of Elemental type “Mystic” to Elemental type “True” as necessary is a part of the game that the player needs to understand. This boss teaches the importance of utilizing the element of a particular spell to its full advantage to overcome a powerful enemy.

    ---​

    Thank you for viewing our post! Support and interest for the project has been rapidly growing ever since we began posting here, and we're incredibly grateful for all the wonderful feedback so far! We hope this project interests you as much as we love developing for it, and please look forward to more updates coming in the very near future!

    If you’re brand new, consider checking out our trailer and overall description of the game here.
     
  20. yyanthire

    yyanthire

    Joined:
    Oct 27, 2014
    Posts:
    69



    Welcome to our eighteenth blog post!



    With the advent of our open world system beginning its integration, we thought it would be a good idea to discuss how this system will work, as we’ve previously never gone over such a topic. As always, if you’d like to know more detail of how this was integrated, go ahead and send us a message.

    The core world aspect behind our project, Fragment’s Moonrise, is establishing an open-world setting while still emphasizing our real-time strategy based gameplay. There’s quite a bit of techniques and design philosophies that go into it to ensure playability is still at the forefront. In this short series, we’ll be going over how our Open World system will be integrated, and how it will work programmatically.




    We need to first start with how we’ll be basing our world- we want randomness, so each playthrough is unique and different, as exploration is key.

    Introducing our node-generation algorithm: it works quite simply, and allows us to essentially create a network of nodes that will be the basis for our open world. You can think of each node as a map- strung together via their connections.

    One thing to keep in mind while we discuss this algorithm is that our engine is Unity, and therefore we can utilize quite a bit of the engine’s features in order to further help us acquire this goal. Doing this purely mathematically can get incredibly complicated very quickly, so in order to ease our desired goal, and give us something Unity can understand, we need to base our code around our engine.




    We begin by placing nodes randomly. This serves as a base- we want X amount of nodes to represent the X maps player will be allowed to explore.




    Then, we can begin the connection process. What we want is a clean set of nodes- we definitely do not want the connections to be like a spider-web, meaning we don’t want anything to overlap.

    Thankfully, the engine can help us out quite a bit.

    We begin at our first node in our List, and enact a raycast determining all nearby nodes that we can hit with said raycast. We aren’t worrying about overlaps at this point- we’re just worrying about how many other nodes this particular node sees. We repeat this step for each node spawned. Bear in mind: we’re spawning physical gameobjects of the connections as a black line with a collider attached.

    Then, we begin to eliminate connections. Remember: our goal is a clean series of nodes. Taking both collision and length (distance) into account, we go through and check out which connections overlap (collide) with one another. When we find a collision, we look at the two connections, and pick the longer the two to eliminate. We do this because we only want the closest two nodes to be our connection, so the node system primarily considers its immediate neighbors first. We repeat this until we have no more colliding connections.

    This gives us a fairly clean series of connections, but, there’s still one more critical step: ensuring all are connected.

    Starting at any node (can be random, or can just pick the first one) we traverse across its connection(s) (think of this like Breadth-first search). As we traverse, we mark all discovered nodes, and, when we’re done with the traversal process, we merely check to make sure all nodes were discovered. If they aren’t, we can attempt to see which node(s) have not been discovered, and attempt to force a connection nearby, then run another check to ensure all are discoverable.

    While we could just check our nodes for if they have a connection or not, this could give us ‘islands’ in which some nodes are only connected with each other and not the mainland, and that is something we definitely do not want. We want our premise to be on total discoverability, and ensuring such a thing takes place.




    That’s just the algorithm for one particular set of nodes- this set being referred to as our “environment”. We now need to cross-connect them with other environments, to ensure traversal across the world as a whole.

    Our particular game is currently only utilizing 4 environments (with a few extras we’ll add later on). This makes cross-environment traversal much more simple, as all can be assembled and shaped like a square. Utilizing the same tricks of generating connections as before, we generate cross-environment connections to fully integrate the map system, and ensure connectivity across the world.

    You may notice the barrier between the environments- this ensures all environments are first generated unto themselves, and then when we are ready for cross-generation, we simply drop (ignore the collision of) the barriers.




    Finally, we can do all our other miscellaneous things, like add in our Sub-Environments to serve as unique territories, usually containing stronger enemies and bosses. There will, of course, be the necessary balance integration, to ensure players with weaker armies can get past those areas until their ready. But that will come much later.

    This was just step 1 of our Open World system- in the next blog post, we’ll go over how our map generation works, and how that will be integrated with our node generation matrix. We’ll also discuss time as it persists in the world, and how that can play a key role in ensuring things still function even while not loaded. We hope you look forward to it!

    ---​



    Thank you for viewing our post! Support and interest for the project has been rapidly growing ever since we began posting here, and we're incredibly grateful for all the wonderful feedback so far! We hope this project interests you as much as we love developing for it, and please look forward to more updates coming in the very near future!

    If you’re brand new, consider checking out our trailer and overall description of the game here.
     
  21. warthos3399

    warthos3399

    Joined:
    May 11, 2019
    Posts:
    1,728
    I like the style of the character models, its clear you have put alot of time/work into this project. I know its a WIP and things will change, but with a bit of polish on the character models (they look washed out or faded compared to enemy models), looking good. One thing i noticed that kinda "popped" out at me was the right side of the spell book (spell description), the text is a bit too big.
    Looks like you have your combat systems very well done. Very orig. I really like the spell/buff icons above the heads of the characters, very cool. Best of luck bro, keep rocking on :)
     
    yyanthire and owlhowell like this.
  22. yyanthire

    yyanthire

    Joined:
    Oct 27, 2014
    Posts:
    69
    Hello! Thanks for the kind words- its greatly appreciated! I definitely can agree with what you're saying- updating/improving our sprites is definitely not off the table, especially when it comes to our main race of Units; we feel they could use a bit of an overhaul. And, yes, I'll definitely make sure the spellbook text has its size reduced as it definitely is too large. Fantastic to hear you like the combat system, its what we've poured most of our time into (and are still improving as we develop further). Thank you for the message! Its greatly appreciated! :)
     
  23. yyanthire

    yyanthire

    Joined:
    Oct 27, 2014
    Posts:
    69



    Welcome to our nineteenth blog post!



    We welcome you back to the second part of our Open World system. If you missed the first part and would like to check it out, click here. We’ll be continuing on from there.

    ---






    We must first begin with our Map Generator- we’re using a fairly interesting algorithm that allows for very organic shapes being randomly generated, with some (but not perfect) persistence via a Seed. This algorithm is known as Cellular Automaton (or Automata), and its quite an old, yet intriguing algorithm.

    The core algorithm is simple: randomly generate a series of 1s and 0s (1s representing Walls, 0s representing ground tiles), and over a series of iterations, determine which neighbors are “most like each other” to essentially get a very organic cave-like system. A simple definition means that a tile becomes a wall if it has 5 of its 8 neighbors as walls (well, the majority of its neighbors are walls). By repeating this process a few times (but not a lot of times), we can get a fairly good shape structure created.




    There are some great resources online for a general algorithm for this, like the ones on RogueBasin or TutsPlus, in addition to the dozens of other resources and generators available already.

    But a fantastic Unity-specific one was done by a guy named Sebastian Lague- if you’re interested in coding, especially with regards to Unity, you should definitely check him out. Here’s a link to his series.

    This project, Fragment’s Moonrise, is using a heavily modified version of the central idea behind the Cellular Automata algorithm, to of course fit our needs as it pertains to the project. There’s a series of things we need to ensure and enact in order for the algorithm to actually work and maintain stability.




    The first is absolute connectivity- our maps are guaranteed so that any “island’ is connected back into the mainland, so that all of the world is traversable. This is, of course, checked over to ensure there is no terrain that cannot be reached. We merely look for segments of unconnected land, and merge them into their nearest neighbor.




    The next is assembling the series 2D sprites, and to do this one, we need a little bit of help from Unity to fully complete.

    This is because a 2D map like this, especially one containing a 200x200 array of tiles, needs use of Unity’s Tilemap system in order to function and still achieve 60fps+. The Tilemap system essentially converts our array of tiles (GameObjects) into a single sheet, while still allowing it to be editable (which will be important when we begin adding in the Passageways). This single sheet genuinely converts thousands of GameObjects into pretty much just one, saving lots of memory, and greatly improving performance.

    Link to basic Tilemap.

    Link to a short tutorial.




    The last modification is to pair our generated Map as to work with our Pathfinder. We’re currently using Aron Granberg’s A* Pathfinder as its an incredibly smooth and very fast algorithm. More info here.

    To perform the pairing process, we just need to ensure that all our tiles denoted as a Wall are referenced by the Pathfinder so the Pathfinder understands that terrain cannot be traversed. This means, as part of the tilemapping process, we need to still have the impassable tiles denoted.

    ---



    Those are the core algorithms we are using to assemble and use our Maps. We decided to go with the Cellular Automata algorithm to give us a fairly open, yet dense land, and, more importantly, to give us a system of randomization so that no two maps are the same. This is key, for the game will definitely feature a good amount of replayability. In addition, the straightforwardness of the map generator allows us for easy modification as we see fit. Maybe in the future we’ll develop a much more varied and significantly more seamless open world system (something that can be done without the use of nodes, alongside an altered map generation system), but for now, this seems like the best base for the game.

    Now, let’s see how we’ll be tying our Map Generation in with our Node Generator to complete our Open World.

    Given that we have full access unto our map generator and tile system, as part of the generation process, we now begin to spawn objects we’ll be calling Passageways.




    Passageways have some unique characteristics about their generation- first and foremost, when looking at our Node Generator, you’ll notice that no Node is aligned to a grid: their all free-floating. This is critical to represent in the game world, as the Node Generator and the real Maps player will be exploring need to be in sync.

    So, the first thing we must do is examine two connected Nodes, and determine the angle between them.




    Using basic trigonometry, we can figure out the angle, in degrees, and utilize that degrees to determine our spawning location for the Passageway (its a simple "determine the angle between two points" sort of algorithm). We want to place the Passageway in the appropriate spot in the world so that it represents what the player will be seeing in the Node Generator.




    By treating our Map as a Circle, we can utilize the angle adequately in order to spawn our Passageways. By simply treating the angle as a ‘vector’, and traveling along its path to the edge of the Map (noting that the ‘center of the circle’ is the center of the Map), we have now found our spawning location (and, upon placing it, we can carve out the part of the Map back to the first walkable tile)

    Now, with our Passageways spawned, we can correctly hook them up. The logic is straightforward- when player gets near the Passageway, they are allowed to activate it, and upon doing so, they are brought to the next Map.

    Now, why didn’t we just take the significantly easier approach and align everything to a grid? The answer is just that- then we’d have to align everything to a grid. This approach gives us a significantly more organic system that’s much more fluid for exploration. Its much more expansive, and lends itself to additional uncertainty and unknowingness from the player as they explore the world. Implementing a grid system and our node system would have likely taken equivalent amounts of time to complete, and our node system gives us a much, much better result both aesthetically and functionally.

    This Passageway system allows for a nearly-seamless interpretation of an Open World while still retaining the core aspects of a Real-Time Strategy. The system is based around a series of Maps, but instead of loading them seamlessly (based on player position), we load them upon Player’s request. This gets us around the issue given that the player can have a multitude of Units, each going a different direction, and ensures stability with a solid framerate. There are some ideas we may play around with to get our system even more seamless, but as it currently stands, this is the best solution that still allows great performance.

    ---



    Lastly, something we want to touch on briefly is our aspect of Time. Time is critical, as our Maps are loaded in a single state, and unloaded when not used. We need to ensure things still ‘function’ as they would in an Open World (notably, with Player’s Home Base) without the need for having things loaded at a given instance.

    We can do this simply by timestamping things at specific moments, and retaining that across both Maps and also sessions (in which Player stops playing, shuts the game down, then restarts it at a later point).

    In the next part, we’ll go over how this will be explicitly used in regards to Player’s Home Base (the area we want Time to be persistent in), alongside go over some of our convenience features, like world traversal and teleportation across the maps.

    ---



    Thank you for viewing our post! Support and interest for the project has been rapidly growing ever since we began posting here, and we're incredibly grateful for all the wonderful feedback so far! We hope this project interests you as much as we love developing for it, and please look forward to more updates coming in the very near future!

    If you’re brand new, consider checking out our trailer and overall description of the game here.
     
  24. yyanthire

    yyanthire

    Joined:
    Oct 27, 2014
    Posts:
    69



    Welcome to our twentieth blog post!



    Before we begin, we first would like to say thank you- the support and feedback has been fantastic as we’ve been doing these posts. We’ve been going strong for 20 weeks in a row now, and we hope to continue on forward.

    In this post, we conclude the chapter about our Open World system, so if you missed Part 1 or even Part 2, feel free to click the respective links and check those out. We’ll be continuing on from there.

    In this one, we want to talk about one key aspect about the “Real Time Strategy” genre, and that is one’s Home Base.

    For, in any RTS, especially this one, assembling your Structures for advancing your race is pivotal for expansion. In this particular game, your Home Base serves as your pivotal point from which you discover and explore the world from. It emphasizes all our various RPG-related elements for advancing your army further. And it, at a fundamental level, serves as a base point for building your army as it stands. We did some blog posts about how our current Structures will function, so you can check those out here with the Structure Overview, and also here with our Research, pt 2 post.

    As such, there’s some important topics we must discuss in regards to the persistence of Time as it relates to the Home Base.




    To start off, Player’s Home Base is separated from the world as a whole. This is done deliberately. Its set as its own “Node” in our node system for some important reasons we’ll go over shortly.

    The first reason is in regards to the computer and processor’s resources. One early design we wanted to do was to have both the “Active Map” and player’s Home Base map be loaded together, so while player is out exploring, they can quickly swap back to their Home Base, do whatever needs to be done there, then get back to the fight. This design is not only resource intensive (especially as Player creates more Structures in their Home Base), but also largely unnecessary. Smoothing out the parts between exploring the world and interacting with one’s home base can actually be done in a much smoother and better fashion, more befitting gameplay, and easier on the CPU. We’ll discuss what design we’ve decided to go with a bit further down in the blog.

    The second reason is it allows Player to have a safe-haven, and to establish one solid base point to conduct their exploration from. If we didn’t dedicate one explicit Map to just Player’s Home Base needs, then Player would have to build it into the Maps themselves, which, on the surface could be quite intriguing seeing as how you can build and establish anywhere, ends up being a disinteresting design. Placing structures anywhere would mean you’d have to travel there just to use them. Which means that Player would most likely end up just picking one spot for their major structures anyway. So why not give them a dedicated Map?




    The result is that we went with a combination of the two: your major structures can only be built within your Home Base. However, there are miscellaneous structures that can be built anywhere. The catch is is that if you ever leave this Map, those misc structures will be destroyed by the environment. Meaning your only persistent base is your Home one. The remaining pseudo-bases are merely there to establish a small place to rest before going on to more exploration.

    ---



    The next area we need to talk about is travel. Exploration is key, but establishing a connection across the world is pivotal for easier and smoother navigation.




    The first is the Waypoint- a simple Structure construct-able by the Player anywhere in the world. This allows for Player to create teleportation points anywhere they desire- destroying them and moving them elsewhere as necessary. The only drawback is the amount that can be spawned- they are in limited quantity, so choose carefully where they will be placed. They can always be destroyed and placed elsewhere, so keep that in mind at all times.

    Waypoints allow for transportation between each other- simply put, Player’s army will be teleported to that exact spot in the world the Waypoint was placed.




    In addition, there is a static Home Waypoint placed within Player’s Home Base. This allows for a dedicated Waypoint to be used to transport across all other Waypoints.

    This coupled with Player’s inherent Ability called Homeport, and Player has easy access across the world as they need.

    The Homeport is what we briefly mentioned above in regards to the Active Map/Home Base Map. The Homeport is very straightforward- Player is allowed to cast this spell at any point to immediately return to their Home Base. After doing so, Player now has a new, temporary “waypoint” added they can traverse to. However, this is temporary because when Player returns to their Home Base, do what they need to do, then look to go back into the world, if they don’t use the Homeport and decide to go somewhere else, the Homeport is redacted. Meaning Player must Homeport back Home, then Homeport back to the world in order to return to that specific spot; they can’t Homeport back Home, go somewhere else, then expect the Homeport to still be there when they get back- its a single use spell. This allows for Player to have an easy method of getting back to their Home Base and returning back into the world, without it being too abusable.

    This concludes our Open World System. Progress on it is going great, but there’s still a ways away before all features are implemented, tested, and ready.

    ---



    Thank you for viewing our post! Support and interest for the project has been rapidly growing ever since we began posting here, and we're incredibly grateful for all the wonderful feedback so far! We hope this project interests you as much as we love developing for it, and please look forward to more updates coming in the very near future!

    If you’re brand new, consider checking out our trailer and overall description of the game here.
     
  25. yyanthire

    yyanthire

    Joined:
    Oct 27, 2014
    Posts:
    69



    Welcome to our twenty-first blog post!



    We’ve been working on some new boss mechanics and features, one of which includes a boss who can spellcast at great distances.




    This gets a bit tricky given how our Fog of War system functions- since we have such huge Maps, we need a method of handling lots and lots of Units. In Fragment’s Moonrise, our Unit AI and all our various features necessary for the Unit to function are quite complicated. There are tons of lines of code that need to run per each Unit to handle all the various features on each Unit, and these need to run each frame.

    As such, as part of our Fog of War system, Units that are in Fog are not only hidden, but fully disabled. This is important because we definitely do not want to run so many Units at once, we only want to run them when Player engages with them. This is coupled with the fact that there are features we still want to run on Units while their disabled, like HP Regeneration, so we utilize Time to ensure that as they are disabled, when they are re-enabled, those features run for the X amount of Time they were disabled for. This gives them the ‘sense’ that they were never truly disabled, without having to utilize the CPU.




    Given that Units are only enabled if they are out of Fog, we need a way around this. Fortunately, the fix is incredibly simple: on desired Units (the Lesser Dragon of Lightning) have them completely ignore the fog. This means they are always enabled, which might sound bad on the CPU, but given that its only very specific and rare Units, its quite fine.

    Now, we can take advantage of all the various features we want, like an elongated sight and attack radius to make it so this Dragon can strike from very far distances.




    Onto the fight, Player must wade through a sea of enemies before they’ll be able to get to the boss. This means dodging is critical to surviving here, and bypassing some enemies just to get closer to the Dragon itself may be a good idea, even if you do procure a lot of damage in the process.




    Given this new addition, the best thing to do with it is add it around to other various minibosses. Introducing the Kolhunter Toad, another long-range attacker, but this time, every strike it lands pulls the hit Unit towards it. There’s a lot of room for creativity in just this single variable, so we’re looking forward to designing even more interesting bosses, minibosses, and even creatures based around this concept.




    ---​



    Thank you for viewing our post! Support and interest for the project has been rapidly growing ever since we began posting here, and we're incredibly grateful for all the wonderful feedback so far! We hope this project interests you as much as we love developing for it, and please look forward to more updates coming in the very near future!

    If you’re brand new, consider checking out our trailer and overall description of the game here.
     
    warthos3399 likes this.
  26. yyanthire

    yyanthire

    Joined:
    Oct 27, 2014
    Posts:
    69

    Welcome to our twenty-second blog post!



    In this post, we’ll go over our final Lesser Dragon. If you missed the posts about the Lesser Dragon of Flame or Lesser Dragon of Lightning, feel free to check those out via clicking their respective links.

    As the development of this project progressed, the difficulty, and desire to make more complicated, interesting bosses has increased. As a result, the Lesser Dragon of Frost proves to be the most powerful of the Lesser Dragon trio, alongside the hardest challenge thus far. While the fight itself is over in almost a minute, its a minute of incredible focus, where each second ticking by feels like an eon lapsing.

    This is due to the array of spells the Lesser Dragon of Frost has in its arsenal, and the importance of steering clear of them.




    Ice Blast is its core, damage-dealing spell. It strikes in an area, emphasizing the Player should have their Units spread apart at all times.

    In addition to dealing damage, it also invokes Mana Drain. Dealing damage is desired, but disabling a Unit from even being able to cast spells will force the Player to retreat or die helplessly.




    Lunar Freeze is the Dragon’s core crowd-control. It deals absolutely no damage, however, it stops all hit Units from being able to move and attack for a few moments. In this amount of time, it can easily strike with its Ice Blast.

    Lunar Freeze strikes in an area, is quick to cast, and has a short cooldown. Given the rate at which Ice Blast can be cast and the speed at which it can kill a Unit, steering clear of Lunar Freeze is a must before one’s army can do nothing but be helpless against their decimation.




    Rain of Frost is its most intriguing spell- and the one that is the most important to dodge.

    Its a healing spell at its core, but also a summoning spell.

    It works quite simply- it casts it upon itself to heal itself.

    However, it strikes in an area, healing everything nearby.

    In doing so, given the game’s code, it invokes the spell’s summon. For every Unit healed by the spell, a Frost Arkoyle is also spawned at the Unit’s location.

    What this results in is shown above- dozens of Frost Arkoyles appear out of thin air, ready to defend their master.




    With that in mind, dodging this spell now becomes incredibly important. Moving just out of range allows it to properly cast Rain of Frost while simultaneously having none of its effects take place. This does mean that the Dragon heals itself, doesn’t heal us, and summons a single Frost Arkoyle, but that is negligible. The amount of foes that would have been summoned is far more difficult to deal with.

    Lastly, its final spell to worry about is not a spell but an aura- the Aura of the Bitter Cold. It slows all our Warriors near, and begins to damage them over time. This means that low-health Units need to be healed quickly before they are slain via the Aura.

    ---



    Thank you for viewing our post! Support and interest for the project has been rapidly growing ever since we began posting here, and we're incredibly grateful for all the wonderful feedback so far! We hope this project interests you as much as we love developing for it, and please look forward to more updates coming in the very near future!

    If you’re brand new, consider checking out our trailer and overall description of the game here.
     
  27. yyanthire

    yyanthire

    Joined:
    Oct 27, 2014
    Posts:
    69

    Welcome to our twenty-third blog post!



    In our last post, we went over our Lesser Dragon of Frost, and with that done, we’ve completed our Lesser Dragons.

    The Lesser Dragons are intended as miniboss fights, preliminary to their greater forms.

    As a final test, we think conjoining our 3 Lesser Dragons, which we’ll be referring to as the Souls of the Lesser Dragons, would suffice for showing the Player how we wish to advance this game’s boss fights, alongside giving an even more interesting and difficult challenge.

    While we don’t know at this time exactly where the Souls of the Lesser Dragons fight will go, we imagine either before the greater Dragons, or before the Dragon’s Master, the Hydra. That’s their currently determined place in regards to ‘difficulty’ (Hydra being the highest level of difficulty for the game’s Beta stage).

    This is the fight that has come as a result. This is the Souls of the Lesser Dragons boss fight.

    ---






    First, we need to discuss some balance adjustments. Because they are definitely needed. Given that the Player has yet to acquire the resources necessary for advancing their Units into their final tier, they are stuck with Apprentices, a Tier 3 Unit. Apprentices are designed to have minimal spells to cast in order to give Player full opportunity to micro their Units, and are balanced around such a philosophy. This fight is almost no different, except it will demand a few extra spellcasts from player, given that it is intending to be a transitional boss.




    For balance, we first started by halving the health of all the Dragons, alongside halving their resistances. This is very important because mana is limited among Apprentices, alongside damage output. In the single fights, one’s mana pool can be fully expunged into the target. But here, it must be split among the three.

    On top of that, health regeneration on the Dragons have been severely limited. While some health regeneration is okay, we predominantly want to emphasize the role of the healer, especially in multi-boss fights such as this. As a result, the Souls of the Lesser Dragons of Lightning and Frost have had their health regeneration substantially cut, and the Soul of the Lesser Dragon of Flame has had its health regeneration redacted. Why? Well, we’ll need to go dragon by dragon.




    The Soul of the Lesser Dragon of Lightning is now incredibly frail and weak given its halved HP. However, its health regeneration is still too powerful, even in this current state. Dodging the spells of the other two Dragons is complicated enough, and having to do that while simultaneously bursting down the SotL Lightning Dragon can sometimes be outright unfair. Therefore, it deserves some health regeneration, to keep you on your toes, but not a lot, so its still reasonably defeat-able.

    The Soul of the Lesser Dragon of Flame is a different story. It references back to what we said previously- the role of the healer. All damage done to the SotL Flame Dragon, given its nonexistent health regeneration, can be considered ‘permanent’ for the duration of the fight. That is, of course, if the healer doesn’t step in.




    That’s where the Soul of the Lesser Dragon of Frost comes into play. In the previous blog post, you may have recalled the SotL Frost Dragon’s “Rain of Frost” spell. This heals itself, anything nearby, AND summons Frost Arkoyles for everything touched by the healing. In the original fight against the Lesser Dragon of Frost, the mechanic was oriented around dodging its healing spell to avoid it summoning too many Frost Arkoyles. Well, in this version, that mechanic has been postponed. Because the real part we care about is its ability to heal those nearby for quite a bit of health. And this mechanic is ONLY triggered if and only if the SotL Frost Dragon is damaged. Meaning, if said Dragon is hurt, it will attempt to cast its healing spell (the spell has a 60 second cooldown, which is very short given the complexity of this fight and how long it can go on, and works out to about 2.5 hp regen/s). Which in turn means that if you refrain from attacking the SotL Frost Dragon, you can keep it from healing both itself AND the Soul of the Lesser Dragon of Flame (+SotL Lightning Dragon, if its still alive), making it so ‘permanently’ damaging the SotL Flame Dragon is tied directly to damaging the SotL Frost Dragon. This, in turn, means that there is the role of a ‘dedicated’ healer into this fight alongside emphasizing that Player should enact a clever use of mechanics in order to reduce the difficulty of the fight. If Player recalls how the original Lesser Dragon of Frost’s heal works, they’ll know its something that should definitely be avoided in this fight, and that attacking either the SotL Flame or Frost Dragon solely is the better decision, but not both simultaneously.

    Finally, the Soul of the Lesser Dragon of Frost has minor health regeneration. Given that its the best candidate to slay last for both reasons mentioned above alongside reasons we’ll mention below, it needs some but not a lot of regeneration- its core health regen is in its healing spell itself. The mechanic for dodging its healing spell returns, so the final goal is to manage your mana pool correctly enough to still be able to kill it without it absorbing all the damage. All of these Dragons are lethal, and will kill you if you aren’t careful. But you must also ensure proper technique is in order to slay them as well.

    A final augmentation is to the Soul of the Lesser Dragon of Flame. Its non-Soul version contains an Aura, the Aura of Gust, which invokes powerful winds to push all your warriors back. During this state, your warriors are thrown back and also unable to attack; this made the fight fairly unforgiving, since most of the time your warriors could not even get a spell off. Given the abhorrent amount of stuns already listed between the SotL Flame and Frost Dragons, a third one (that you cannot dodge) is just outright imbalanced (especially since your Apprentices have no current way of dealing with this Aura).

    To make the fight feasible, we also had to change some things around in regards to enemy mechanics. Normal enemies are fully deactivated by the Fog, as discussed in the Lesser Dragon of Lightning blog post. So we utilized the code to keep the Unit from being disabled in order to make this fight function. We also boosted the Sight of the Dragons, to always keep them aggro’d accordingly.

    That ends the list of balance adjustments

    ---



    Now, we can get into the fight itself.

    The fight is almost broken into 3 stages, respective of the 3 Dragons.




    The initial stage begins with the elimination of the primary threat: the Soul of the Lesser Dragon of Lightning. The SotL Lightning Dragon is the first Dragon we must slay due to the fact that its spells cannot be easily dodged. Whereas the other two Dragons have attacks you can avoid, the speed and area effect of the Dragon’s Lightning is almost unavoidable. Therefore, the best strategy you can enact is to burst down the Dragon before it has the opportunity to deal too much damage to you.




    Next, we have the SotL Dragons of Flame and Frost. As we discussed previously, your best strategy is to defeat the Flame first. Its attacks are the most devastating, its stun has the widest area, but it lacks any form of healing itself. Taking advantage of the fact that the SotL Frost Dragon cannot use its healing spell without first being injured, we can defeat the SotL Flame Dragon without worry of regeneration, and this can be done at a slow enough pace in which we can successfully dodge the majority of incoming spells. For, if there is no health regeneration taking place, we can take our time and pick our shots carefully to avoid as much damage as possible, alongside stalling for a bit of extra mana regeneration before the last phase of the fight ensues. Its of critical importance that we carefully aim all our shots accordingly, as to minimize mana waste.

    Finally, the SotL Frost Dragon. Since its by itself, we can fight it like an easier version of the original beast. And, given that its resistances have been greatly reduced, we can burst it down with powerful mysticism.

    Two key spells are utilized throughout this fight-





    The first is Fear, a spell which forces the hit target to flee for a few moments. This is important for zoning, because while dealing with the initial threat, we want to try to avoid confrontation from the others. Its of critical importance to not lose your Apprentice of Sound, for zoning via Fear is one of the few tools you have to protect yourself from the onslaught of the collective Dragons.

    The second is Mystic Energy- our main damage dealer. These Dragons are very, very powerful, and can kill us almost instantly. A quick stun from the Frost or Flame can be followed up with all 3 Dragon’s powerful attacks combined, an attack none of our warriors can survive from. Bursting them down with Mystic Energy is the key to slaying them quickly, before too many attacks can come at once. Especially since Fear only lasts but a few moments before the Dragon is back in the fight. Given their halved resistances, they no longer have the high Mystic Resistance as their originals did. Therefore, Mystic Energy is the best tool for this particular fight.

    ---



    Now, we have yet to address the video. As, if you watched the whole thing through, you’d realize we didn’t quite defeat the boss. Not yet. After hours of attempts, the video shows our progress towards actually defeating the boss, and being able to label it completable. As of right now, we have yet to fully prove that. When we first started fighting this boss, we thought it was impossible to even slay the SotL Lightning Dragon, and that the boss as a whole was in need of some great adjustments. Now, we have a full understanding of how the complexities of this fight progress, and know its possible, even though we have yet to actually pull off a successful fight. We hope in the next blog post we can delve deeper into the progress and technical skill we needed to employ just to slay this brutal boss. And we hope you look forward to it.

    ---



    Thank you for viewing our post! Support and interest for the project has been rapidly growing ever since we began posting here, and we're incredibly grateful for all the wonderful feedback so far! We hope this project interests you as much as we love developing for it, and please look forward to more updates coming in the very near future!

    If you’re brand new, consider checking out our trailer and overall description of the game here.
     
  28. yyanthire

    yyanthire

    Joined:
    Oct 27, 2014
    Posts:
    69

    Welcome to our twenty-fourth blog post!



    In the last blog post, we went over our latest boss fight, the Souls of the Lesser Dragons. This fight has proven to be a significantly more difficult challenge than prior- totaling multiple hours of attempts, this boss has greatly heightened our sense of understanding when it comes to the mechanics of this game.

    You may have noticed in the previous blog’s video- we didn’t actually slay the boss. Yes, the boss proved too much a challenge, even for us. However, we know the fight is plausible. You can slay these bosses with the tools given to you. And the video above proves it.

    The intricacies of this fight are quite spectacular, and harp back to one of our core design principles: the difficulty of a fight such as this should stay consistent throughout the fight.

    In this project, our goal is to have more bosses similar to this. That is, instead of fighting just one lone beast (which can be a good boss design, but not our core boss design), we want the player to essentially be clashing their army against the enemy’s. One critical element to that is, that, as the opponent’s army begins to fade away… does the challenge snowball in the Player’s favor? Or must the Player continue to fight and fight and fight all the way through? Our desire is the latter- you must be prepared for a challenge, a challenge that lasts until the last foe falls. Preferably, increasing with difficulty.

    In this particular fight, we’ve truly proven to at least ourselves that this is the case. Each stage of the fight is equally as intricate and dynamic as the last, an equivalent challenge all around.

    So let’s go into each phase, and what makes them so special.




    The Soul of the Lesser Dragon of Lightning is simple, but the timing is fairly precise. What you’re after is to Fear away the other two dragons at the same time so that you can quickly burst down the SotL Lightning Dragon. Timing is key- you cannot deal with more than just the SotL Lightning Dragon at a given moment, and you only have a short window, but with Mystic Energy, you’ll have enough time to kill it before the Fear status ailments end, and the SotL Flame and Frost are back upon you.

    The SotL Lightning Dragon’s health regeneration means you’ll need to not delay too long, else it will return to full HP. So you can’t have your focus averted- you’ll need all your warriors locked onto the SotL Lightning Dragon, not on dodging the spells of the other two assailants.

    Initially, the most devastating dragon is the SotL Lightning Dragon. This is primarily due to the fact that it invokes repeating damage, given how fast its spell can be cast, and the fact that it essentially can’t be dodged. It will quickly cut the health of our warriors, so that is why we must defeat it first.




    There are two spells crucial to this next part of the fight. The Soul of the Lesser Dragon of Flame has some timings that are fairly critical to hit, else it just becomes a boss that kills off all your warriors without you even able to do a thing.

    The first revolves around our core spell, Fear. Fearing the SotL Frost Dragon is inherently the best move- we don’t want to deal with its frost freezing us in place; the stun of the SotL Flame Dragon is bad enough already. With a quick Fear, the SotL Frost Dragon is out of the fight, and we can focus on step 2.

    In this next part, we need to ensure our Apprentice of Nature is primed. While keeping the SotL Flame Dragon from moving around too much, we need the Apprentice of Nature to invoke its primary status ailment: Spell Deprivation. This fully prevents the target from casting any spells for a short moment. Which is key for the fight: the SotL Flame Dragon has some devastating spells, but it is worthless while unable to attack. Controlling the SotL Flame Dragon from moving around too much is very important- we need to minimize our movement so that when the Apprentice of Nature’s spell is cast, it actually hits the target and invokes the ailment.

    Now, with all steps in place, we can begin our engagement. In this, we repeatedly cast our Mystic Energy upon the Dragon. When the Fear and Spell Deprivation wear off, we retreat, and when they are ready again, we re-cast, and repeat. Timing is critical here. Given that the SotL Flame Dragon has no health regeneration, and the fact that its only way of regenerating health is if we accidentally hit the SotL Frost Dragon, we must carefully take our time here and pick the best shots. In this stage, bursting the Dragon down like we did the SotL Lightning Dragon will have negative effects- this being that our mana is very, very important right now. We do not want to be missing our shots, so timing our spellcasts so that they hit the Dragon while its not moving is of critical importance. Else, we’ll run out of mana mid-fight with the SotL Frost Dragon and end up dying as a result.




    With the other two Dragons defeated, we have but one task remaining. But this will be no easy task. While you may think that, since the other Dragons are dead, that the fight is ours for the taking. But that is not the case- the SotL Frost Dragon will not go down without a fight.

    The primary concern with the SotL Frost Dragon is in regards to its health regeneration- its base regen is already excellent, but its healing spell is truly terrifying. We’ll need to be quick, to be able to strike it before it can cast it again. We only have less than a minute to pull this off.




    With this fight, we can re-use strategies of prior. That is mainly revolving around spreading out our warriors so that the damage spread is minimized, and keeping our spellcasts up. The SotL Frost Dragon likes to move around, way more than the SotL Flame Dragon due to the fact that the Frost’s spells are closer range (and thus it must move to get within range to cast its spell). So surrounding is the best strategy- our spells are not quick enough to catch up to the speed of the Frost. But if we surround it, it will not move nearly as much (since it will already be in range).

    We quite enjoyed this boss fight, and the numerous amount of attempts required just to defeat it. Its a fairly hard boss, but it taught us quite a bit about the game’s mechanics, and we hope to develop more, similar, harder bosses in the future! Hopefully bringing out even more of the “army versus army” feel that we currently have going on this one.

    ---



    Thank you for viewing our post! Support and interest for the project has been rapidly growing ever since we began posting here, and we're incredibly grateful for all the wonderful feedback so far! We hope this project interests you as much as we love developing for it, and please look forward to more updates coming in the very near future!

    If you’re brand new, consider checking out our trailer and overall description of the game here.
     
  29. yyanthire

    yyanthire

    Joined:
    Oct 27, 2014
    Posts:
    69



    Welcome to our twenty-fifth blog post!



    In the earlier stages of development, we predominantly just utilized some open assets to handle our “dev-art”. But as of very recently, we’ve finally been able to get the last bit of it in replacement for much more official artwork.

    This is in regards to both our Icons, and our Spellbook. So, without much further ado, let’s just jump right into some new images. We hope you enjoy!

    If you’re brand new, consider checking out our trailer and overall description of the game here.

































     
  30. yyanthire

    yyanthire

    Joined:
    Oct 27, 2014
    Posts:
    69

    Welcome to our twenty-sixth blog post!​



    In this post, we’ll be discussing the Drake, a creature skilled in ambushing, whom requires one to focus greatly, in order to be adequately prepared for when it does strike.




    Hunting it is large part of the battle- it does not always simply charge, attack, escape. Its much more crafty. It waits for the moment to strike. Which can come at any time- during a fight, or simply standing at the ready.

    The mechanics based around this fight is that we desired a boss which would strike somewhat randomly, while one is exploring the land. It can either be relentless, attacking repeatedly and predictably, or escape for a while, not to strike again until it has been discovered. Discovery is not predictable- its long vision ensures it will come at random times, at a random angle. Sometimes, it can’t even be found at all, and you’ll have to search for it. As we begin to expand our Research system, we imagine this boss will be more on the optional side, yielding good rewards should you choose to chase after it.




    The Drake’s movement is quick and forceful, aiding its ability to escape. While out of view, it becomes invisible, and hard to detect easily.

    As such, utilizing the land around, and your array of warriors to surround this creature is the best and most fundamental strategy for defeating it. It relies on continuing its momentum to break through a wall of units, but a strong surround can end that.




    An even greater method of keeping it at bay is to freeze it in place. The Apprentices of Water plays a key role here: its Water Bolt spell roots a hit foe to their location for a few moments, stopping it completely. This can play a great role in surrounding, and keeping it from escaping.




    The Drake’s main method of escape is its teleport- a long cooldown spell, but with great range. This allows it to rapidly escape from any unfavorable engagement, to return again later for a more favorable one. It can even outright vanish with this, to somewhere far away outside of its normal aggro radius, forcing player to hunt it further.

    ---




    Thank you for viewing our post! Support and interest for the project has been rapidly growing ever since we began posting here, and we're incredibly grateful for all the wonderful feedback so far! We hope this project interests you as much as we love developing for it, and please look forward to more updates coming in the very near future!

    If you’re brand new, consider checking out our trailer and overall description of the game here.
     
  31. yyanthire

    yyanthire

    Joined:
    Oct 27, 2014
    Posts:
    69




    Welcome to our twenty-seventh blog post!​



    In this one, we wanted to begin to delve into a specific topic of combat, which are enemy armies.

    Combat overall in this game can get fairly overwhelming, and difficult to keep track of. But not impossible. One of the ways we wish to emphasize that plausibility revolves around basic combat.




    We can begin to push what is possible and what isn’t be simply placing more and more foes to be fought. This game is highly based around its combat, after all, so putting that at the forefront is our core design choice.




    It becomes something that isn’t so simple- its not a boss fight, nor is it statically generated. It is completely random. You’re forced to fluidly follow the world and react to things as they come at you. Which we believe pushes the challenge and design more. As we get even further along, we imagine you’ll be tasked with facing a great many of foes. And, given your training at the earlier stages, you should be amply equipped in dealing with it.




    It all comes back to our core design we wish for the game- your army clashing against an opponent’s army. Results can go a variety of ways- you can have your entire force wiped out from under you, or perhaps you escape with only a few injures. Or only a single warrior dies. Or you escape completely unscathed, and able to press onward. Maybe a difficult foe blocks your way, so you look for an alternative route. These are things you’ll need to deal with as you improve your control and understanding of the warriors you command. Your soldiers will take damage, consume mana, be positioned incorrectly, die, so on and so forth, and as you fight against these multitudes of foes, you’ll begin to see the importance of dividing your focus so all warriors get the attention they need, evenly. Equally as importantly, you’ll learn to fight with the various disadvantages outlined above, and hone your skills further.

    Lastly, these designs are not completely unfair. Your progress is retained as you traverse. So, even while you may be faced with a very difficult task, just know the reward is said progress that you will not be forced to repeat.




    ---​



    Thank you for viewing our post! Support and interest for the project has been rapidly growing ever since we began posting here, and we're incredibly grateful for all the wonderful feedback so far! We hope this project interests you as much as we love developing for it, and please look forward to more updates coming in the very near future!

    If you’re brand new, consider checking out our trailer and overall description of the game here.
     
  32. yyanthire

    yyanthire

    Joined:
    Oct 27, 2014
    Posts:
    69

    Welcome to our twenty-eighth blog post!​



    Creativity is a critical component for pushing balanced gameplay- players should be free to express their imagination with regards to how the game is played, and, in doing so, this relieves the strictness of the game and allows for ‘looser tolerances’.




    With these in place, one can more fluidly tackle foes and succeed via wit over adherence to rules. A style that allows one to win not based on how well they follow the game’s laws but instead how much of the rules they can bend in order to achieve the desired result of victory.

    In the world of games, rules are not arbitrary pieces; they are hard facts that must always be adhered to. One cannot simply set a foe’s health to 0 should they wish to. They must actually play the game by the rules and defeat the foe in the way the game has been coded- glitches and all.




    This brings us to the topic of this blog- Alternative Strategies. Us, as developers, design core strategies that a particular boss, or foe in general, ‘should’ be fought. Enemies are designed with a particular strategy in mind, executed by the various data necessary in order to bring that idea to life. But, as the foe is coded into the world, the rest of the world now gains the opportunity to take hold. As this is not the only being in the game’s world that has been coded. There are many, many others.

    Introducing the alternative strategy- our current lineup of just what the player can do themselves is based around our 9 different classes of Units, each with a different core idea behind them. And we plan on expanding that as these classes evolve further.

    That is coupled with the design behind a particular foe- each foe has a different distinction behind them. This could be higher resistance to Air, but less to Water. This could be high damaging spells, or large AOE spells, or greatly debuffing spells, and so forth. Depending on which warrior goes up against this enemy, the strategies change.




    In order to achieve ‘completeness’, and allow for this game to actually be complete-able, we have a central developer strategy. This in no way is the most optimal, nor the most difficult. And that is how the game’s central balance takes place.

    Then comes the alternative strategies- these are developed over the time of understanding the game’s mechanics, Player-Unit mechanics, and Enemy mechanics. There is almost an infinite array of alternative strategies for any given enemy. One method could be to advance all your warriors to a higher level and defeat the foe easily. Another could be to brute-force your way through a fight, repeating over and over until its finally done. Another could be to study the foe’s spells and resistances, and build an army around that (which is one of the ways our developer strategies are created). And another could be to utilize the environment around in some way to aid.

    The most interesting part of these strategies is that, even though they can be considered similar, execution from a player, even utilizing identical core strategies, can be wildly different. One particular boss can be slain utilizing good movement and dodging to avoid all damage, but another method could be to take that same army and replace the healers with damage dealers and charge straight in. In the same stroke, one could instead clump one’s army, focus on healing weakened warriors, and repeatedly cast powerful spells over and over again.

    In the example of this blog, one of our bosses, the Immense Stone Kauw, can be fought in at minimum two ways, as demonstrated in the video above.




    The first is the developer strategy: utilize good movement to kite it while casting Fear upon it to get it away from your army while you wail upon it with Mystic Energy.

    The second is the alternative: surround it with Foliage so that it cannot move, and burst it down with any powerful spell until its slain. Both strategies outlined slay the boss. Therefore, they are both excellent strategies. And perhaps there are many, many more out there that are just waiting to be discovered.

    ---​



    Thank you for viewing our post! Support and interest for the project has been rapidly growing ever since we began posting here, and we're incredibly grateful for all the wonderful feedback so far! We hope this project interests you as much as we love developing for it, and please look forward to more updates coming in the very near future!

    If you’re brand new, consider checking out our trailer and overall description of the game here.
     
  33. yyanthire

    yyanthire

    Joined:
    Oct 27, 2014
    Posts:
    69


    Welcome to our twenty-ninth blog post!​

    In this one we simply wanted to showcase a lot more sound effects. In our original SFX post, we didn’t quite show off as many as we’d have liked- so this blog post is dedicated to simply that.








    ---



    Thank you for viewing our post! Support and interest for the project has been rapidly growing ever since we began posting here, and we're incredibly grateful for all the wonderful feedback so far! We hope this project interests you as much as we love developing for it, and please look forward to more updates coming in the very near future!

    If you’re brand new, consider checking out our trailer and overall description of the game here.
     
  34. yyanthire

    yyanthire

    Joined:
    Oct 27, 2014
    Posts:
    69




    Welcome to our thirtieth blog post!



    Where our normal blog posts have typically featured bosses and other various gameplay aspects, we think taking a step into our development process, particularly things that have been changing recently, would be a good idea.

    As such, here are some of the things we’ve changed and what we’ll likely be working towards next.

    ---



    First comes alterations done to our open world system- particularly as it relates to how our World Map generates.





    Originally, our node system was generated as described in one of our previous blogs. More info about that here.

    Now, we’ve gone ahead and fully reworked that original design. While the prior design definitely does work and get the job done, this new methodology will work significantly faster and add additional scalability (all that is left is we need to fix some of those very obvious rendering bugs!).





    The new code is based a lot more around math, specifically matrix multiplication. The end result always allows for a series of X nodes to be generated while still retaining ‘freedom’ from looking too much like a “spider web” (ie, crossing lines, as shown above). We’re now able to generate spawns more math dependent rather than Unity dependent, freeing us up from some of the raycast calls.

    ---



    Next, we’d like to talk about a few misc things, namely some Options Menu reworks and current things we’re developing towards.





    A few key things to note: our long-awaited resolution and fullscreen adjustments are finally in. They did not come without a few bugs, however. Which prompts a good programming lesson: while working with any sort of changing variable, be sure to always reference that true variable, don’t reference a copy of it. One of the bugs we had was that very, very old code would reference the screen resolution at the start of the game. What this means is that if the game was started in 1920x1080 but then changed to 1280x720, the game would still think we were in 1080 while we were actually in 720. This in turn messed up a very basic part of the game which is scrolling the camera (on instance in which you change your resolution). The fix is very easy- reference the Application’s screen resolution on each call. Simple things like that, had they been done all that time ago, would have saved us the time cost now both in discovery of the bug and resolution of it.

    Next key aspect is the FPS Cap: this is fairly important overall when it comes to weaker computers. Fragment’s Moonrise is a fairly resource-intensive game. There will be multiple Units on the screen at any given time, each firing off their very complex AI each frame. While we can get the game to run at a solid 60 FPS on modern computers, older computers will still chug. Testing the game on one of our laptops, we’d only get 40-50 FPS. While we will of course be optimizing as much of the code as we can at a later date, its still good to allow the Player to drop their FPS down to 30 as they desire. With capping FPS to 30, our weaker computer runs the game great. Our primary goal is to get this game to run on as many computers as possible; medium tier computers will run this without any problems. But we want the vast majority of computers in use by people today to at least achieve a solid 30 FPS and still be able to play and enjoy the game.





    Now, onto our next steps. RTS games in general feature a lot of buttons, and our game is no different. There are quite literally dozens of buttons to be used, and while our current hotkey scheme should suffice for the general population of right-handed players, hotkey alterations are still a must. So one of the areas we’ll be coding for is both the ability to rebind hotkeys alongside a comprehensive list of ALL hotkeys (both static and rebind-able) with a description listed so the player always knows exactly how things work at any given moment.

    ---



    Thank you for viewing our post! Support and interest for the project has been rapidly growing ever since we began posting here, and we're incredibly grateful for all the wonderful feedback so far! We hope this project interests you as much as we love developing for it, and please look forward to more updates coming in the very near future!

    If you’re brand new, consider checking out our trailer and overall description of the game here.
     
  35. yyanthire

    yyanthire

    Joined:
    Oct 27, 2014
    Posts:
    69




    Welcome to our thirty-first blog post!



    In this one, we’d like to showcase some more of the art we’ve just completed. Bear in mind, these are only samples so far, and are still a ways away from the official. But we’d like to both show off and discuss a bit of the art direction behind each of the environments so far. In coming posts, once we’re done with more of the art, we’d like to showcase even more of it off, eventually leading up to us finally able to showcase it in-game. Part 2 and beyond of this post may not come for a while, as all art is still under development, so please look forward to that when it can be released.






    Future home to one of our second races, the Oshorra Jungle’s art direction is thematically displaying a great deal of purple, retaining our color spectrum to just that. We wanted a lot of weird, creepy plants to scatter the floor with, and when we get to our impassable terrain, we’ll begin to show off even more of the density of this land. A glowing, dense landscape is our primary design behind this environment. As far as gameplay goes, we’d like to incorporate the density of the jungle by adding in quite a bit of destroyable foliage that the player will have to deal with.





    Home to another race we’ll inevitably be developing, the Seabed is a lot more open, with its primary color theme being the clear blues of the ocean and the deep red of the coral. With beautiful gems scattered all around and intricate coral arisen all over, the Seabed is an environment desiring to be open and ‘breathable’, yet still with some mystery and spookiness.





    Homeland to the Dragons, Dragon’s Lair is a place high up in the clouds, overlooking the rest of the land below. The clouds themselves create their own mysteries, winding up wild and different shapes, leaving what is seen up to the onlooker. A deep blue with accents of red, the Dragon’s Lair is meant to be an ‘evil’-feeling environment, hostile to all who enter. As part of its environmental design, when we get to adding in its impassable terrain, we’ll be attempting to develop a system in which the clouds are ‘parted’, and you can see to the land below.





    The strangest of environments, the Knire’s Homeland is a place riddled with corpses. The corpses serve a purpose, too, to the Knire race, that will be explored in the game itself. Odd symbols are strewn everywhere; these are the markings of the Knire, carvings which make them who they are; entities that grant them power in combat. Not only are these symbols carved upon their very bodies, but they are also carved upon the ground itself, intermingled with the unkempt dead. The Knire’s Homeland leans a lot more towards the orange and sandy-white color tone. Its meant to also feel fairly dense and claustrophobic, similar to the Jungle.

    ---

    Thank you for viewing our post! Support and interest for the project has been rapidly growing ever since we began posting here, and we're incredibly grateful for all the wonderful feedback so far! We hope this project interests you as much as we love developing for it, and please look forward to more updates coming in the very near future!

    If you’re brand new, consider checking out our trailer and overall description of the game here.
     
  36. yyanthire

    yyanthire

    Joined:
    Oct 27, 2014
    Posts:
    69
    Welcome to our thirty-second blog post!



    In this post, we thought it would be a good idea to begin to go over various damage related systems, and how they were coded into the game.





    The first one is basic damage- its fairly standard: damage is subtracted from the hit target’s health (so long as the spell actually hits the target). And, of course, when the target reaches 0 health, they die.

    This is then heavily modified to fit a wide variety of special affects and attributes we’d like to apply atop the damage.





    This can include healing, which is just as simple as damage- instead of subtracting the damage value from the target, add it. Its that simple. The only thing left is to check for overflow, so the target cannot go over their max HP.

    Keep in mind: all of these also work alongside Mana, but only when specifically called for.





    Now, we can start to get into the more interesting elements. The first of which is Lifestealing- fairly straightforward, and almost self-explanatory. Dealing damage to a target returns the damage as health. This also works with Mana, so stealing Mana from a target can be done.





    But the real core damage modifier is its Element. In the world of Fragment’s Moonrise, all spells have a specific Element associated with them: True, Mystic, Fire, Water, Earth, Air, and Death.

    In addition, each Creature has a specific set of Elemental Resistances assigned to them.

    When a spell hits a target, the spell’s Element is calculated against the target’s Resistance from that particular Element, and damage is applied as defined.

    As such, a Resistance set to 100% means the Creature is fully immune to the spell (however, they are not immune to being effected by the spell’s Status Effect, or an Aura; more on that in a coming blog post). Conversely, a Resistance set to -100% means the Creature takes double the damage. Keep in mind: these Resistance also apply to Mana, so if Mana damage is dealt, it takes into account the same property.

    What this allows for is additional combat depth- Creatures have varying levels of resistances, so you can’t simply create a full army of high-damaging Units, as some Creatures might be fully resistant to them, and you’ll be rendered helpless and at their mercy should you ever encounter them. It pushes a much more diverse army composition, and also allows for some fairly interesting boss fights (as many of our past blog posts have shown). During the early stages of gameplay, you can get away with having a few extra powerful Units, but as we develop more and more, we definitely intend on making it so you need to expand out your army’s diversity, alongside require you to utilize a Unit’s unique Elemental-coverage to win a fight.

    In our next post, we aim to go over the other types of ‘Damage’ modifiers: our Status Effects and Auras, and how they work and function.

    ---



    Thank you for viewing our post! Support and interest for the project has been rapidly growing ever since we began posting here, and we're incredibly grateful for all the wonderful feedback so far! We hope this project interests you as much as we love developing for it, and please look forward to more updates coming in the very near future!

    If you’re brand new, consider checking out our trailer and overall description of the game here.
     
  37. yyanthire

    yyanthire

    Joined:
    Oct 27, 2014
    Posts:
    69


    Welcome to our thirty-third blog post!



    In our previous post, we began to discuss how our Damage, Element, and Resistance features factor into gameplay. In this one, we want to delve into another sort of “damaging” aspect- Status Effects and Auras.





    Throughout the majority of content we’ve featured in our Blogs, there may have been one thing that was not too self-explanatory when you look at an individual Unit. That is in regards to the icons floating atop Units’ heads.

    These icons reference our Status Effects, Auras, and also Cooldowns.

    Before we dive too far into our main content, which are Status Effects and Auras, let’s quickly go over Cooldowns, just to get that out of the way.





    Fairly easy to understand, a Cooldown Icon is activated when a Spell has been cast that utilizes a Cooldown. Its symbolized with the spell’s icon, and it features a clockwise countdown to let Players know when the Cooldown is over.

    Now, back onto the main content.





    Auras are one of the two ways a Status Effect may be distributed upon nearby Units. The other, of course, is done via Ability.

    Auras are quite simple to understand- they radiate their Status Effect(s) outward, with a radius based upon either the Unit’s vision, or a custom radius. Any Unit within the Aura radius is considered for Status-Effect application, and based upon the Aura’s ‘target’ factors (if it can effect Enemies, Allies, Itself, etc), the Status Effect is put onto the Unit.





    Status Effects are passive effects that are ‘activated’ upon an inflicted Unit each second, until its duration is over. Activation can quite literally mean anything we wish to apply- in its simplest terms, it can mean merely Damaging a Unit each second. But in advanced terms, we can do things like lowering/raising Resistances, slowing the Unit, disabling their ability to attack, and so forth.

    We’d like to go into more detail about these advanced features- but that will have to wait until next time.

    ---



    Thank you for viewing our post! Support and interest for the project has been rapidly growing ever since we began posting here, and we're incredibly grateful for all the wonderful feedback so far! We hope this project interests you as much as we love developing for it, and please look forward to more updates coming in the very near future!

    If you’re brand new, consider checking out our trailer and overall description of the game here.
     
  38. yyanthire

    yyanthire

    Joined:
    Oct 27, 2014
    Posts:
    69
    Welcome to our thirty-fourth blog post!



    In this one, we want to get into some of the more explicit coding behind our Abilities, and the various features behind them that the caster will be able to utilize.

    There are a lot of basic aspects- such as Damage, Mana-Damage, Lifesteal, Cast-Time, and so forth. But there are also a lot of advanced aspects we’d like to go over.





    One of the features we discussed last time was about Status Effects and how they are inflicted. We hinted at how Abilities can inflict status effects, so now we’ve wanted to shed a bit more light on the subject.

    Inflicting Status Effects are actually quite simple- so long as the Ability hits the target (whether directly, or in an area-of-effect) will the Status Effect take effect. No damage must be dealt, and there are no other special attributes. The spell’s only requirement is it must hit the target. Which is possibly its hardest requirement to do swiftly and accurately.





    ---







    To assist in, for example, inflicting Status Effects, or even any other types of spells in general, there is the Groundcast feature on Abilities. Just simply casting upon a foe does not guarantee a hit- the foe could move at the last moment and dodge the attack.

    Therefore, Groundcast can be utilized to attempt to predict a foe’s movement. With good timing, one can strike a foe in such a way they cannot dodge, guaranteeing the spell’s effects to take place, and the fight to turn more in your favor.





    ---







    Another method of spreading Status Effects, or damage, or anything else, is done through Area of Effect spells.

    Fairly basic to understand- they strike in a specified area, and can inflict upon specific types of targets.

    If a Status Effect is placed upon this Ability, when any foe in the AOE is inflicted by the Ability, they are also inflicted with the Status Effect.

    Do know- an area of effect spell combined with a groundcast makes it that much easier to hit moving targets, as the area the foe must be in is much wider and more simple to target at a quickly moving pace.





    The speed at which a projectile travels to a target location is a very important one. A spell too slow will be easier to dodge. But a spell too fast might be overpowered.

    Projectile Speed is a variable that can be used to make some fairly interesting spells. Slow moving, quick-to-cast spells are fairly interesting on their own right.

    But in other instances, such as with the Lesser Dragon of Lightning’s Arclightning, it needs a high speed projectile in order for it to actually hit a target reasonably. But not something so fast the player can’t dodge the attack at all.





    That concludes just some of our Abilities- in our next post, we’d like to go over even more of them, as there are a few extras we have yet to discuss.

    ---



    Thank you for viewing our post! Support and interest for the project has been rapidly growing ever since we began posting here, and we're incredibly grateful for all the wonderful feedback so far! We hope this project interests you as much as we love developing for it, and please look forward to more updates coming in the very near future!

    If you’re brand new, consider checking out our trailer and overall description of the game here.​
     
    PolygonPros likes this.
  39. yyanthire

    yyanthire

    Joined:
    Oct 27, 2014
    Posts:
    69




    Welcome to our thirty-fifth blog post!



    In this one, we’d like to go over the Kollusk Barragers, spellcasters based around rapid-fire, slow-moving spells that can rapidly burst down all who stand in their line of fire.

    With this boss design, we wanted to design a group of foes one must defeat, with these foes being thematically based around rapid-fire yet slow-moving spells. This means that you can never stop moving during this fight, else you’ll be quickly taken down.

    We began with a small sampling- we didn’t want this fight to be too complicated; we just wanted it to be keyed into movement. So we began with merely an ‘army’ of 5 Kollusks. In the next battle against the Kollusks, the fight won’t go nearly as easily. We definitely want to expand upon the current structure, likely increasing the enemy-count to 15, and add some more diversity plus strengthen up the units so there’s more dynamic to the fight. But for now, given that we want this to be a lower-level boss fight, 5 will suffice.

    As of right now, the fight is fairly straightforward. Let’s begin by going over the army composition.





    Its best to comprise your army primarily of Apprentices of Air, spellcasters of Lightning. The Kollusks have a quick movement speed and ability to Teleport around, so a quick-striking spell like Lightning is ideal. In addition, its incredibly important to note that the primary Kollusks that will be encountered are susceptible to Air, so that is the second reason Apprentices of Air are necessary.

    We also comprise the army of a few support Units- basic buffing and healing Units, but also support Apprentices of Mystic. We don’t have a need for a second healer, nor do we have a need for a debuffer, so adding in 2 Apprentices of Mystic will be good as the other types of Kollusks have high resistance to Air, but not so much resistance to Mystic (this is useful so long as we can keep them alive, of course!).

    With that, our army is defined.

    Now, onto what we’ll be facing.





    The Kollusks are separated into 3 main components: the Burning Kollusk Barrager, a close-range, rapid-fire spellcaster. It can also cast a high-damage flame spell, alongside its unique spell, a fireball cast off in a random direction, inflicting a healing deprivation status ailment to those hit, making them unable to be healed for a short while. As this Kollusk’s name indicates, its primary element is Fire.





    Next, the Freezing Kollusk Barrager. Oriented around Water, this spellcaster casts a longer-range, Water variant of the Burning’s primary attack. It can also send off a ball of frost in a random direction, inflicting a freezing effect upon those who are hit, making them unable to move.





    Finally, the Frostfire Kollusk Barrager. This creature is exclusively based around healing. It casts a slow moving healing spell that hits in an AOE. Left unattended, it can rapidly heal up all its nearby allies. So its best to focus-fire on a single Kollusk at a time, else this healer will restore that Kollusk to full HP in a matter of moments.

    Onward to the fight- this battle is broken up into 3 major parts, each based around the respective Kollusk.









    With our Air warriors in great supply, our first task is to eliminate all the Burning Kollusk Barragers, indicated as the ones casting the red fireballs. These Kollusks are weak to Air, are in the greatest quantity, and our greatest threat. They are quite easy to kill, so eliminating them first makes this fight much much safer from here out.





    Next, the Freezing Kollusk Barrager. While only one exists in this battle, simply standing still for more than a few moments is enough for one of our warriors to be slain. So, while moving around it in a clockwise motion, we can dodge its spells while still attacking it. Its important to note that during this phase, if we lost too many warriors during the previous phase, we’ll need to switch up our strategy. That is because the healer will out-heal our damage if our DPS is too low during this phase; if we find that our DPS is too low, we’ll need to switch to attacking the healer, maintaining dodging the Freezing Kollusk in the process.





    However, if all goes according to plan, we’ll be in the final phase of the fight without any further worries. The healer has no way of healing itself, nor any way to damage us, so we can safely defeat it without any possibility to us being defeated in the process.

    And that ends the fight, with the reward now being ours for the taking.

    ---



    Thank you for viewing our post! Support and interest for the project has been rapidly growing ever since we began posting here, and we're incredibly grateful for all the wonderful feedback so far! We hope this project interests you as much as we love developing for it, and please look forward to more updates coming in the very near future!

    If you’re brand new, consider checking out our trailer and overall description of the game here.
     
  40. yyanthire

    yyanthire

    Joined:
    Oct 27, 2014
    Posts:
    69
    Welcome to our thirty-sixth blog post!



    In this one, we’ll be showing off a few more Ability parameters that have been setup for the project, and how they’ll be utilized.





    The first one relates to object construction- and this has a fairly universal meaning. Object construction is quite literally that- we spawn another Unit object. Utilizing clever coding, we can make it so we can use this parameter to do two major tasks we desire: constructing Structures, and summoning Units.

    Structure construction is quite direct: we just want to summon a structure-object at a desired location. Which essentially translates to taking as input the name of what we want to spawn, and outputting that file, as a GameObject, spawned into the scene and placed appropriately. Quite simple, really.





    But we can do more: we can utilize this identical logic for, say, spawning Units. So if we want a Structure (or another Unit) to be able to summon new Warriors for the Player’s army, we can do so with ease.

    We can also enhance this logic by making it so instead of just being able to cast it on the ground, we can only cast it on Corpses (utilizing our TargetType system applied on Abilities). So we can enact some sort of necromancer-like ritual, casting the spell upon a corpse, and converting it into a new creature for our army. Technically we can do even more, such as being able to cast it on a nearby ally or enemy to summon from there, but no current abilities take advantage of this just yet.





    We can even push the logic further by making it self-castable. What this would allow us to do, for example, is take the Player’s Units, and allow them to “advance classes”, ranking them up. Its quite a versatile piece of code.





    Another utility parameter relates to Resource Costs. Restricting Abilities to a cost, in Resources, is beneficial for things, such as if Player wants to summon a Home Structure: they have to pay a cost in order to do so. Or if they want to summon a new Disciple- they have to pay the cost associated.

    Or even in the example above, where we are advancing a Unit’s class. We can make it so there is a strict key-item Player needs to unlock first before the Unit can advance. Such as, a weaker air caster requiring a Tome of Air in order to advance into a greater air caster.





    One intriguing variable, and one we would like to get into more as we develop higher-tier casting spells from higher tier Units (both Player, and Enemy oriented), is the Additional Casters variable.

    Easy to understand: when a spell is cast with an Additional Casters variable set to a value greater than 0, the spellcaster looks for X amount of nearby Units to also perform the cast with. If none can be found, the spell cannot be cast. Spells this these we can easily apply much more devastating effects on, allowing for some much greater combos to be performed.





    Finally, projectile origin is an interesting variable. While we do have the ability to control the speed of a cast spell, sometimes, we’d like one to be instant. Toggling the Projectile Origin to “Target” makes it so spells spawn right on top of an enemy- very useful for diversifying spells, such as Lightning. While normal spells have a travel time, during which a foe can dodge to evade the attack, Target-Origin allows for spells to not be dodged. This is pivotal in some areas of gameplay in which its necessary to always hit a foe, and the design of spells that utilize it are oriented around that ideology.

    ---



    Thank you for viewing our post! Support and interest for the project has been rapidly growing ever since we began posting here, and we're incredibly grateful for all the wonderful feedback so far! We hope this project interests you as much as we love developing for it, and please look forward to more updates coming in the very near future!

    If you’re brand new, consider checking out our trailer and overall description of the game here.
     
  41. yyanthire

    yyanthire

    Joined:
    Oct 27, 2014
    Posts:
    69
    Welcome to our thirty-seventh blog post!



    In prior parts to this series, we’ve been discussing various features on our core gameplay elements. In this one, we’d like to continue that by going over variables in our Status Effects and Aura classes.

    Let’s begin by going over the broader subject: Auras.





    Auras are quite simple to understand: in an area around the Unit invoking the Aura, we apply a Status Effect to nearby Units. This Status Effect is only applied to Units based on their alliance attributes (so we can apply Auras to nearby Units based on if their friend, foe, and/or self).





    We can also set Auras to drain (or even restore) Health and Mana respectively. Important to note: Auras that drain Health from the invoker can never drop a Unit down to 0 HP, for obvious reasons.

    Now, onto Status Effects:





    Similar to the broadness Abilities have, Status Effects can perform a multitude of effects. This can vary from the basic ones, such as damaging a Unit’s health and mana, to invoking some pretty interesting ones, like damage alteration.





    Altered damage is an interesting one: it reduces (or increases) a Unit’s damage output by a percent. While the Status Effect’s duration is active, the Unit will be under this debuff. Good for weakening a boss, or empowering your own. In addition, its one to be feared, as any of your Units under its effects will be much worse off in a fight.





    Altered View Distance can also be quite useful for a variety of reasons: it reduces (or increases) a Unit’s vision.

    This can be good for reducing a foe’s vision, and thus reducing their aggro, so you can take out other foes while the vision-less threat is subdued. In addition, it can even be used on yourself. Given the game’s mechanics, you can only enable what you can see. Reducing vision reduces what foes are currently active, allowing you to sneak past them more easily. Increasing your own vision is also excellent: need to look over a long portion of the map? Some objects in the world increase your vision, allowing you to see over a great distance at possible next objectives to traverse to.





    Altered Attack Speed is quite self-explanatory. Speed up or slow down a Unit’s rate of attack, with all their attacks. This can be useful to slow down a quick-striking foe, among even slowing down a slow-striking foe, making the foe even less powerful. Speeding up your own attacks is inherently useful, but some spells can slow down your spells, giving you greater damage in return, so that is something to keep in mind and use appropriately.

    That concludes this post- and in the next part, we’d like to go even deeper into other variables and how they function.

    ---



    Thank you for viewing our post! Support and interest for the project has been rapidly growing ever since we began posting here, and we're incredibly grateful for all the wonderful feedback so far! We hope this project interests you as much as we love developing for it, and please look forward to more updates coming in the very near future!

    If you’re brand new, consider checking out our trailer and overall description of the game here.
     
  42. yyanthire

    yyanthire

    Joined:
    Oct 27, 2014
    Posts:
    69
    Welcome to our thirty-eighth blog post!



    Before we begin, we would like to announce we’ll be working on launching a Kickstarter campaign soon, so please look forward to it!

    In our last post, we began to go over various variables for our Status Effects, and what they do. And in this one, we intend on going over a few more.





    Movement speed alterations can be quite interesting to develop around. Inherently, its most logical to slow a foe’s movement speed (either the enemy doing it to the player, or the other way around). Its also fairly logical to have some speed-increasing aspects, such as the Apprentice of Sound’s Haste aura. However, in some areas, we can add some uniqueness. Given this game’s design is built around dodging, we can, for example, feature bosses that have auras that increase the movement speed of everything nearby, yielding quite an interesting fight.





    Disabling attack is one of those most pivotal and powerful Abilities in the game. Almost outright necessary for slaying specific bosses, but also quite terrifying when used on the player. Half the game is about casting spells, while the other is about movement. If you can’t attack, you can’t do anything. No healing, no damaging; you can only rely on your movement and dodging abilities while your Units are unable to attack.





    Dodging is pivotal, and in some instances, necessary for survival. This includes both the player, and the enemy. Being able to disable movement, and thus ensure all your attacks will hit, can be devastating. And, in some areas, you need to be able to disable a foe’s movement just to be able to hit them to begin with.





    At the core of the fight, there’s damaging your opponent. But, what if that were to be disabled? Disabling a Unit’s ability to receive incoming damage can be lifesaving in the player’s hands, or detrimental if the enemy gets a hold of it. Invincibility is not something to be taken lightly- it essentially means the Unit is impervious, and thus all you can do is flee helplessly, waiting for the invincibility to finally ware off and the fight can return.





    Healing is a critical role in combat, and in some areas where the damage is so rapid and so great, its fully necessary. Disabling healing can end that, making un-killable foes now killable. Or, it can induce a panic in the player, as damaged Units cannot get the healing they need in order to survive.

    ---



    Thank you for viewing our post! Support and interest for the project has been rapidly growing ever since we began posting here, and we're incredibly grateful for all the wonderful feedback so far! We hope this project interests you as much as we love developing for it, and please look forward to more updates coming in the very near future!

    If you’re brand new, consider checking out our trailer and overall description of the game here.
     
  43. yyanthire

    yyanthire

    Joined:
    Oct 27, 2014
    Posts:
    69
    Welcome to our thirty-ninth blog post!



    Before we begin, we would like to announce we’ll be working on launching a Kickstarter campaign soon, so please look forward to it!

    Our last posts consisted of us going over Status Effect variables. In this one, we just have a few remaining variables to discuss, before we can proceed onto Units and Research.





    Invisibility will play a key role in a lot of both Unit and Boss designs, even being a huge factor in a future race we want to develop for this game, the Gyen.

    It also has some very specific logic that must be defined behind it in order to function correctly and there are a good handful of AI-related variables that must be taken care of.

    We merely need to define the logic behind how both an Enemy and a Player-Unit can engage FROM invisibility, and also how they can be engaged.

    The logic is quite direct- Player Units will never engage while they are Invisibile, unless they are explicitly ordered to (think of right-clicking a foe, or manually casting a spell). And nothing can engage them.

    Enemies, however, can be engaged by the Player but only if its done manually. What this means is that Player has to deliberately try to cast a spell upon them. Invisibility logic behind enemies means that there is just a very slight amount of opacity to just barely see the Invisible enemy, enough so if Player sees it, they can try to manually engage it.

    Enemies will always try to engage, even while Invisible. Think of it similar to an ambush, in that sense.





    Post Immunity is a variable built just around adding some additional balance to Status Effects. Even though there are lots and lots of Units engaging one another in a fight at a time, its still a bit unfair to be repeatedly hit by a powerful Status Effect. For example, Freeze, which makes a Unit completely unable to do anything, would make it so a Frozen Unit does just that: nothing. Which is incredibly overpowered, as that means the Unit would just sit there, unable to do anything, while its opponents mindlessly wail upon it until it dies.





    Leashing an opponent is an interesting ability. It forces the Leashed Unit to “follow” its master (for the duration). Think of it like a pulling Status Effect, useful for grabbing a single Unit from a group and pulling it into your army so you can dispose of it more easily.





    Fear is like the opposite of Leash- instead of dragging a Unit close, the Unit flees for a short duration. While pulling a foe can be a good strategy for quickly defeating it, sometimes you can’t simply destroy the foe quick enough before Leash ends. Therefore, Fearing the foe to get it out of the conflict becomes ideal, so you can fight off its cohorts while the major foe is out of the fight.





    Resistances play a pivotal role in this game. And being able to alter them to your favor is of great importance. Each foe has a different set of Resistances to particular elements, so sometimes its a good idea to cut a foes resistances in order to utilize a different army composition.

    In addition, each foe has a variety of Elements that it can invoke, and each of Player’s Units have a different set of resistances. Being able to alter your own Resistances can be the difference between defeating a foe and not.

    ---



    Thank you for viewing our post! Support and interest for the project has been rapidly growing ever since we began posting here, and we're incredibly grateful for all the wonderful feedback so far! We hope this project interests you as much as we love developing for it, and please look forward to more updates coming in the very near future!

    If you’re brand new, consider checking out our trailer and overall description of the game here.
     
  44. yyanthire

    yyanthire

    Joined:
    Oct 27, 2014
    Posts:
    69




    Welcome to our fourtieth blog post!



    Before we begin, we would like to announce we’ll be working on launching a Kickstarter campaign soon, so please look forward to it!

    In this post, we’d like to discuss another miniboss we’ve been working on, the Iyyuzu Snakes. Sticking with our tradition of large groups of enemies, the Iyyuzu are no different. But, do bear in mind- there is a twist with this boss that we’d like to detail below.





    Upon discovery, they immediately scatter. The Iyyuzu are not the most intelligent of beings, and are not the most willing to help their own. If they did, they’d understand that the best way to defeat their attacker is to group up. To the Player’s advantage, single Iyyuzu are easier to deal with than the group. And a huge part of the fight is ensuring you are only ever engaging 1 at a time, as their lightning will kill at an incredibly quick rate.





    If you do end up engaging multiple Iyyuzu, pay attention to your Unit’s health, and retreat as immediately as you see it get low.





    So, one of the most important aspects of a fight is hitting your foe. The Iyyuzu are far too fast to be able to be hit easily, and their high resistance to lightning means that utilizing it will be futile. Therefore, some alternative means need to be employed.

    Insert the Apprentice of Nature- able to conjure Foliage from thin air. This by no means is the only way to defeat this foe, but it is the most versatile. Simply lay down a trap, a forest of Foliage, and await the Iyyuzu to get stuck in it. Then, cut it down with your most powerful spells. The Iyyuzu are fairly resilient, so you’ll need to trap it multiple times in succession in order to truly kill it.





    A decent alternative to Foliage, although not quite as good, is to utilize the Apprentice of Water’s Water Bolt. Fairly slow to cast, but highly effective, the Water bolt can freeze a foe in place for a short while. While not amazing on its own, when coupled with Foliage to get the Iyyuzu to slow down during the long cast time of Water Bolt, it can become a very powerful confirmation spell. If you can get the Iyyuzu trapped for just a moment, you can begin casting both Water Bolt AND your strong spells, ensuring that once the Water Bolt gets cast it connects, freezing the Iyyuzu, and guaranteeing your strong spells to hit.

    ---



    Thank you for viewing our post! Support and interest for the project has been rapidly growing ever since we began posting here, and we're incredibly grateful for all the wonderful feedback so far! We hope this project interests you as much as we love developing for it, and please look forward to more updates coming in the very near future!

    If you’re brand new, consider checking out our trailer and overall description of the game here.
     
  45. yyanthire

    yyanthire

    Joined:
    Oct 27, 2014
    Posts:
    69




    Welcome to our forty-first blog post!



    Before we begin, we would like to announce we’ll be working on launching a Kickstarter campaign soon, so please look forward to it!

    We began above with a screenshot from our primary environment- the Grove. This is the base environment that will be featured throughout the majority of the early game in regards to the Mystics race.





    From there, we move into the Jungle- the Jungle will be the starting environment for one of our future races, the Gyen. It holds a great amount of gameplay prominence as well in regards to how the Mystics will interact with it.









    The Seabed is home to the Akelene, and even more critical bosses to fight. Its meant as the final overworld area for the Mystics, before we get into our true final area.





    ---



    Thank you for viewing our post! Support and interest for the project has been rapidly growing ever since we began posting here, and we're incredibly grateful for all the wonderful feedback so far! We hope this project interests you as much as we love developing for it, and please look forward to more updates coming in the very near future!

    If you’re brand new, consider checking out our trailer and overall description of the game here.
     
  46. yyanthire

    yyanthire

    Joined:
    Oct 27, 2014
    Posts:
    69




    Welcome to our forty-second blog post!



    Before we begin, we would like to announce we’ll be working on launching a Kickstarter campaign soon, so please look forward to it! We’ve been gathering more and more artwork and such in preparation for the launch; for example, the image above will be our official cover art.



    In this post, we’d like to continue on our biggest series by discussing Units, and various aspects that make them function.



    There has been quite a lot of coding done to ensure Units function adequately and do exactly what we need them to do. Bear in mind- the Unit class is responsible for acting as the ‘house’ in which all other functions are invoked from- Abilities, Status Effects, etc. etc. We have basic functions like Health and Mana and Movement Speed and View Distance and so forth that comprise the Unit. But then we have advanced characteristics, some of which we’ll be going into in this post, that really allows us to further define Units in the grand scheme of getting them to function how we need them to.







    Resource Type is an interesting variable. On a Unit’s death, it grants the Player X amount of said Resources. This can be anything from basic Resources, to other aspects of what we need them for such as important resources like Tomes, used for advancing Units to further classes.







    Alliances are critical for applying functionality to the game’s combat. In this project, many fights take place versus other large groups of foes. As such, its important to be able to tell when the entire group is slain rather than just individual Units. Alliances take care of this- it tracks when the group of foes is slain, and gives the reward as a result when that requirement is met.







    As part of a Unit’s AI, after a certain amount of time, the Unit attempts to return to its starting location. This is important enemy AI logic to ensure Units don’t chase forever. However, we can disable this to get some interesting foes, such as one of our bosses, the Drake.







    The Fog also plays a key role in gameplay- Units in the Fog are hidden and fully disabled, unable to interact with anything. This is important to save CPU computation time of course. But we can deactivate this aspect on some enemies to make them still enabled, even while in the fog. This allows for some boss fights the Player can’t simply flee from when things get too hectic.



    ---

    Thank you for viewing our post! Support and interest for the project has been rapidly growing ever since we began posting here, and we're incredibly grateful for all the wonderful feedback so far! We hope this project interests you as much as we love developing for it, and please look forward to more updates coming in the very near future!

    If you’re brand new, consider checking out our trailer and overall description of the game here.
     
  47. yyanthire

    yyanthire

    Joined:
    Oct 27, 2014
    Posts:
    69




    Welcome to our forty-third blog post!



    Its been a little while- after a short hiatus, we’re back to begin discussing major gameplay and programming advancements in our Open World RTS, Fragment’s Moonrise!

    We’d also like to announce we’ve been working on a Kickstarter, and we’re hoping to launch it soon! More details to come.

    The state of the project as it stands- we’re gearing up for a Beta release coming in a few months (give or take). We’re working on content and major programming necessary for said release.

    With that being said, the game is sitting firmly at a state we’re happy with: open world (our most difficult coding hurdle) is finally in the game, and alongside that, features such as Saving, and a considerable amount of gameplay related content, is set and ready. Art is also coming along, with new unit animations coming soon!

    Now, into the heart of this update-







    The most complicated part of designing the Open World is ensuring the coding works; we’ve been having to mix a lot of different subjects of the game together to get it to work fluently.

    This includes augmenting our Saving system so that each Map is saved individually (so as you explore more, and uncover more maps, their all individually maintained and can be called accordingly), alongside our gameplay system to ensure important aspects (like retaining a Unit’s health, or progress in terms of what boss was slain) are kept.

    This all needs to be stored in a central “main menu” you could call it, so that we have the primary application running and interchanging Maps in the background as their called.

    The main coding is done- right now we’re at a phase of bug testing and implementing further features such as our Home Base system.

    As we move into new content, we first need to state that we feel the majority of our early-game content is done. We have a small linear progression system as the player begins to advance their units and get used to the game’s combat, and that quickly extends into a massive and various class-based system, with each class having multitudes of uses.





    Now that we’re getting into the middle-game content, we can begin to design the heart of the game.

    A major part of the game is about weaknesses versus strengths. Given our diverse Element system, a main aspect of the strongest player units feature various Resistances to various Elements, alongside a specific weakness.





    The Element/Resistance system is one to one: spells utilize an Element, and as a Unit is hit by that spell, the Element is compared against the Unit’s Resistances. From there, the damage is raised or lowered based on their Resistance stat. For instance, negative Resistances incur raising damage, whereas positive incur lowering damage.

    We wanted to start off our high-tier Player Units under this premise- a versatile set of Resistances juxtaposed with some sort of weakness. So the Player will need to be aware that their Unit is particularly weak against specific types, and plan their strategy accordingly.

    This then leads into versatility- spellcasting versatility, to be specific.

    We want high-tier Player Units to not be limited to their explicit elemental path. With the base Units in the game, each Unit pertains to a particular Element: the Apprentice of Fire can only cast spells relating to Fire. The Apprentice of Air can only cast spells relating to Air. And so forth; there are no cross-elements allowed.

    Our desire instead is to partially do away with this: Units have their Element as their “main type”, that their the best with. However, they now have a few extra spells to be used as a substitute for the real thing. We wanted to keep substitutes just as that- not a replacement.





    What this means is that high-tier Player Units have some extra Elemental type coverage that they can use as they see necessary. These extra spells in no way replace the primary Unit that can cast that Element, their merely meant as a substitute when that particular Unit is not available. This, in turn, allows us to expand our combat system quite a bit further. And allow the Player to utilize even more options.





    With all that being said, that should end this blog entry.

    As we work more on the game, we’ll be pushing our Open World system further, and establishing even more content. These changes to our high-tier Player Units are just the beginning of a swathe of changes we wish to implement.

    Before we conclude, we’d like to remind you: we’ll be pushing a Kickstarter soon, so please look forward to it!

    ---



    Thank you for viewing our post! Support and interest for the project has been rapidly growing ever since we began posting here, and we're incredibly grateful for all the wonderful feedback so far! We hope this project interests you as much as we love developing for it, and please look forward to more updates coming in the very near future!

    If you’re brand new, consider checking out our trailer and overall description of the game here.
     
  48. yyanthire

    yyanthire

    Joined:
    Oct 27, 2014
    Posts:
    69


    Welcome to our forty-fourth blog post!



    Its been nearly a year since we’ve began doing blog-posts, and a little more than 2 years since we’ve began working on this project.

    We’re excited to be able to announce that we’re planning a Kickstarter for the project, coming out very very soon. Our goal is to get the remaining funds necessary to finish the early stages of this project, and move us into a more releasable state.

    As a small teaser, we’ve posted our latest Trailer for the project above. We hope you enjoy!





    Above is also another small teaser- our current goal is to release a Free, Open Beta for the game coming sometime in the summer (on Steam, of course). This release date is fully dependent upon our ability to complete our Open World system, which is heavily under progress, and we’ll discuss more of that coming up later in this blog post.

    In addition to the open beta, we’re also attempting to be apart of Steam’s Game Festival (June 9th-15th). In this, we’ll be showcasing a very short playable demo of the game (think of it like a teaser for the Open Beta).

    As we’re talking about Steam, be on the lookout for our game’s page on there! We’re in the approval process, but as soon as its live, you’ll be able to view the page and add it to your Wishlist!

    Returning to discussing the Open Beta, once that is live and we’re able to get actual player feedback on the game, we’ll be heavily working on the project, gearing up for an actual Early Access release on Steam coming shortly after the Beta (our plan is the Winter, but if things go well, we can release earlier).

    When it comes to the Early Access Release- our primary goal is to get roughly 1/5 of the total planned content in the game. We feel that would make a good introduction to the game as we begin to work on it more after that. Also know that when we say 1/5 we mean content, not programming. Major programming will be complete with the end of our Open World system, so from there we’ll just be working on miscellaneous features that are far easier to code in. And, of course, progressing on the art more and more as we definitely want to have the game look as good as we can make it.





    As for progress on the game, we’re currently devising more rewards for defeating bosses, and there are quite a lot of them!

    We want the player to be able to have a considerable amount of options when it comes to engaging other enemies, so that’s the main rational. We also like adding in lots of rewards, giving the player a lot more content to make use of as they see fit. The image above details just one of the unit’s spells before and after we began adding these new ones.





    As for our Open World code, we’re still heavily underway on our Home Base system. As an RTS game goes, a Home Base is critical for launching your attacks, researching necessary upgrades, creating new units, and so forth.

    With an Open World RTS, however, we need to be a bit more careful with what we allow to be built as a structure. CPUs can’t handle a lot of things thrown at them at once, so we feel its better to organize and make Player’s home base consist of one map where they can construct everything they need to. All our content is planned around this idea, and it works quite well, its just fairly incomplete as far as code goes.

    Once our Home Base is done, we’ll be able to start modifying all the other Maps spawned in the world, adding the bosses and enemies and whatever we need as necessary. And once that’s done, we should have a ready-to-launch Beta, ready for players to absolutely destroy with how many bugs we think we’ll run into!

    Thanks for viewing our post! And be sure to be on the lookout for when our page is finally visible on Steam!
     
    PolygonPros likes this.
  49. yyanthire

    yyanthire

    Joined:
    Oct 27, 2014
    Posts:
    69


    Welcome to our forty-fifth blog post!



    We just wanted to make a quick update in regards to both Steam and Kickstarter.

    First and foremost, if you haven’t seen our latest trailer, check it out above!





    Next, onto Steam. Our page has just received approval from Valve, and now we’re live!

    No, this doesn’t mean the game is live, nor does this mean we have our open beta up yet. But it does mean you can add it to your Steam Wishlist, alongside view more details about the game itself.

    Link to Steam: Store.steampowered.com

    Speaking of, if you don’t know more about the launch details behind the game-





    Our Kickstarter page is gearing up for launch! If you’re interested in financially supporting the development of this project, please consider donating when it goes live. Otherwise, adding this game to your Steam Wishlist is a great alternative!

    If all goes according to plan, we hope to launch May 1st!

    Link to Kickstarter: Kickstarter.com





    Thanks for viewing this post!​
     
  50. yyanthire

    yyanthire

    Joined:
    Oct 27, 2014
    Posts:
    69