Week 6 - Devlog


So it is that we're now in the final week of the first sprint of production. It has been quite a journey to get here but we're pretty proud of what we've got so far! We most likely are on the right track towards a satisfying final product and will continue working hard for it. Have a look:

Introduction

This week, we reviewed some of our gameplay design decisions again. The alien players being able to instantly pull the power source closer to them presented a slight problem in the sense it was very erratic and didn't feel right. We also wanted to give the players the ability to fling it and maybe eventually create gameplay elements out of it. (some of which you can already see here) Thus, we decided to make the pull charge-based, which actually worked out really well! But more details on that specific aspect can be found down below.

We also had our first experience working solely using tools like Discord and being unable to meet up due to the coronavirus outbreak. We have managed to make do though, as programs such as Parsec allow you to playtest your game as a team, which isn't ideal due to the input lag and other issues but it's the best we have right now...

Art & Design

Over the week, we have made major progress on our main level, adding in a bunch of props to both start decorating the environment and creating a layout that players/enemies will traverse. It will most likely still change as we iterate during the second phase of production but we've already come quite a ways, so we're hoping you would enjoy exploring it in our downloadble build! Some other important props also had some nice progress which you can see down below...

Power Source

This week, we replaced the temporary alien power source model with the final one! Since our plan is to make the power source a central element of the final game, it had to meet a few requirements:

  • 4 connection points to which players will be connected
  • Looks technologically advanced
  • Should feel sturdy enough to not break from colliding into things at high speeds
  • Needs to act as a teleporter for the UFO parts
  • Will also be hovering over the ground

As you can imagine, this is quite a crazy combination but we believe the result is really satisfying! Have a look:


Modular Assets

This is the asset pack we are currently using to build our scene. Shape wise the models are already where they should be to give the player a clear idea of how the scene will look. When we're further down the pipeline, we will polish these models up a bit, add some animated elements and apply textures.

Unique Assets

The guards finally got some toys to play with this week!

We added a proper soldier gun, so the guards wouldn't be running around using the alien blasters anymore. Also a quick muzzle flash preview to give an idea of how it will look like in game. We added a car, which the soldiers will be patrolling in on the street the aliens need to cross once they need to go to the other part of the facility.

Level

This week we started to design and populate the main level of the game. This is to test out our programmed systems and how they interact with each other. The level will definitely change a lot during development because we will spend a lot of our time playtesting the level to see what works and what doesn't. The level will be something that will evolve a lot over development time.

We started to design the level based on where the aliens spawn in the map. From these starting spots we decided to create the military facility based on that. This is so we could take into account how the aliens would enter the facility and therefore we could choose the optimal spots to place the alien spaceship parts. With this level design method we could envision the flow of the level and already answer some questions concerning how the game would start out. 

The hardest part about design of this level is that you have consider that aliens can enter from different sides and therefore they can choose any way they see fit to invade the facility. This is hard because the players will choose how they move and this leaves a lot of questions open because you can't predict how they will move once they are inside.  In linear levels this isn't much of a problem because you move in one direction and that is forward. But in these kinds of levels the player can approach them many different ways. But these many different player choices add more replicability which makes it more fun.

We probably also will settle for a night scene but moon lit so it isn't to dark so you can easily identify enemies. If it will stay a night scene we could also add search lights to the towers add some dynamic lights to really kick up the atmosphere in the level. Lighting is also a very nice tool to guide players to entrance and exits in the level. This could also be used to mark points of interest in the level. These things will add subconscious guide to the level.

During our future playtests we will also need to test out the patrol paths of the AI. This is to see if level will support a stealth play style and make it fun. But the level also needs to support a run and gun playstyle it will also be hard to balance these two well. We will probably give you more advantages when you choose the stealth play style but this also depends on how fun it will be. The secret sauce to make the game fun will be definitely be in the level design. During the next production sprint this will be one of our main goals.


Programming

As usual, we continued expanding the game and improving existing features. As more and more art assets are being more or less finalised, we need to add new properties to our existing code and sometimes even rethink the feature a little in order to make things "feel" right. Just like last week, we didn't encounter much resistance so to speak, work went quite smoothly indeed! Have a look below:

Debug Visuals & Helpers

As we continued adding more and more on top of our game, an issue that popped up was that we sometimes lost track of the fact whether our systems still worked or not. Additionally, we wanted to preview some of the player feedback without any custom assets or simply visualise how things worked, as a weird form of "unit testing". As such, here are some of the visuals we added:

Something very simple we wanted to add for the longest time but simply forgot was unique indicators for each player. For example, the first player in our case will always have a red indicator. We also added a floating dot above the head of each alien representing their power level: red for weak, orange for normal and green for full power.

In addition to the previously mentioned visuals, you can now see from which socket point the power source is being pulled from. Also, if it collides with a wall too hard, it will show you from where is the AI sound event created from. More details on this later down below, but these will probably not be replaced by proper visuals as they were mostly intended for debugging the new functionalities of the power source.

When an alien player is close enough to the power source to be at full power, regenerating health is indicated by a blue sphere overlapping them.

Quite a bit is going on here but here's the gist of it: two enemy guards shot (red spheres) towards the alien player (bright red sphere) while a guard spotted the commotion and screams out "HEY!". Another off-screen guard heard the fight at the location indicated by the purple sphere and is currently approaching to inspect.

Inside the editor itself, our AI node system now displays existing paths by drawing arrows between them. This turned out to be more than extremely useful.

As for our random start system, connected items are now shown by green areas, which makes for an easy way to be sure everything is hooked up correctly.

GameMode & GameState

As we didn't want for the game to instantly end as soon as enough UFO parts were collected, we needed to make some adjustments to these two (quite important) classes. We have added an intermediate state in which aliens will have to sneak back to the UFO after having collected all parts.

In addition to that, we've re-arranged some properties back into the gamemode/gamestate and added some more. For example, the players all start with a given amount of respawns, which are decremented when a player fully dies and reappears at the power source. Dying when your stock of respawns is at 0 doesn't mean the game will end for everyone, but it sure will for you.

As you can see, we've also modified our initial values to something which should be good enough for a first round of playtests. Also, depending on the amount of parts required to repair the UFO, the gamemode will actually enable just enough UFO part spawners and leave all the other ones inactive. If there are not enough UFO part spawners, the system will safely disable everything and log a warning.

Shared Camera

A very basic thing we overlooked is that our camera previously always assumed a very specific axis, to be more exact: the X forward axis.

As such, we have added an extra property to offset where "North" should be situated and also went through the initial values to refine them a litte.

Initially, some issues were encountered as this assumption we made somewhat "facilitated" the process of determining what players were on screen, but the camera will now properly function for any direction you would want to make it face. It's now also able to re-register players when they reconnect to the power source.

Power Source

This is probably where most of the important changes this week have happened. As we have a proper 3D mesh now, we have thought how we would re-adapt the power source and make it even more central to the game than before. First of all, we wanted to have connection sockets on 4 ends of the power source, each plugging into the alien's plug. As such, we added sockets to the model itself:

Then, we added sockets to the alien skeleton:

Which gives us the following result!

From there, we wanted to make it so aliens would always pull from the base of the socket on the power source itself, instead of pulling from an imaginary middle point. As you can imagine with physics and forces, things went horribly wrong at first:

As such, we revised some of the hover properties, introducing for example mass, max angular and linear velocity. With a little tuning, this eventually fixed the problem completely:

The power source also uses a capsule shaped trigger zone pointed towards the floor to detect whether it should beam UFO parts back to the UFO itself now as well:

Since everything worked out fine so far, we decided to retune the pull action on the aliens: it can now be charged up to 2-3 seconds, and depending on the length of the charge, the power source will be flinged appropriately! Note that we had to enable Continuous Collision Detection as it sometimes would have very unexpected behaviour, but this is acceptable as it is only one entity in the entire game right now. How distance affected the pull force has also been changed slightly, since we are now using logarithms instead of a linear approach.

We also really wanted to give a way for players to lure guards where they wanted to somewhat control the situation better, and it turns out that nothing could have been better than colliding the power source against walls at high speeds to create an AI noise event:

UFO Part Spawners

Using models we have shown in previous weeks, we have created a fully functional UFO part spawner that is enabled/disabled by the gamemode at round start, using the amount of parts required to win as a parameter for how many to activate!

When the power source gets close enough to collect the UFO part, we disable the spawner and turn off the lights, which gives off a pretty neat effect in combination with our particle effects.

Artificial Intelligence

We've made some major leaps this week again concerning artificial intelligence! Most of all, we fixed some long standing issues which has made the enemy quite a bit stronger. We even had to nerf the damage they'd cause to the players due to that!

Here's a little preview and a list of the new functionalities:

  • The AI is now able to hear all kinds of sound events, based on a hearing radius.
  • When a guard sees an alien player, they will scream out, which alerts all the other guards.
  • When a guard hears a noise, they will run a little faster than usual (still slower than for a chase though) and seek out where the noise was heard.
  • Once they have arrived to the location where the noise was heard, they will either have found the alien and set chase, or stay in place for a small random amount of time, then go back to roaming.
  • Overall, the AI should work more as expected and hopefully will challenge players to an acceptable degree.

Weaponry Component

First of all, we updated our data table row types to allow for a few more settings:

As you can see, we added:

  • The range at which a weapon will produce noise, the enemy guards will hear gun fire regardless of affiliation
  • The sockets to which this weapon should attach, and what socket to use for muzzle flashes for example
  • The Niagara particle system used when this gun fires

As such, we had to add some sockets to the weapon meshes themselves:

And so, even though the particle effect itself might need some more adjustment, the Weaponry Component spawns the Niagara particle at the socket.

Miscellaneous

Some other things we did this week was also:

  • A lot of bug fixing, of course
  • Tuning the alien player movement a little, it should be a little more snappy
  • Created a small actor spawner class, which we can later use to spawn guards with a weighted chance of appearance -- for now, they are all set to 100% appearance chance

Conclusion

This is it for the current week! From here on out, we're going into the second sprint of production, in which we will continue refining everything and adding more essential features. The next sprint will very likely consist of things such as HUD, menus, animations, audiovisual player feedback and so on.

A build containing our full level can be played from start to end and can be found right here! The controls haven't changed from last week, but here's a recap:

  • To move around: Left Stick or WASD
  • To look around: Right Stick or Mouse
  • To shoot, you need to hold the fire button for around 2 seconds: Right Trigger or Mouse1
  • To pull the power source to you (hold to increase the pulling force to max): Right Bumper or Middle Mouse
  • To restart the level (you need to be alive/not downed): Start Button or R

See you in the next devlog!

Files

Week6_Production_Phase1_End.zip 257 MB
Mar 25, 2020

Get HIVEMIND

Leave a comment

Log in with itch.io to leave a comment.