selective-focus-photography-cement-2219024

Project Navarre Devlog #1 – The Basics

Hello, game devs!

Today I’ll be talking about the basics I’ve implemented so far to Project Navarre. The Camera, Movement, and a few things I’ve been tinkering with.

Cameras!

The first order of business is the camera. For an ARPG we have all sorts of option. The traditional isometric view for a Diablo-Like, first-person view like Borderlands, or third-person like Dark Souls.

For our purposes third-person is the way to go. The plan for our combat is to allow players to use a mix of melee, ranged, and ability-based combat. This view allows for smooth transitions between these combat types, allow for a nice middle ground of situational awareness between first-person and isometric views.

This situational awareness and smooth transitions between combat types emphasize the pillar of player skill. Speaking of pillars, what’s the point of character customization if you can’t see them? That’s one of my biggest problems with titles like Destiny. You get to make these awesome looking characters and spend the bulk of your time staring at their forearms!

We’ll be adjusting this in the future to get the best position and distance from the character.

Controllers!

Second on our merry train of shenanigans is the decision of a player controller.

Previously I’ve only ever made the player controller be built directly into the character. So I did some research to see if this was really the best practice. Short version? If there are a lot things handled by your character it is a better idea to allow a Player Controller to handle user inputs. This avoids any delays that might occur if a player character is on the heavy side of things, which may end up occurring, given the nature of our game.

But that wasn’t the only reason for this decision! It turns out this is common practice for the purposes of making a game where the player can control different kinds of characters and hop in and out of vehicles. For our first release this will be great with the three initial characters. For future releases, vehicles are supported by the table tops rules and I am excited to make them work.

Not going to lie though. Flying vehicles and making AI for them is a bit intimidating at this point but we’ll cross that bridge when we get to it!

Movement!

Last and least exciting of all is movement!

This was primarily ensuring that the controller actually communicated with the player character. All this worked fine and dandy without issues so I was able to move on to tinkering with things that are obviously going to need some refinement.

The first was sprinting. Simple stuff but I hadn’t built a similar system on blueprints before. C#, C++? Easy peasy. Blueprints? I had some things to figure out, mainly the stamina consumption. At the moment I’m using a convoluted mess of wires that is just not clean at all. Part of the problem is that functions don’t seem to support any nodes dealing with time. These clear and invalidate timer by handles along with set timer by event nodes are not the most elegant solution.

So I will be polishing this later. The good news is that the basics of sprinting are in working order for a prototype and I can expand upon them for things like sliding to a stop when crouching at a sprint.

My second experiment came from a conversation over the tabletop’s expansion, Broken Strand. Turns out parkour is going to be added, allowing players to run on walls and the like. So naturally I started experimenting with how to do implement this!

The original implementation involved a collision box generating an overlap event with surfaces that were tagged as “WallRun” Simple enough, works for running along a wall but not up a wall. At this point I started thinking about a more dynamic system. That involved a lot more math than I thought it would to prevent things from going all kinds of wrong but I started using line traces from this with my implementation.

So when I take another crack at this I think I will make a system that uses physics materials to enable wall running with the help of line traces. This way the character knows if the wall is on their left, right, or right in front of them. With the current system this works on literally any surface, other characters included, so the inclusion of physics materials will help a ton, and removing all of that complicated math will give us as designers more control over where the player can wall-run and prevent hilarious things like running up an enemy mesh.

Alright! Next on my to do list is implementing the player progression system. Experience points, ranks in attributes, skills, etc, purchasing or removing ranks, getting the stats to preview their affects, adding and removing experience and so on.

But that’ll be my next post! I’ll catch you all again next time.

male-constructor-drawing-draft-on-paper-roll-3760529-2

Project Navarre Devlog #0 – Making an ARPG from a TTG

Hello, game devs!

Today I’ll be talking about converting a Tabletop Game, in this case The Navarro Knight, into an ARPG. So where do we start?

Design Pillars

When I was in UCF, studying for my Game Design degree we learned about High Concepts. Basically a guiding principle or set of principles that guide the development of whatever you’re making from Games to Books and even Movies.The idea is a chosen action causes a specific emotional response. These were always a little too artsy for my liking but they did serve as a bit of a rail to keep design on track for a project.

Prior to that I was operating entirely under the simple rule of: Make a good game… TL;DR: Anything goes.

Later on, when diving into the rare design documents of other studios that were publicly available or other design philosophies I discovered Design Pillars. Basically elements of design that you as a designer or a team believe the game cannot do without. At least that’s my understanding. Like a high concept they serve as guidelines for your design without the strange artsy wordings required by high concepts.

So we went with these!

Player Skill Above All – Whether the player fully specializes their character into a role through stats and gear or simply runs through the game with a bare bones character, player skill is the ultimate deciding factor in combat.

Customization – Stats, Disciplines, Abilities, Equipment, Aesthetics. Players are free to create their character as they would in the Table Top. We, to the best of our abilities, will do everything within our power to make this a reality.

Put the Roleplay back in ARPG – No two characters are the same, each one with ample options to progress through the game. Sneak through levels, fight your way through, talk your way through life’s problems or any other number of possible unorthodox solutions scattered through out the world.

Respect Source Material – TNK is a tabletop roleplaying game, and while there are challenges to translating that to a digital format we will do the best we can to stay faithful to the source material.

I’m definitely more worried about some of these than others. Namely Customization and Roleplay ones.

Crafting your character from a statistics and equipment side of things is easy enough to figure out. it’s the aesthetic part that I have little to no experience with. Ideally we want this to be as modular as possible so a player wearing a specific set of armor can swap all manner of pieces to get the look they want. The same for weapons and ideally the characters themselves. But I’ve never done character creation tools either so that’ll be fun as well!

Roleplay on the other hand will involve a lot of set up from Narrative to Level design just go offer up enough options for players to handle levels  in their own way. But to make this even remotely reasonable to implement we must first create the tools to help that task.

How're we translating this madness?

The easiest way to do have make this game would honestly be to make a CRPG with turn based combat. The game is basically designed just get to implementing. But we’re not doing that!

The first big design challenge to tackle was the different Attributes, Skills, and other factors that go into character creation and progression. Not only because these are crucial to player characters but they are crucial to creating the enemies and bosses players will encounter as they run off the same character sheet. This involved a lot of reworking because the focus of an ARPG is in the Action and we can’t be rolling die every single attack.

One example of this is players ranking up their agility. In tabletop they gain one additional die roll to all skills based in agility, including ranged weapon checks. In the ARPG this increase makes the character more accurate with ranged weapons, effectively replicating the effect of the tabletop while still allowing the player to rely on their skill to connect attacks with their enemy.

We did similar things across the board with every facet of the tabletop that I now realize would each deserve their own blog post so I’m going to quit while I’m ahead on this one!

Project Scope

So how big is this game going to be? Pretty damn big by the end of it if I’m being completely honest but we can’t just go there. We’re a tiny team of five people with myself doing all of the code at the moment. Instead we’re going to be releasing in stages.

Initial release will be a proof of concept. Basically a highly polished prototype for the core systems of the game. This will include progression, combat, some equipment and dialogue. We’re aiming for three different characters, each with their own playstyle to give players an idea of what they could do when creating their own character.

The second will have full blown character creation, a larger story with branching paths and side quests. We plan to create levels like Deus Ex Mankind Divided where they are large but separate areas with plenty of options for players. This should be the core of the game completely finished.

The third release involves diving into something I have no experience coding for. Multiplayer! I’ve always wanted to dive into but never had a chance to, so it should be a fun mess discovering how to take the gameplay from past release and make it work with 3 additional players through the internet. Hopefully we have a fair bit of traction by this point so we can either ask for help on how to develop for multiplayer or pick up some additional help to tackle that challenge.

So I’ll try to keep this blog updated regularly with any new developments for Project Navarre. Give more details on design decisions, mechanics, how coding has been going. I’m bound to pick up more tricks and realize that some things I think are obvious might not be so obvious to other devs so I’ll be making posts about that too.

Until next time! Have a nice day.

c82fb34e-2bf0-4140-91e7-89395736258d

The Navarro Knight

Hello, game devs!

Today I’ll be talking about The Navarro Knight, a tabletop RPG I’m helping develop, test, polish, and slowly chipping away at translating into an ARPG on the Unreal Engine. The game’s so fun it’s honestly kinda spoiled me for other tabletop games because I enjoy the systems and setting so much. So! Let’s get right to it.

Why make a new tabletop?

Right? It’s a huge undertaking! So much writing to be done on the rules alone, time spent formatting things properly, getting rid of passive language, and then creating a whole universe to go with it!

But honestly that’s all part of the fun.

In other tabletop systems we often found ourselves very limited in what sort of characters we could make. A character could be role played any which way you wanted, provided alignment and all that made sense, but a fighter was generally going to be a limited variety of fighters and so on for other classes. There’s not much flexibility in the way an individual could develop their own set of skills with which to resolve problems. DnD, Pathfinder, and most other tabletops pretty much have: At this rank your character gets this. Maybe a bonus feat or attribute point to differentiate yourself.

Then there were all sorts of issues with systems that didn’t quite make sense to us so we ended up homebrewing rules for our custom games. This escalated from simple tweaks to classes, and feats to borderline full blown reworkings of the system to work with the setting of our play. Why would we do that? Because it was very easy for characters to get into a situation where there was no chance for them to do anything besides run.

And don’t even get me started on turn economy. Half actions, bonus actions, full actions, swift actions, move actions. When I started playing tabletop I really wanted to play so I didn’t matter to me. When I started trying to help people learn the games I realized how much of a pain all of this was to keep track of and how it even chased players away because of what a tangled mess it could be.

Mind you this was all happening to us independently of one another. By the time I ran into The Navarro Knight I was already up to my eyeballs in developing a setting for a series of novels I’m working on while building up a tabletop system on the side. When we met I found we had so many of the same issues and had so much similar thinking on how to fix them that it didn’t take much convincing to get me to jump onboard The Navarro Knight.

Fixing the problems

At the core of everything we’ve done with The Navarro Knight is player agency. This means we want to give the player as many options as possible to play the way they want to. The trick is to do so while keeping things balanced, so I can understand why others would lock things down to classes. It is easier to define and fine tune all the ways a character can go down a set path rather than letting them do what they want.

So that’s where we began: Characters!

There are no classes in The Navarro Knight. This allows players to essentially create any sort of play style they want for their character. In order to do so we use a point buy system using experience points. Every rank in an attribute, skill, discipline, ability or mastery costs a set number of experience points. So if a player feel that squishy healer of theirs needs to die less, they can invest in endurance, their defense skill, or pick up some disciplines (basically feats) to make up for those weaknesses. There are also different backgrounds to assist players in figuring out how to roleplay their character that come with their own benefits and drawbacks and for those that want to play something other than human there are different racial alternatives they can take to make their own race.

And oh boy are players they going to need every edge they can get.

NPC’s, from your average city dweller to bosses use this same system and a character specialized into a roll can be a formidable foe indeed.  During one of our testing sessions we ran into monsters called Grinning Reapers that were specialized into melee. Now melee weapons look weaker than guns in isolation from raw damage to turn economy but coupled with the Strength damage bonus, abilities and disciplines… Well our party almost wiped. Our insane doctor barely clung to life, our spy that cannot sneak to save her life was downed multiple times (Found out regeneration was kinda broken then) and my tank of a character was living on the edge (Mostly because I forgot to add the strength bonus to melee. Yay me!).

Of course this all depends on how the dice fall! Which moves us along to the second problem: Impossible situations.

In a current DnD campaign I have a character that has something obscene like 23-25 Armor Class. That means an attacking character has to either bypass that with spells, have a ton of bonuses, or land a critical to even touch my character. Enemies can have similar set ups which makes them just kinda laugh at everyone. In Navarro Knight there is always a chance.

We developed a competing die system where the actor must roll against their target, if the action can be opposed at all. For example a character with 3 agility and 2 ranged skill roll 5 die to make an attack (this is with no bonuses from items or disciplines). They attack a character with 5 endurance and defense skill which means they roll 10 defensive die. The attacker must match or surpass the defensive roll in order to land their attack, and every excess success makes that attack more effective. In this way a character who is clearly out classed still has a chance and it makes for some tense and hilarious moments.

My favorite example of this so far was when we had our first boss fight. This madman with a comically oversized chin that would make Gaston blush was teleporting around our party, casting spells that would nuke our zones and destroy our cover. The plan was for him to run away in the fight and join another boss for a larger encounter. Problem was his die rolls were hilariously bad and ended up misfiring on himself with those spells. Between that and concentrated fire, we managed to make the following fight much easier than it otherwise would have been. But those die rolls from this boss were scary. Between 7 to 10 on average versus our 5 to 6.

The last big problem we had to solve was turn economy. This was actually the easiest one to solve on paper but the one that required the most fine tuning. We went with Action Points.

So rather than figuring out which of the million and a half different kinds of actions players still have available, they can just look at their character sheet and see how much AP they can spend that turn. Quick, simple, painless. Want to rush across 3 zones? That cost 2 AP a turn. Beat someone with your sword? 5 AP! Want more AP? Invest in agility or disciplines! This system is infinitely easier to understand than the DnD and Pathfinder ones I’ve played with and makes combat flow a lot faster as well. Best of all, whenever I run a quick tissue test game, players pick it up right away.

Wrapping things up!

I’m 100% certain that there are a lot more systems that I could talk about in comparison to other tabletop RPGs but those were the big three that got us working on The Navarro Knight. Didn’t even touch the setting but I think I’ve made this too big of a post already. Might talk about that next time in a much shorter post actually.

If you’d like to check out the game head on over to Cyberspine Publishing’s Subscribe Star and give it a look! Maybe run a few games and see if you enjoy it like I have been. But if you just want to watch our campaign so far, you can check it out here.

Until next time! Have a nice day.

photo-of-person-typing-on-computer-keyboard-735911

A long-overdue return.

Hello, game devs!

This year has been off to an interesting start, hasn’t it? With all these crazy world events taking place and disrupting our normal lives. I’m no exception and it’s been keeping me away from doing a lot of the work I’ve been wanting to do. So I figured I’d give an update on what’s been going on and what I’ve been up to.

As of the end of last year, I’ve had some family emergencies come up which have forced me to focus more on my day job. Finances were tight and that involved putting a lot of extra time on the job. I work 10 hour days at a warehouse and some of those weeks I was pulling in 60. The job definitely didn’t seem hard on paper but after doing it for a while it’s a lot more physical than I thought and with so little time to rest it definitely wasn’t encouraging me to do much.

When that started clearing up around January I first started hearing about the coronavirus. The news was downplaying it, as we all probably know by now, but I decided to take some precautions regardless. Now I’ve been working for a while as an essential employee and getting to see all the fun mess that’s come of this outbreak. Checkpoints at work, thermal cameras, everyone wearing masks, disinfectant being used regularly, and people generally having a hard time keeping away from one another to try and combat the spread of this thing. It has definitely been interesting seeing how society has reacted to this but that’s a ramble for another time.

Getting generally fed up with not putting any work into my projects I decided to take my own advice and carve out blocks of time to work on them throughout the week. It’s been slow going but progress is progress and I’ll take what I can at the moment.

On the game development front, I’ve got three projects I’m working on. Insane, I know, especially when I’m tight for time but the beauty to the madness is that they’re all related. A friend of mine started an indie studio to develop a tabletop RPG called The Navarro Knight (TNK) which is currently available at his subscribe star for anyone to play for free. It’s a very free form system with competitive die rolls and honestly the favorite tabletop system I’ve played with because it is so free form. The second is Gargant which, I normally wouldn’t consider a second project but it is a pretty hefty expansion of TNK’s base system so I believe it counts. This focuses more on vehicular combat. Giant, stompy robot vehicular combat. I’ve been working with my friend there to help refine, balance, and design new systems as well as helping with the universe setting. They’ve been a great deal of fun to work on and play because they focus on giving the player as much agency as possible. But I will ramble on the specifics of that later. We play these games every Saturday on our friend Aizel Hawk’s twitch around 9PM EST and get to see just how well things go or how hilariously broken they can get.

The third project in this madness is to try and bring that tabletop game into a digital form. Now the sane, reasonable thing to do with such a system is to create a turn-based RPG. Just copy-paste the mechanics from the rule book and be done with it. Being much more of an action-oriented player and thought it’d be fun to make an ARPG out of it and add a lot of the role-playing that the genre seems to leave out. It’s a very early prototype right now but it’s progressing well. The basics are already in. It’s just a matter of starting to develop combat and AI then moving on to level design.

Finally, I’ve got a novel I’ve been working on for a few years. It’s been through an editor twice and on its sixth and final draft. I’m just cleaning it up at this point before I decide to go after a publisher or self-publishing. You’d be amazed how many little mistakes a  manuscript like that can have and I’d like to give this the best chance it’s got. End of the month or early next month I’ll get into the publishing side of this challenge so that’ll be interesting to actually do instead of study up on.

But yeah! That’s where I’ve been. Format’s changed compared to my prior posts. It’s still a lot of information but I’m generally trying to be much more compact and concise about everything I post here from now on.

Next time I’ll talk more about The Navarro Knight and that beautiful game we’re crafting over there.

Until then, have a nice day.

 

pexels-photo-133579

Never skip playtesting.

Greetings game devs!

Sorry about the long delay between posts but I have been crazy busy between work, side projects, mentoring people, and a few interesting opportunities that have come up. Opportunities to playtest different games! Games I can’t talk about because of NDA’s but it was interesting to see how different teams, whether indie or AAA.

Why playtest?

So you’re making a game! Spent days, weeks, maybe even months creating mechanics, control schemes, levels, fine tuning balance and crafting the world’s story. Perhaps you’ve even managed to play through everything you and your team have created without finding a single bug! Why would you ever waste valuable dev time on playtests?

That’s how I used to think. Then I realized I had tunnel vision and missed about ten different fires.

It happens to everyone, especially when working creative projects. That’s why it’s important to bring in a fresh pair of eyes every so often to catch what you haven’t. These fresh eyes have no idea how your game works, the controls, or what bugs to avoid, and they will stumble blindly through your game and figure things out for themselves, or with some minor prompting from the test runner if the tutorial isn’t implemented.

As these testers play your game it will become clear what works and what doesn’t. A system that seems entirely simple and intuitive to you as a designer or a member of the dev team may as well be Greek to your testers. Controls that looked good on paper and dev tests make players want to stop playing, and maybe your well thought out story is lacking in characters or tension compared to the gameplay.

Playtesting will reveal all of this and so much more. Whether you test with friends and family, random strangers at an event, or your target audience.

Reaver was the game where I found out just how important playtesting was. We thought our control scheme was on point, our combat system simple and intuitive, and we had miraculously created a bug free game. This illusion was destroyed upon playtesting.

It turned out that players couldn’t aim while using their jetpack like we wanted them to do. We had to break convention and move the jump button to a trigger. We wanted to push players towards a more aggressive playstyle where they healed through finisher moves on stunned enemies. Turns out players had no idea they could stun or finish enemies. And boy did we ever find a ton of bugs.

It was an enlightening and humbling experience that ultimately lead to a much better final product.

How would you set up a playtest?

So now you want to set up a playtest. Where do you start?

Like with anything else, make a plan. Decide what the purpose of this playtest is. What are you looking for feedback on right this moment? Controls, Combat, Narrative? A specific level or system? What questions do you have for your testers? Write those questions down and make sure they are focused.  You don’t want to waste your time and your testers certainly don’t want theirs wasted.

I have personally found that between five and ten is a good number when going out to events when grabbing random people. It’s quick and painless for both you and your testers once the playing part is done. If you’re working as part of a bigger team working with a more dedicated playtest session, then you can ask more questions depending on the playtest group’s size. Usually I find these take around an hour or so of discussion.

Where would you perform a playtest?

That depends! If you’re in a big studio or budget you probably have your own place to host these things! If you’re an indie dev, that’s going to be up to you to figure out. Look around your community, there might be indie dev events you had no idea about. People love to check out what everyone’s working on and help each other out. Just make sure to talk to the organizers first. Put up some fliers, or pick up some ads online and invite people to the library, rent out a place, or invite them to your home if you like. And if you really want to catch people’s attention, strap a laptop to your chest with a controller and see how many people you can get.

While you’re at it, if you have cards, fliers, or anything you can give out to people interested in keeping touch with your team and project, these places are great for handing those out.

One last thing!

If you have a particularly large playtest or you are aware that you have potential show stopper bugs, make sure to implement a debug menu. Something that will let you skip to different points in the game if something goes horribly wrong. Can’t stress enough how many times I’ve seen playtests be saved by this.

Take notes!

Probably the most important thing to do during the playtest rather than afterwards when you’re asking players questions. This is why I recommend a pair of people run these. One to help out the playtesters whenever needed, the other to watch and write things down.

This way you can write down if players had trouble with the controls when trying to do X, they struggled through this part of the game because Y, or if they just really didn’t like your characters for any reasons they may let slip out.

Now, in the big studio playtesting sessions I’ve been to, they have recordings for that. Camera on your face, audio recordings, recordings of your play session and every button you pressed, nudged and accidentally hit in a panic. It was kind of creepy the first time I went to one of these but I understand why they do all of that, especially in a room with ten different testers and only two people to run the show. This way they have an idea of how the testers feel throughout the session and then compare that with their questions later on.

One playtest I was part of recently involved a level where the only boss in the entire game had a particularly obnoxious difficulty curve that was inconsistent with the rest of the game. That was pretty easy to see on my body language for anyone that watched the recording. Turns out, after talking with my fellow playtesters, I wasn’t the only one who struggled with that boss. Only two other testers made it through and it took considerably more effort than the devs wanted. A concern they had but weren’t sure about until they ran this playtest.

Create an action plan.

So now you’ve run your test, have your notes written up and survey’s filled out. What’s the next step?

Break down that information into actionable data with which to move forward. Are your controls and systems working? Is anything difficult to understand, clunky, or need any kind of fixing? Write down the steps that you and your dev team need to take in order to make the necessary corrections to your project. Break those down into tickets and assign them accordingly to your team.

But not every single piece of feedback you get from playtesters will be good information.

Sometimes you will have a game that focuses on tactical decision making with branching paths and a tester will say they don’t think the game needs as many choices as it has. Is this feedback valid when the point of your game is to give players the means to tackle problems as they see fit? Outliers like this and feedback that ultimately goes against your high-concept or design pillars aren’t really useful information.

But what if it’s multiple people bringing up this same issue and these testers are also part of the audience you’re aiming for? Then there might be a problem that needs more looking into. Conveyance of these choices might not be strong enough. Risk vs reward might need balancing. Maybe the way the player gains access to these choices needs more looking into.

Take the time to break down this feedback into something you and your team can work with.

Thank you so much for reading another of my posts!
 
Sorry it took so long and that it wasn’t about Death Stranding or Jedi Knight: Fallen order like I planned originally. It has been a hectic last few weeks and I am reconsidering this whole weekly blog post business because of it. I’ll definitely keep posting as often as I can though.

Until next time! Have a nice day.
pexels-photo-1714204

Time management. It’s important.

Greetings game devs!

Recently I’ve been reminded about the importance of time management. Long story short: Some family emergencies came up and now I’m working as many hours as I can to help keep a roof over our heads. Sometimes this means 20 hour days. Often times this means I’m lucky to have an hour or two to spare for myself before I have to crash and get ready for the next day.

Because of this I’ve become much better at managing my time, even if this has hit my blog post schedule and made it more varied.

Start with a goal.

Throughout our days we have all sorts of responsibilities to take care of. Work, chores, kids, whatever else life throws our way. That’s why it’s important to figure out what your goal is.

In my case I have three things I’m working to accomplish:

  1. Finish editing my novel to get it out there and published.
  2. Find better, more stable work, preferably in the games industry.
  3. Work on a small project to maintain and improve my skills.

Each of these goals have a lot of tasks associated with them and can get pretty time consuming, with the limited time I currently have to spare. So how do I keep track of all these things?

Make a plan.

As a game designer I can’t stress enough how important it is to plan things out. Whether it be the high concept or pillars you build your game around, or how you’re going to spend precious resources such as time, it helps to have an idea of where you’re going.

So get your hands on a day planner or some project management software. The reason for this is to break down and keep track of the tasks you need to do to complete your goal.

I hear a lot of people say “aim for the moon” and see so many people crushed when they don’t even get off the ground. The problem is they focused on the end goal and not the steps to get there. So once you have your goal in mind break that down to smaller, manageable parts. Personally I break them down to smaller components with their own task lists which help push me to the larger goal.

This works great with project management software such as Trello, Jira, though I prefer to use HackNPlan even with its free feature set. I create a board for my projects, set up tickets which let me know what needs doing, and I can jot down when I plan to start on a task and when I expect it to be finished. It helps me keep track of my own progress and what still needs doing with any of my projects and it is an invaluable tool.

Oh! And if you plan on working with a group, this stuff helps with accountability, not just for yourself but for your team. I can’t stress enough how many headaches were avoided by using something like HackNPlan so people knew what they were supposed to be doing, when it was due by, and what tasks they had to do afterwards.

Make time for your goal.

Whatever you’re working towards in life, you’re going to have to make time for it. Write a book, make a game, pick up new skills, lose weight, doesn’t matter. These things need focused, dedicated time to get anywhere. Nothing’s going to get done if you don’t do it after all.

This is something I struggle a bit with due to my erratic schedule these days.

Sometimes I’m lucky and I know I’ll have a few hours free in the day, barring some emergency. So I lock down that time, nothing’s going to keep me away from whatever task needs doing towards one of my goals. Friends can call, interesting videos or series can come up but I’ve gotten pretty good about pushing those things away. Learning how to say “no” is pretty important in this regard.

Other times, after everything’s done for the day, I have some spare time and I just have to take inventory of how exhausted I am for the day.  If I’m not dead tired then I’ll pick one of the quick tasks to knock out. Usually this means I pump out a few job applications, write down ideas or design documents for my project, or I see how far I can get with edits. Sometimes though, you just gotta take a break. Watch a movie, play a game, read a book, whatever helps you recover so the next day you can start knocking things out.

Keep yourself accountable.

This one’s the hard part. When you’re working for someone else, it’s easy to know what you have to do and do it. If you don’t do your tasks, you’re going to lose your job, if it’s for school your grades will slip. There are consequences.

When you’re doing something for yourself, no one can hold you accountable but yourself.

Yes, there are consequences. You don’t achieve your dreams, you don’t get that new job, or you just don’t get to be as swol as you’d like. I’ve found that I don’t feel these things right away or as powerfully as I do further down the line when I suddenly become obsessed with my lack of progress towards something.

So how can you keep yourself accountable?

Keeping track of your progress is a great way with project management software. I like being able to look back and see just how much I’ve done towards my goal and helps keep me going even when things look pretty bleak. A blog is a good thing to use in tandem with this, especially when you have a problem. Write a quick post about what the problem you had was and how you overcame it. If you didn’t overcome it you can use that same post to keep details of what the problem was so that you can come back to it later or ask for help.

Another good way to keep yourself accountable is to talk to people about your work. Friends, family, random people on the internet. This lets other people know what your goal is, what you’re trying to do and chances are they’ll poke and prod you about it as time goes on, making sure that you’re actually doing what you said you would.

Of course there are also distractions to be dealt with. Part of the problem these days is that distraction is just sitting at our fingertips. Pop up some social media, hop on youtube and watch some videos, or anything else to distract from your goals. The problem is, most of us don’t even realize how much time we waste doing this stuff. It seems like a few minutes because it’s fun, but in reality it’s often hours of precious time.

For this I recommend getting a productivity tracker. There are a million of these and I still haven’t quite found one I’m too fond of yet but they’ll help you see just how productive you are. They can track your time on task, whether that be working on a word or google doc, or tinkering with things in Unreal or Maya. They’ll also track how much time you’re spending goofing off so you can see how much time you’re wasting when you should be working towards your goals. Some of these programs even gamify productivity if you’re into that sort of thing.

There it is! Another blog post. I swear i was planning to keep these shorter than I have been but I guess I just have a lot to say.

But in short:

  • Start with a goal.
  • Make a plan.
  • Make time for your goal.
  • Keep yourself accountable.

With these things in mind you’ll find managing your time to be much easier than it was in the past. There will still be challenges, like wrestling with all the fun distractions available to us, but with a bit of effort you’ll start making serious progress towards your goals. Just take it one step at a time.

For my next post, I honestly haven’t given it much thought with how crazy things have been lately. Maybe I’ll ramble about Death Stranding or Jedi Knight: Fallen Order. Both games I’ve enjoyed a fair bit recently and have a lot to go into and pick apart.

Until then! Have a nice day.

pexels-photo-417458

Gamedev Toolkit: Line Trace

Greetings game devs! Today we’ll be talking about Line Traces.

Why line traces? Because they’re an incredibly useful tool for all manner of things but most importantly, I keep running into devs at game jams and students I mentor that don’t even know this tool exists. So I figured It’d be a good post to write up and throw at people.

Mind you I am primarily going to be talking from an Unreal Engine perspective but it works the same throughout.

Line Trace? What's that?

A good way of describing a line trace would be a laser pointer. You point it in a direction and it’ll fire off to whatever reach it’s configured for. As the trace goes out it will report back on what it hit, where it hit, what kind of thing it is, and much more information.

But just what could you use this information for? Why is a line trace an useful tool? I’ll start with how I learned about line traces being a thing, a problem that I keep seeing people having. Shooters! Specifically Third-Person-Shooters.
 
 I was working on Death By Oil, one of the projects here on my portfolio, and that was a TPS where players control a big stompy mech. The problem we ran into was getting the bullets to go from the barrel of our mech’s guns to where the player was pointed at. We tried all sorts of tricks involving the placement of the camera and where the bullets spawned from. Originally, rounds spawned from the barrel of the gun but as you can imagine they never hit the target at range without some serious compensation from the player. Then we tried shooting from the center of the camera, but that didn’t look nearly as awesome as watching the tracers leave the guns.
 
Line tracing was the answer to our problems here and it was so simple to use too! We merely fired off the trace from the center of the camera to the max range of our weapons. If it hits something it sends back the hit location, if it didn’t hit anything it sent back where the trace ended, and then the projectile is fired from the barrel of the gun. This way the player would be confident in their rounds going where they wanted while maintaining the effect of munitions leaving the barrel of their guns and made for an infinitely better user experience than our previous implementations.

How complicated is this to set up?

Not very!

On the basic end of things you can fire off a line trace from the camera like we did on DbO or you can spawn it from a component on a character. In UE4 I usually use an arrow component so I have a good idea as to where the line will go when it’s fired.  You can also have it fire off from other attachments on the character like a gun they picked up.

Of course, then you have to choose what kind of line trace this is. Are you looking for things by channel, object, component, etc. This is basically just to decide what to include or exclude from hit results. For example you can set a line trace to ignore something like glass. It’s a physical object sure, but the target you’re aiming for is behind it, so the line trace will pass through the glass, hit the target behind it and send back the information required by your code.

Line Trace is a really simple tool to use!

What else could you use line traces for?

All sorts of things actually!

Need to pick up an item a player’s looking at? A line trace with a short range is a quick and simple solution. Want your AI to hunt for the player but have their vision blocked by bushes they could otherwise run or shoot through? Line trace works there as well.

An use I was tinkering with about a week or so ago was wall jumping. I was trying to replicate the Mega Man wall jump for giggles and originally I was planning to use a secondary collider around the player character for this purpose. The problem was it worked from every direction where Mega Man’s jump only works when he is facing a wall. So I fired off a line trace from the character’s feet and boom! Problem solved.

Another use could even be for wall running. Need to check if your character is running along a wall on their left or right? Fire off a line trace from either side, whichever of the two hits the wall sends back true and then boom, play the animation for running on the left or right side of the character. Easy.

What about something more complicated? Well this simple tool is quite flexible so the limit is entirely up to your imagination and technical skill.

For example you could use a line trace to spawn another line trace that spawns another line trace, etc. To simulate a beam bouncing from one reflexive surface to another. You could have an ability that rains fire from above, but you don’t want that ability to say, spawn through the ceiling and be absolutely ineffective. A line trace can be used to check for low ceilings and be used to adjust the spawn point of this ability.

I could keep going with more examples of line tracing and how useful it can be, like for debugging, melee attacks and the like, but I believe you get the idea. It’s a great tool to have on your tool belt as a game dev for all manner of applications and one that will spare you many a head ache.
 
That’s it for today! I’ll catch you next week where I’ll talk about time management. It’s an important skill for everyone, especially when life throws curve balls at your plans.
 
See you then!
remnantdodge

Examples of dodging in other games

Greetings game devs! Today we’ll be looking at a few different games and talking about what works and doesn’t work with their dodge implementation. For this I have chosen an example of each of dodged mentioned in the previous article.

So let’s get started!

Displacement - Earth Defense Force 5

EDF 5 is a third-person-shooter with chaotic combat to say the least. Players choose one of four classes to face off against hundreds of giant bugs, aliens, robots and other sci-fi B movie baddies. Each of the four classes comes with its own weapon selection, mechanics and the like but for the purposes of this post, we’ll be focusing on their dodge mechanics.

While each classes dodge performs differently, they all use displacement: Moving out of the way of an enemy attack quickly. Because of this the players experience with how good dodging is will vary from class to class.

Fencers, for example, can use “side boosters” to skate along the ground quickly. The speed allows them to clear a good bit of terrain and dodge most attacks. If a player builds out their fencer properly, they can side boost multiple times before their cooldown comes into play. In my opinion, this makes them the best at dodging in the game. There is a caveat though! Fencers can’t dodge if they don’t have a weapon equipped with side boosters so players that choose this class might not even have a dodge.

Wing divers, on the other hand, have a quick dash but their idea is to be in the air and avoid getting hit to begin with. Then there are the humble Ranger and Air Raider who simply dodge roll.

While I love this game to death, dodging leaves much to be desired. Especially if you’re stuck with the dodge roll.

Enemies, for the most part, will track players movements with 100% accuracy through their dodge. This is especially noticeable with the “humanoid” frog monsters and alien infantry that show up later in the game packing guns. Until their ordinance is in the air there really isn’t much point in dodging and if one of those attacks so happens to ragdoll the player at a bad time they’re pretty much done. But even if that’s not the case, players taking damage are slowed so a high enough rate of fire can just about root a player in place.

So how can we fix this?

Since the biggest problem seems to be ranged enemies perfect tracking I would introduce some form of Interference whenever the player dodges. This way the enemy isn’t just shooting the player throughout their dodge.

What about adding I-Frames? They could work! But they could also throw off balance pretty badly. For example, if a player dodge rolled through an explosion they could avoid all the damage and ragdoll effects that come with it. This applies to other AoE weapons as well where dodging through the affected area wouldn’t make much sense. A workaround for this would be to add rules that make AoE attacks ignore  I-Frames.

Invulnerability Frames - Remnant From The Ashes

Remnant From The Ashes is a Souls like action RPG where players travel across worlds, maybe dimensions, and fight off the Root. Basically really angry trees.

Dodging is consistent throughout the game with the only real variation depends the players current equipment weight. The heavier a player is the slower their dodge animations and the less distance they seem to cover.

According to the developers the numbers are specifically:

Directional Dodge: 9

Back Dash: 8

Combat Slide: 7

And a player can add 3 more frames with a certain ring.

When a player initiates a dodge they are locked into the direction they were going for the duration. For about 9 frames of the animation they are completely invulnerable to damage. If they dodge too soon or too late they will take damage. This is important because a large portion of the game’s combat, even with its guns, takes place in melee. This way players can weave in between attacks and retaliate. This also helps players feel pretty good about themselves when they dodge attacks because the dodge window is pretty tight.

This also applies to enemies tracking player movement during attacks. The tells enemies have when they’re about to attack are pretty solid so once an enemy moves from winding up to initiating their attack they won’t track the players movement much if at all.

But how does weight affect I-Frames?

Weight doesn’t seem to affect the number of frames at all, it’s just the speed of the animations and distance. A lightly armored player will finish their dodge faster and cover more ground than a heavily armored player, but of course they will be punished more severely for taking a hit.

That being said! Remnant did something pretty cool with a super heavy armor they recently added. Rather than making players “fat roll” as they would in Dark Souls, they let players torpedo themselves at their enemies. This actually deals a good chunk of damage with a pretty heavy stagger and it is hilarious. Just be careful about timing, this animation is the slowest to recover from.

Does remnant do anything wrong with their dodge?

Only one thing and it’s gotten me killed when I wasn’t aware of it. The dodge button is the same button used to vault over cover. Vaulting over cover takes priority over dodging

There are ways to fix this, the simplest being just to move the input to something else. But that involves working around the design constraint of the inputs available to the average controller. Another way would be to implement a check where the player has to either be stationary or moving towards the cover they wish to vault over. That way if a player wants to roll away from a low wall they will do that rather than hop over it and get clubbed in the back of the head.

Interference - Warframe

Warframe’s a great F2P game where players take on the roll of a space ninja, in space, with all sorts of crazy powerful warframes, weapons, and mobility available to them.  Definitely a game I’d recommend anyone to check out, not just for the gameplay but the monetization model they use has been the best ones I’ve seen to date.

Their dodge mechanics are also on point! But we’re here to talk about interference only since I’ve noticed this is starting to get a bit long.

So what is interference? Basically when the player dodges the enemy AI’s accuracy stats get messed with. So someone who had a 75% accuracy can have it reduced to say 50%.

This method of dodging is particularly useful for shooters for many reasons, the first of which is dodging bullets has more to do with the shooter being a bad shot and luck than anything else, so it’s not particularly realistic. The second of which is that hitting a moving target is also much harder, especially when those movements are quick and erratic like a Warframe that is rolling across the map and jumping off the walls. It’s all the more important when players are comically outnumbered by enemies who are all too happy to light them up. It looks pretty awesome too when combined with the ability to block incoming projectiles but that’s a post for another day.

Is there anything wrong with this dodge?

Not that I personally can see for the purposes of dodging bullets. This system doesn’t guarantee that the player won’t get shot but it certainly reduces the amount of damage they receive.

Players may not think much about this but it’s a pretty big quality of life improvement over other shooters where all dodging does is try to throw them behind cover. But at higher levels of play where, enemies hit harder and take a bigger beating, you learn to appreciate that interference.

Statistical - XCOM

XCOM’s a game about facing off against an overwhelming alien threat with a limited number of soldiers and supplies. More importantly, it’s one of the best examples of a statistical dodge implementation.

Now, I know you’re probably thinking this kind of dodge is the least interesting to talk about and how to implement, because it is really. But that’s just the challenge we have to deal with when creating any kind of game where the player isn’t in direct control of a characters actions. How do we make it look cool, feel good, or like the player’s decisions mattered.

The execution of the dodge is pretty simple for XCOM. A character rolls an attack against another. The checks go off and if the attack fails the defending character plays a quick dodge animation and the text “Missed” pops up over their heads. The dodge animations themselves more or less boil down to leaning out of the way or ducking behind cover. Not terribly exciting I know.

What makes it exciting is the tension of each situation the player is in. Those soldier’s lives on the field are precious, finite. The medical equipment brought on missions, if any, is limited. Any special equipment that isn’t recovered from from a fallen soldier is lost until it can be rebuilt, if that’s even an option. All of this while players are left guessing how many enemies are lurking in the shadows, when another patrol is going to show up unannounced, flank their position, or show up with an extremely powerful unit.

Simply put, the dodge itself is of little consequence here, but that tension built up around it can be insane. Imagine a precious soldier you’d hate to lose is flanked. The enemy is basically guarantee to kill them. Then they dodge. The relief players feel when something like that happens? It’s huge.

There are extra bits that help juice up the tension like camera angles when actions are happening, the particles from missed impacts and voice overs. But like flashy animations they are details that help amplify the action on screen. Game play is king after all.

So that’s it for these different dodge examples!

As you can see they each consider the kind of game they were building before coming up with solutions that worked for them. There are many more examples to pick apart out there but I’ve rambled enough for one post.

Next time I’ll be talking about line traces. A lot of team members I’ve had at game jams and some students I’m mentoring don’t know about this crazy important tool so I’ll shed some light on it.

Catch you next week!

RollsAndDodgesScreenshot1-1920x1080-6f38bc4b2161c15a4317e31b3be3bcb8

The Art of Dodging

Greetings game devs! Today we’re talking about dodging, the different kinds of implementations for this mechanic, and things to consider when adding it to your game.

The different types of dodge

“What do you mean different kinds of dodge? You just get out of the way.”

That would be correct in the real world but in games dodging is a different animal. The implementation of which depends on what kind of game you’re making and the desired experience you are trying to give to the player. So what are the different types?

  • Displacement – The first of these methods is the one most people naturally go to when thinking of a dodge. We want players to have the ability out of the way of an attack and what better way than moving them quickly in a direction?
  • Invulnerability Frames – Grant the player a certain number of frames in the animation to receive no damage. This way, even if they technically get hit they can still avoid damage because their timing was on point.
  • Interference – I couldn’t find the technical name for this so I wrote down the first thing to come to mind. Basically when the player dodges it interferes with the AI’s targeting, fudging their aiming stats to make them far less likely to hit.
  • Statistical Dodge – The player can’t dodge but if an attack is inbound the game rolls a series of checks against one another to see whether or not the attack hits.

Pros and Cons

So why would you choose one over the other? It depends.

Displacement for example is a very easy method of dodging to implement.

User input direction + dodge button = Go fast that way. Profit.

This method works with games where players are dodging traps or even shooters. Big boulder coming the players way? Just roll out of the way! Enemies pouring lead on the players position? Sure they can sprint to cover but it would be much faster to throw themselves behind it, even if it means catching a few rounds.

But this doesn’t cover a lot of potential combat scenarios. What if the game has enemies with melee combat? The player dodged but they still got hit! What do we do?

This is where Invulnerability Frames come in and I learned this first hand when I was working on Reaver.

The problem:

Enemies tracked the player facing fairly accurately through the dodge and the size of melee weapons made it so players had to break off from melee combat to avoid a melee attack. We didn’t want that for the game, we wanted the players to bob and weave through attacks and keep pressing the assault.

The drawback to I-frames is that they take a fair bit more set up to implement because it involves knowledge of the number of frames in the dodge animation. At which frame in the animation does the player become invulnerable? What frame restores their vulnerability? These things are better sorted before animations are made. In our case we realized how important I-frames were for Reaver after. Thankfully we used jet packs to dodge so we got away with with an animation notify and a very small timer to maintain that invulnerability through the dodge.
 
With this in place, a player could time their dodge to move through an enemy attack and keep pressing the assault in keeping with the aggressive gameplay we wanted to have for Reaver.
 

What if the goal is to dodge bullets?

Interference will take care of this but it requires a lot more set up still. First you need to have an AI that doesn’t have perfect accuracy, they need a stat to interfere with that dictates how accurate their shots are. Once that’s set up, the dodge roll needs to notify any AI shooting at the player that they are dodging and temporarily change this accuracy stat.
 
EX: An AI normally has a 75% chance to hit a stationary player but when a player dodges their accuracy is reduced by 50%.
 
This way the player dodging into cover won’t just catch every single bullet aimed at them during the dodge. This looks even better with tracers so the player can actually see everything they just dodged.
 
“But Waldo I’m not making an action game! I’m making an RPG!”
 
Well that’s why you want a statistical dodge.
 
The implementation itself is fairly simple here. Whenever the damage function is called on a character it first has to run through whatever dodge chance they have. Using DnD as an example a character with 20 AC basically dodges any attack that doesn’t match or beat that score, and if that score isn’t beat, the character would have “Dodged!” or “Missed!” pop up over their head to convey what just happened.
 
The draw back to this method is that, on its own, it’s not very juicy. You’re going to have to find ways to make that dodge look more interesting than text popping up over their heads. This could be done through flashy animations or just pure tension like XCOM does it.

What dodge is right for your game?

Like all great questions the answer is: It depends.

Keep in mind the kind of genre you’re developing for and the design goals of the game. Simple platformer with traps? Displacement is the quick and easy way to go. Want a more intense, action packed combat experience? Definitely look at Invulnerability Frames and Interference.

As with any game design project, keep in mind the goals you and your team have for the game. The experience you want to craft for players.

Still can’t decide what kind of dodge to implement in your game?  Look at examples in the genre you’re developing for, the popular games in particular as they just might be doing something right!

Speaking of which that’s what I’ll be posting about next time. Examples of different games and how they handle dodging. Hopefully I can find some specifics on I-frames for the ones that implement them.

cellular-telephone-communication-connection-682933

A humble game development blog.

Hello and welcome to my game design blog!

My name is Waldo Rodriguez, as you probably guessed. I’ve been working as a game designer for four years where I started working at Animus Interactive on Avalon Lords, an MMORTS. Since then I’ve picked up a variety of skills and insights working on all sorts of projects in game design positions and I thought it might be helpful to share them with the world. Plus it’s always fun to come back and see how far you’ve come, even if I am starting a little bit late on that!

Why a blog?

A wise man once told me to start a blog serves two great purposes:

The first is to help you keep track of your progress. This goes for any sort of topic be it a hobby or your craft. You can go back through time and see how you struggled in the past and overcame those challenges or how what you thought was an optimal solution to a problem was just one of ten you could’ve applied. It’s important to see how far we’ve come. Whenever a challenge seems too daunting we can look back at prior obstacles and see we’ve been in this spot before and we can push through it again.

The second is to help others see your thought process. This is particularly important for game designers trying to get on a team of any scale. It could be a little indie team of three or a big huge AAA team of hundreds, they’re going to want to see how you think. You may say, “But that’s what interviews and skills tests are for!” but a blog they can skim through makes it that much easier for them to call you.

What can you expect to see on this blog?

Having worked on indie teams and solo projects I have worn many different hats as a game designer. This blog will reflect that by covering a wide array of topics from combat and narrative design which are my jam to level design. I will also do breakdowns of games that catch my eye. Kind of like a game review from a more design-focused perspective. Of course, if one specific feature stands out to me that’s going to get a dedicated post because my ramblings on that one feature will take up too much space otherwise!
 
I’ll also be writing about my past projects as a sort of postmortem dev blog. Younger me was like: “Pfft. I don’t need to write dev blogs! They take time away from actual development.” So I’m correcting that! Even if it is fairly late, I still remember a lot of what I was thinking for those projects along with mountains of organized notes to inform those posts.
 
Future projects as they come up and as I’m able to talk about them will certainly be getting posts here as well. Obviously, if I join a team and there’s an NDA I gotta be hush-hush about things so don’t expect any leaks! Currently, I have a solo project in the works that’s in the early planning stages so when that gets to a more solid state I will start up a little dev blog on that!
 
But wait! There’s more! Having worked across several different teams and lead several of them, I’ve learned a lot about the importance of soft skills. This was something I struggled with early on being a shy, awkward kid and something I had to overcome when I wanted to tackle the fun challenge of leading teams.

When's the next exciting post?

The plan is to pump these out once a week on Mondays. If life happens to get in the way of that I’ll post on Twitter, but if it’s something planned it’ll probably have its own blog post.
 
My first real post is going to be on something I’ve noticed is very hit or miss on a lot of games I’ve played. The art of dodging. The more I thought about the topic the more I think there’s going to be a whole lot to talk about so I may break it up into a multipart series otherwise it’ll be less of a blog post and more of an essay on my thoughts. So that’ll be fun!
 
Until then, have a nice day.