We have the first basic version of the weapon attachment system ready. Each weapon in GAZ will have the possibility of several configurations, such as barrel, fire mode, and sight, for example. At this stage, the selection of attachments is done through a static menu, but we will soon change this to a menu that will allow a dynamic selection of attachments:
LMG gun
We have added a new LMG model to the game, which is likely to replace the one used so far:
Improved AI attack dynamics
One of the game's primary axe-attacking enemies has become more dynamic, as it will now attack as soon as it approaches the player. In addition, a minor "shake" effect will be applied to the player's camera on a successful hit:
Working on the demo level
We are still working on improving the details at the level that will be included in the demo. Level design is one of the things that gives us the most difficulty, so we want to release the demo to players as soon as possible and collect the feedback. Based on it, we will make appropriate changes.
What are next steps?
Perhaps in the next devlog, we will be able to show you further progress on the attachment system, as well as the basic implementation for the vintage system of AI models.
Devlog #3 - GAZ - Progress update
Over the past months, work on GAZ has been going rather slowly. However, we managed to add a few elements that made the work on the game move forward. We are currently working on the first alpha and will soon be looking for a few people for closed testing.
Visuals
We changed the color scheme of the whole thing a bit, to emphasize the "dirty and dark style" more. We also added some smaller post-process effects and volumetric lighting. For the lighting, we are yet in the testing stage, as working with lighting requires a lot of patience:
AI models
We also returned to the old enemy models. The ones we added recently, in our opinion, looked too realistic (they had too much detail) and didn't blend well with the graphic style in GAZ. We will use these more realistic models in our other prototype:
Weapon attachment system
The system is at a very early stage of development. We want to give the player the option to customize his weapon. Customization will be done "live" during gameplay. Weapon add-ons will be purchasable with currency earned during level exploration or as a reward for well-played encounters with enemies. We will give you more details soon.
What are next steps
We will continue working on the weapon add-on system and adding new weapons to the game. We will definitely be able to share new information in the next devlog.
Devlog #2 - GAZ - Working with AI
Working with AI
In our previous dev log, I mentioned that we undertook an attempt to rewrite the AI system for our game. We decided to use a simplified version of the GOAP system. At first, we wanted to write a framework from scratch, but in the Unity Asset Store, we found a tool called SGOAP, which turned out to meet all our needs.
However, SGOAP is only a high-level tool, and we had to prepare all operations related to AI behavior (player detection, shooting, etc.) ourselves. Although in this case, we also decided to simplify implementation process. Instead of writing from scratch the logic responsible for the movement of agents in 3D space, we decided to rewrite a litle bit the Invector controller, which we used in the initial phase of the project. The combination of SGOAP and Invector resulted in a quite competent tool.
The animations seen in all the videos are temporary. Once we have all the AI details ready, we will buy some fancy animations from one of the asset stores (Unity, Unreal, Cg trader, etc.).
Types of AI
At this point, we have managed to prepare several types of AI. Below is a short list, along with short videos showing AI in action.
Shotgun and Assault Rifle.
// The opponent with a shotgun will be equipped with more aggressive behavior, which means that most of the time he will try to get as close to the player as possible. Its attack range has been set between 5 and 25 meters, which means it can also attack the player from a greater distance if necessary. In addition, the agent moves in a mode that we refer to as ScootAndShoot. This means that after a shot is fired, the agent will try to find a new position for attack. This position will be calculated, among other things, based on the minimum/maximum range of movement expressed in degrees defining circular movement.
// An opponent equipped with an automatic rifle will also move in ScootAndShoot mode. However, unlike the opponent with a shotgun, he will be equipped with more cautious behavior. He will have an increased attack range - a minimum of 15 meters and a maximum of 45 meters. In addition, the opponent with an automatic rifle will be equipped with grenades. When deciding to attack, the agent has been assigned a 50% probability of throwing a fragmentation grenade. It is worth noting here that the throwing force and distance are calculated by an algorithm. This means that the agent does not throw the grenade mindlessly in front of him:
// Here is an additional example, showing the behavior of agents in a larger group:
An opponent with axes
// The behavior of the opponent with axes will be similar to the behavior of the opponents from Serious Sam 4. Their main task will be to overwhelm the player, using a large number of attacking agents at the same time.
// Groups of agents may receive support in the form of soldiers equipped with automatic rifles. Agents of this type will additionally be able to throw a smoke or fragmentation grenade. The probability of throwing will be increased compared to a basic agent equipped with an automatic rifle and will be set at 65%:
LMG soldier
// A soldier with a light machine gun will base his behavior on a simple cover system. After taking a defensive position, it will attack from an increased distance. In addition, the agent will change (at random time intervals) its position. When making decisions, it will take into account other agents using cover, as well as the cover available in the immediate environment.
What are the next steps?
In our next devlog I will show you a couple of wepaons that will be available in GAZ.
Devlog #1 - GAZ
Soft reboot
A few months ago, we sent the build of our game to several people (including one publisher) and there's no denying it - we got very negative feedback. So we took a step back and decided to design GAZ in several places from scratch. We call it a "soft reboot".
Visual side
The general visual setting remained unchanged (except for some models, as we will discuss in a moment). We continue to aim for a gray, gloomy atmosphere with limited colors.
New enemy models
The enemy models will be completely changed. For now, we have managed to add only one new model, but we will gradually change the others as well. Vehicle models have also been updated (some examples further down in the devlog):
Artificial intelligence - GOAP system
AI of opponents is the element that has undergone the most thorough change. Until now, we used a simple implementation based on FSM (finite state machine). After the change, however, the AI works based on the GOAP (Goal-Oriented Action Planning) system.
However, we must make it very clear here, that using GOAP does not mean that our AI will be at a level similar to that of F.E.A.R. This is not something our capabilities currently allow us to do. However, using GOAP allows us to introduce more differentiated behaviors, and working with GOAP is much more enjoyable than working with FSM (of course, you have to get familiar with the solution first).
By developing our knowledge related to GOAP, we will also be able to introduce more advanced AI at later stages of the project, as well as use already developed solutions in other projects. With the proper separation of dependencies, transferring GOAP-based AI between projects is relatively easy.
Weapons design
As for weapon models, there will be no change. However, we have added some new types. But this we will share when the time comes.
Dismemberment system
For GAZ, we created a simple "dismemberment" system for enemies. The goal we had here was only one - to have fun. In addition to depriving opponents of limbs, the game will also include the option of destroying armor elements. Here is a small example. However, the video was recorded using old models, as we have yet to adjust the new ones accordingly:
Enemies in the game
We have divided the opponents into three main types:
Human
At this point we have a few basic types dissected:
> Enemy with a shotgun - with the ability to throw explosive grenades > Enemy with a light rifle - with the ability to throw explosive grenades > Enemy with LMG - with additional light armor. > Sniper - with the ability to throw smoke grenades > Enemy with a double UZI > Enemy with double UZI - with additional light armor > Gunner with LMG / Minigun - with heavy armor. > Engineer - with the ability to deploy mines or small autonomous vehicles > Pilots - equipped only with pistols > Enemy with RPG > Enemy with RPG - with additional light armor > Soldier with a light rifle/shotgun - with an oxygen cylinder on his back. Such a cylinder will be easily destroyed, causing an explosion > Soldier with a knife/axe - designed for fast combat at short distances > Soldier with knife/axe - with additional light armor
The above set will be our base, which we will expand and mix as needed.
Ground armored vehicles
Such vehicles will appear sporadically on the battlefield. In the initial phase, they will be static, but in later phases, they will get the ability to move around the scene. However, we do not want to make "bullet sponges" out of these vehicles, so it will be possible to destroy them using even an ordinary rifle. Some examples:
Flying vehicles
These will mainly be helicopters. Similar to ground vehicles, they will be relatively easy to shoot down. Example models:
Design
The design of the encounters with enemies and the game as a whole has undergone (along with the AI) the most extensive changes. In the end, we decided to draw inspiration from two titles - Serious Sam and CULTIC. We added some of our ideas to the whole.
Serious Sam inspiration
> Roughly 2/3 of the encounters in GAZ will consist of fighting a large number of opponents simultaneously or opponents attacking in waves. We think the term "all-out war" fits very well here. Such clashes will take place in larger spaces.
Tank control
This feature will appear at very late stages of development. The player - following the example of Serious Sam 4 - will be able to play on levels in which he will control a tank.
Inspired by CULTIC
> About 1/3 of the encounters will be more intimate, with a smaller group of opponents. An example here would be a narrow forest path, where a group of four opponents supported by a sniper will be waiting.
> Gun feel - in our humble opinion CULTIC is one of the best shooters of recent years. What captivated us the most was the feeling that comes from using guns. Weapons are very responsive, and fighting enemies is very satisfying. That's why we will want to bring a similar gun feel to GAZ.
> The player will have the ability to pick up some items and throw them at enemies. A good example here is an explosive barrel.
> Small environmental puzzles - searching for keys to unlock further stages of levels.
> The player will have the opportunity to find additional upgrades hidden in the levels. However, due to the number of weapons we want to add, these upgrades will probably improve the stats of the player himself, instead of individual weapons.
Additional ideas
High-risk / high-reward zones
The game will allow you to save your state at any time. However, there will be zones in the levels that will block the ability to make a save until they are completed. Such zones will be completely optional, and the reward for completing them will be an upgrade for the character or a new weapon.
Slow motion
By killing enemies, the player will recharge the adrenaline bar. Adrenaline reserves will be able to be used to trigger short slow motion:
Attacks / special tools
This concept is only in the early stages of development, but we plan to add various kinds of tools to GAZ that will make fighting enemies more enjoyable. Examples include mines thrown under the feet of opponents, as well as signal grenades to call an artillery attack. The player will also be able to use stationary gun turrets.
Migration to Unity URP
Little significant from the player's point of view, but very important from the point of view of maintaining the project, was the switch from the Built-in engine to URP, within Unity. Thanks to this procedure, we won't have to worry (at least for a while) that our project will become outdated on the technical side. We will also have an easier task if we want to port GAS to consoles in the future.
Cooperation with other development teams
Initially, the name Samurai Outcast referred to our small team of two people. Over the past few months, there has been some significant change here.
We have been joined by two development teams, each with two people. The important thing here is that we do not form one company. Each team operates separately and on its account (working on its games). More importantly, however, these teams share the same solutions (for example, a code base) and a general knowledge base.
A good example of this is the aforementioned GOAP-based AI. If one team comes up with a cool solution and implements it, the other two teams can use it as well. A similar tactic will be adopted when operating in the marketing sphere. If one team concludes that a certain strategy is particularly effective (for example, Twitter advertising) it will share this knowledge with the other teams.
You may be wondering why such a division. At this stage, each team has its idea for the game and wants to implement it on its own. We don't want to throw ourselves into big projects right away. Instead, we want to slowly build up our knowledge base by pursuing projects that everyone enjoys. Another important aspect here is that all the people at Samurai Outcast have known each other personally for many years, so we have a very friendly atmosphere.
What are the next steps?
We are working on a pre-alpha for GAZ, which we will want to make available to a wider range of users. Only after such verification, we will be able to focus on the development of the main project.
Devlog #0 - GAZ (retro FPS)
Who are we?
We don't want to use the term "small" development studio, because in fact there are only two people working on the project now. Krzysiek (level designer) and Grzesiek (that's me, and I take care of programming and technical aspects of the project). At the moment we're both working on the game only part-time because Krzysiek runs his own business (not related to game development) and I'm working as a mobile applications programmer. Thanks to that we are able to fully finance the development of the game from our own resources. In the future, we plan to switch to full-time development, but for that to happen the game must first start earning money.
Why we are creating a retro shooter?
The answer is actually simple. Because we love retro shooters. We grew up on Doom, Duke Nukem, Soldier of Fortune, FEAR, and many other shooters from that era.
Then there was a very long break and shooters inspired by the classics started appearing on the market. We played DUSK and Project Worlock and thought to ourselves "This is fu***ng awesome". That was the first time we had the idea to create a retro FPS game. For some reason discovering another gem - HROT (at that time the game wasn't yet in early access) - turned out to be a turning point for us. It was sometime in the summer of 2020. That's when we started creating the first prototype, which looked more or less like this:
Apart from the general assumptions, not much was left of this prototype. The more recent version looks like this:
Where do we get our inspiration from?
I'll give you a short list along with specific inspirations:
Doom
focus on action and gun feel
a large number of enemies on each level
Duke Nukem 3D
interactivity with the environment
numerous secrets
F.E.A.R
heavy atmosphere
slow motion
Soldier of Fortune
bloody executions of your opponents
Here is an example of gory executions:
You could say that this is the core of the GAZ gameplay. There's bound to be more to the game, but we'll keep you posted on that in future posts.
What do we work on?
Currently, we are using Unity version 2020 and for code editing, we are using Rider from JetBrains. Mainly because Grzesiek has been working with Android Studio for a long time and he felt at home in Rider.
What is our initial goal?
First, we want to prepare a demo, which we will publish probably on itch.io. After gathering feedback from players and adding fixes, we will put the demo on Steam. From then on we will want to prepare one full chapter and release the game in early access. However, it's hard for us to give any specific dates right now.
What is the next step?
In the next devlog we will try to show you the technology stack we are using. If there will be enough interest, we will add more technical posts. Apart from that, of course, we want to publish standard devlogs on the progress of our work.
In the near future, we are also planning to launch a Discord so that we can consult our ideas with the players.