Post #5 – Magic Shooter (Grimoire 2) and Unreal Engine 5.

It’s been awhile since the last blog update (although I have been posting in the Discord) so I thought it would be good to do a quick one and share some exciting news at the same time. As you may have guessed from the title the project is now up and running on Unreal Engine 5! This is a great opportunity to leverage some incredible new technology to create the version of Grimoire: Manastorm that we used to dream of making.

One of the biggest changes between the first game and the sequel is the visual quality improvements as well as making sure that there is an equal focus on performance. We want as many people as possible to be able to experience the game and are keeping that forefront as development progresses but we also want the game to look great!

You may also notice that I am now saying “We” instead of “I”. That is because an old friend has been helping out with some backend work as well as with playtesting and design. I’m going to save that announcement for later but it’s an exciting development and he has been a great help in getting the project converted from UE4 to UE5!

On to the game…below is a list of the current features.

Features v0.1

  • 2 Game Modes: PVE Horde (Wave Survival) and PVP Deathmatch (Free-For-All)
  • 4 Wizard Classes each with 4 active and 1 passive ability
  • 4 Fighter Classes each with 4 active and 1 passive ability
  • 5 Movement Abilities
  • 5 Trinket Abilities
  • 6 Basic Enemy AI and 2 Boss AI
  • 1 FFA Map and 1 Horde Map
  • Menus and Settings
  • HUD (Action Bar, Nameplates, Stats, Combat Log, etc)

It’s playable although unpolished and a bit buggy but there is a good base to work from and that foundation will let us start building some of the more final pieces. From here, the next step is continuing to design the final game modes, enemies, and additional features. Horde and Deathmatch are fun but they are only the beginning.

That means a pause on additional Classes, Abilities and AI until what is currently there is more balanced and polished. As there are more and more things to show off I’ll also be posting in the Discord so if you haven’t already please join us there!

-Brent

By |2022-04-24T23:54:31+00:00April 24th, 2022|Uncategorized|0 Comments

Magic Shooter’s Fire Class and a quick project update.

This week I want to talk about two things. First a quick update on the progress of the project and then some details on the new Fire class.

The project is coming along really well. I’ve gotten it fully converted to the Gameplay Ability System and there are three playable classes: Fire, Lightning, and Earth. I’ve also gotten a good start on building different AI types and have basic melee, advanced melee, and basic ranged classes all working. The new Earth ultimate is a summonable Golem pet and it’s been really fun playtesting it! If you’re interested in keeping up with the progress I try to post pretty regularly in the discord and on twitter.

Now, onto the new Fire class and how it differs from the old Grimoire: Manastorm Fire class. I’ve made some small changes but because the Fire class was popular and well balanced in G:M I didn’t see any reason to do anything major.

Fire’s role is area-of-effect damage dealing with a sub-role of area denial. It excels in close to mid-range and its ability to damage multiple enemies gives potential for it to be a force multiplier in any battle. That area damage also makes it a good class for newer players since it can often be easier to deal damage that way.

The major goal for the class’s design is that it’s easy for new players to pick up and use effectively but also has an underlying depth for veteran players to master. At its base the class’s spells seem clear: shoot giant fireballs near enemies and deal damage to them. In fact, playing Fire really can be that simple.

However, there can be more to it as well. Where you aim those fireballs, the most efficient pattern to use each spell type for maximum damage, ideal ranges to use Primary vs Secondary, using the Ultimate spell to deny enemies a flanking path or prevent a flag capture, or sending the Utility spell down a long path where it explodes blocking vision, creating soft cover, and discouraging enemy movement.

Fire Spells
Note: All spell cooldowns, costs, visuals, damage, etc seen are very likely to be changed.

Primary
Quickly fling short ranged but powerful fireballs which explode either on contact or at the end of their flight path dealing area damage.

This spell is a variation on one of the alternate spells from G:M. The difference is that the new versions will have a shorter range but larger area of effect radius. They also explode not just if they hit the player but also when they reach the end of their flight path giving them a chance to deal damage to anything nearby or to even flush out an enemy hiding behind cover.

Secondary
A super chargeable fireball which explodes on contact or at the end of it’s flight path. It can be charged for a limited period of time to increase its size and damage but decrease its speed and travel distance.

A slight variation on the original base Fire secondary from G:M. In keeping with the theme of the game’s secondary spells it has a range of uses. It can either be a fast moving moderate damage projectile for hitting enemies at medium or even long range or it can be super charged to create a huge but slow moving fireball more suitable for close to medium range. Or pick a middle ground. The size, damage, and speed of the fireball is entirely up to how long the spell is charged for

Utility
A ball of lava which travels along the ground and then explodes on contact with an enemy or after a set duration. Once triggered it obscures vision and deals area of effect radial damage for a set period of time.

Another spell that is very similar to an alternate spell in G:M. The main difference is that the new version’s post explosion effect is intended to act as a visual screen in addition to dealing damage. In keeping with the game’s spell design this Utility spell will help players to fulfill their secondary role. In this case acting as a form of area denial. The major difference here is that in the original the Utility spell gave players the ability to propel themselves upwards if it was cast at their feet. This was similar to a rocket jump from Quake. While I really liked that aspect of the old spell, one of the changes I’ve made to the sequel’s combat design is that movement abilities will be more limited and primarily come from player’s movement spell selection.

Ultimate
Summon a rain of fireballs at the targeted area dealing massive radial damage.

This devastating spell is the same one found in the original. As an Ultimate spell it has the potential to completely change the outcome of a battle and any enemies unfortunate enough to be caught within it’s targeted radius can expect to lose a huge amount of their health. While it costs a lot of mana and has a long cooldown it also lasts a long time and at the very least can deny enemies access to an area while it’s in effect.

Passive

Each Fire spell deals a percentage of its damage over time to any enemies hit.

The passive was one of the bigger changes I wanted to make to Fire. The fire trailing from G:M just never felt very effective or useful. Adding a damage over time to all spells fits the overall theme of the class better and also serves as a multiplying reward for dealing damage to multiple enemies.

 

That’s it for today’s update, in future posts I’d like to go into more depth about my design goals especially those related to spell types and class roles. I also want to do similar class breakdowns like this in the future. I’m really excited about this project and happy with the progress that has been made. We are getting closer and closer to the first Alpha and I can’t wait to see what you all think of it so far!

-Brent
June 28, 2020

By |2020-06-28T22:54:03+00:00June 28th, 2020|Uncategorized|0 Comments

First Person vs Third Person and Fire Spells Preview

Last week, I polled the Discord server to get an idea of what camera most people play with. The overwhelming response was First Person. I also prefer first person cameras in shooter games but it was still a surprise since Grimoire offered the option to use either First or Third. Since this was such a popular request I decided to push forward with adding first person camera and animations sooner than originally planned.

There are a lot of different areas that this touches in the project so it turned into a full weekend task but I was able to complete it plus get all of the base Fire spells in place using the new camera and animations. Using a placeholder animation asset pack from the Unreal Engine marketplace I was able to get this all up and running fairly quickly.

One thing that players will notice is that the first person animations you see as a player won’t exactly match the third person ones you see on other player’s characters. This is a temporary thing until I have the resources to get final animations made but for now they should at least match the same mechanics of each spell. For example, a charged Fire Secondary spell will still show the player charging it but the animation itself will look a little different.

As I mentioned above the first class I’ve been focusing on is Fire. Fire is a damage dealing class with a focus on area of effect damage and area denial. This weekend I made great progress getting all of it’s base spells up and running using the new ability system. There is still balancing, tweaking, and a few more minor things to add but in general they are working great and at least for now appear to be bug free.

In a later update I’ll get more in depth on Fire and also introduce the second class but for now please enjoy the GIFs of the spells in action and the first peek into the project! Please keep in mind this is very early stages and things like mana cost, cooldowns, and damage are all subject to change.

-Brent
May 18, 2020

By |2020-06-28T22:54:55+00:00May 18th, 2020|Uncategorized|0 Comments

Magic Shooter Classes and Class Roles

Magic Shooter is a class based magical fantasy shooter. Players will take control over powerful fantasy heroes in a medieval fantasy world. In today’s update I’m going to give some general information on those classes, their roles, and how class design will differ from the original game. Then, in the next few updates I will introduce the classes which will be in the first Alpha test and how they fit within each role as well as their starting spell loadouts!

Grimoire: Manastorm’s class design wasn’t very focused or specific. We simply made classes with spells that we thought would be cool and which would generally fit within traditional MOBA roles. While some had a more defined role such as Life as a healing class or Fire as an Area of Effect damage dealer, others were more open ended and didn’t have a specific role focus.

In Magic Shooter, the main class roles will follow traditional RPG game design patterns with damage dealers (DPS), damage healing/prevention/mitigation (Support), enemy distraction/debuffing/delaying (Disruptor), and finally damage absorption (Tank). Individual class design will also follow more standard design patterns with each class filling one of these roles and each role targeting specific player types.

In addition, within each main role there will also be various sub-roles. For example, not all damage dealers will be alike. Some will be long ranged focused, others short ranged, some will rely on area of effect, and others damage over time. It will be the same with support. Some supporting classes will be primarily about buffing and healing their allies while others will be about disrupting and debuffing the enemy.

For fans of the original game this doesn’t mean that any of the old classes from Grimoire will be replaced, but it does mean that some classes will not have the exact same spell loadouts. There will also be brand new classes and another big class related surprise which I will announce at a later date. As always I will be open to feedback and hope to have a very direct relationship with the community and the game’s design.

-Brent
May 10, 2020

By |2020-05-10T22:14:00+00:00May 10th, 2020|Uncategorized|0 Comments

An update on the sequel to Grimoire: Manastorm.

Sometimes you have to take a tactical sledgehammer to a project in order to make room for something better.

As those who hang out in the Discord are aware, I’ve been working on a sequel to Grimoire: Manastorm. This project is temporarily titled MagicShooter. Progress had been slow because of my internship and now a full time job as a junior designer at Chromatic Games but the recent Corona Virus situation has me working from home which lets me use my previous commuting time to work on the project.

The current MagicShooter iteration is basic but functional with the following features:

  • 3 classes: Fire, Lightning, Earth
  • FFA PVP mode and Map
  • Wave Style Horde Co-op PVE mode and Map
  • Basic Main Menu
  • Join/Host Multiplayer functionality
  • Functional UI: Spell bar and Stat displays
  • Placeholder VFX, Animations, and Sounds.
  • 2 Movement Spells: Teleport and Juxtapose
  • 2 Utility Spells: Spellshield and Stoneskin
  • Damage, Health, Mana, Stamina stats.
  • Player and AI animations
  • Eight AI types: Melee, Bosses, Casters, Archers, etc
  • All fully replicated and working well.

You might ask yourself, “Well what’s the problem then? Just keep going!”.

The problem is that all of the above was setup as I learned Unreal Engine 4 (UE3). Parts of it are rough and need iteration but the biggest problem is that it was done without using the Gameplay Ability System (GAS).

GAS is an extremely powerful system within UE4 that is used by Epic Games on Fortnite and Paragon. It provides a massive library of functions for efficiently creating a game that uses abilities and attributes. It also fully supports replication (Multiplayer) and since it’s something used in Fortnite it will continue to be supported for the foreseeable future. One of the biggest benefits of using it is that once the basics have been set up it makes further iteration much more streamlined.

The Gameplay Ability System is a highly-flexible framework for building abilities and attributes of the type you might find in an RPG or MOBA title. You can build actions or passive abilities for the characters in your games to use, status effects that can build up or wear down various attributes as a result of these actions, implement “cooldown” timers or resource costs to regulate the usage of these actions, change the level of the ability and its effects at each level, activate particle or sound effects, and more. Put simply, this system can help you to design, implement, and efficiently network in-game abilities as simple as jumping or as complex as your favorite character’s ability set in any modern RPG or MOBA title.
https://docs.unrealengine.com/en-US/Gameplay/GameplayAbilitySystem/index.html

Unfortunately, in order to take full advantage of this system many of the above MagicShooter features will need to be replaced with abilities created in GAS. At first, it seemed like I was taking a huge step backwards but after spending the past few months learning as much as possible about GAS and then examining MagicShooter it is clear that it will be more than worth it to spend time converting the project to use it.

All of the class, utility, movement, and additional spells will need to be recreated in GAS but I will be able to use those previously created spells as a base for recreating them in the new system which will make it go much faster. It is a similar situation with the HUD/UI. Some of it will be an easy conversion but other parts will need to be reworked to fit within the new system.

However, almost all of it are systems I can build upon and won’t need to completely remove. The good news is that a lot of what I’ve created can be easily used with the new system. This includes all of the maps, game modes, much of the AI (besides their spells/skills), animations, and VFX/SFX.

This weekend represented my first major time spent with the conversion and it has been a huge success. I was able to re-create six spells, update basics on the HUD, successfully experimented with playing sounds and visual effects, set up the basic attribute system, and a dozen other smaller details. I’ve got a good understanding of the system and that understanding is building more every day.

In addition to all of the above I also have a large part of the sequel’s game design outlined and in many cases design docs written out. My overall goal with this project is to bring back the exciting and challenging gameplay from Grimoire: Manastorm but update it with quality of life features found in modern games. I also want to add more classes and update some of the older classes to better fit roles. In addition I have plans for a much more extensive single player and co-op part of the game which will build on the lore from the original game. As the project progresses further I will be doing more updates and releasing more information about it as well as Alpha sign ups!

Thanks for reading, this is the first of many updates. My goal is to do one per weekend on my progress with the project. I’m also going to explore writing articles on game design, programming, UE4 tutorials, and all aspects of game design. I want to use this development process to not only build my own knowledge but also help others who might be interested in creating their own game or just learning more about how games are made.

-Brent
May 5th 2020

 

By |2020-05-04T00:03:09+00:00May 4th, 2020|Uncategorized|0 Comments

A new beginning.

First post! I am redoing this domain and my portfolio so that it is more up to date and am also adding a blog section where I will post about my game development and any other topics that seem interesting. This site is mostly for professional reasons but also and for any family, friends, or fans of Grimoire that want to see what I am up to.

My portfolio will have my old project, Grimoire: Manastorm but since I am currently in school as a Programming and Analysis major as well as also working on a sequel to Grimoire: Manastorm (Currently titled Magic Shooter) I will have sections for them as well.

The basic website outline will be as follows.

The main page will have my blog posts, a small introduction, a header with links to the other pages, and anything else that seems worth putting up there like a twitter feed.

Other pages will include About, Contact, Resume, and finally Portfolio.

Portfolio will have a basic introduction lander page and then be broken down into three sub-pages: Grimoire: Manastorm, Programming, and Unreal Engine 4.

I will then add any other pages as necessary if I decide to start any other projects.

That’s it for now. Thanks for reading.

Brent

 

By |2019-02-13T01:38:07+00:00February 12th, 2019|Uncategorized|0 Comments