[#01] Development experiences

Hey there esper, welcome to our first development post! Since pre-alpha is being continuously developed we weren’t so keen on sharing things that might go away or get revamped at any moment. While it is natural in early stages, we don’t like being silent too much either so we’ve gathered some info for you to take a peek at what we’ve been working on so far.

Character Designs

This was the starting point of Code ZIN’s artistic development journey. We wanted to have a vibrant and colorful look on the characters and I am personally a fan of Panamaman’s artworks. We quickly found out about Pinlin, who was aware of Panamaman as an old S4 League player, and they also had a nice style of their own. Thus, came the deal and the first designs together with a key art were made! This key art served as our inspiration for various things, even for the branding colors down the line. Although I imagine most of you have seen it already, here it is just in case!

Once the first female and male designs were done, we needed to get them in 3D and so the modelling and rigging begun. Initial results did not make us happy. What we learned was that following the design sheets 1:1 just does not work, especially with anime style. I was personally aware of this as I’ve seen some other games struggling with it as well but it boils down to experience. There are ways to accommodate this problem both on 2D and 3D side of things however we still went with the approach we had so far and then “brute forced” it by making changes to make it look better. This was more plausible for us as we are not on the level of seasoned developers yet but at the end we had our base models to work with at least.

Now these are neither in engine screens nor do they have the final textures but model and design wise these are what you can expect. We’ll see how we can work out the textures once rest of the adjustments on other sets are done.

However, while this design was the first to be modelled, it is not intended as the default clothing. Instead it will be a special set for alpha players. The base set is something more sportive and it is made by our designer in the team, Kiri. Aside from those there is one complete and one more design being worked on, and so our goal is to have 3 + 1 sets for both genders with the initial alpha release. Depending on how fast we get at working on content creation and shipping them, we will of course release more during the alpha : )

Map Creation and Game Mode

This was the part where we were way too ambitious and did overestimations in the beginning. Don’t get me wrong, similar things happened not just here… Lack of experience really showed itself with estimations and I am glad we never gave out any dates because of that. Now we learned how things work and workflow continues to get faster for certain things and map creation is one of them. Luckily it’s not just about us either, one of the reasons for getting faster is actually about the work created so far. You see, we want some maps to share a similar themes and feel like they are from the same world. That means some of the models and textures will naturally exist in others as well, creating less work for the next maps. There will be outliers of course but we are looking at the bigger picture here. This should hopefully reflect in the future as the maps get worked on one by one.

So before we start on the map creation we should answer what kind of map do we want first and that will depend on the game mode as well! Right at the beginning we were considering something akin to Touchdown/Capture the Flag. However after our meetings with the game designers we decided that Team Deathmatch makes more sense for development due to various reasons. Anyhow, the map started to get designed with a theme in mind and the war of layouts begun. There were several iterations, some of which has almost nothing to do with the others and yet they still stayed within the same city theme. Some aspects made it to the next ones such as the railway, although differently, while some didn’t make it at all. We considered many things regarding the gameplay and during that the game mode continued to develop as well. (without affecting the map layout this time) We started quite sceptical at first but there were good arguments behind the game mode and I believe that our game designer that suggested it would explain the best.

Let me start off by assuming that you guys know how Team Deathmatch commonly works.
S4L DM had namely 3 issues, which are interconnected, we are trying to fix:

[1] Spawning did not consider ally or enemy positions

[2] It was difficult to gain a meaningful lead or comebacks without imbalanced teams or unlucky spawns

[3] Encounters often felt chaotic and meaningless, while trying to ‘win the battle’ felt like ‘trench warfare’

Compared to other shooters, S4L combat was mobile, while at the same time, it took a lot of time to kill an opponent. The emerging resource for the game mode is therefore team-HP and every encounter is costly. This makes trying to regroup instead of facing an opponent less appealing, as often the advantage gained by grouping is not equal to the cost in HP. The offensive part is not relying on positioning, any path they take towards the enemy may lead to a free trade in HP, whereas the defensive part has to consider their route towards their team, as well as making sure they have effective cover against the enemy chasing them and the potential enemies on their route. Offensive, aggressive and spontaneous is the name of the game and not strategy, teamplay and thoughtfulness.

For our game we want players and their decisions to feel meaningful. We don’t want them to move from random encounter to random encounter. We want to give them the opportunity to gather as a team, even without communication, by adding features to this game mode, that we hope will automatically generate teamplay and strategy.
We want advantages to mean something, while also making sure that there is room for comebacks.

Spawns and spawning will give more power to the player, by:
-letting them choose the area they want to be spawned into
-giving them information on player positioning and map structure, prior to spawn selection
-making them invulnerable and unable to attack for a short duration after spawn

This makes it easier for players to regroup after spawning, giving more emphasis to team-coordination, even without external communication.

In addition, the objective of the game will change, as it will be played in rounds. The objective will be winning more rounds than the opposing team in a ‘Best-of-X’ format. This gives more power to the individual player as they have more influence on the outcome of the match, since contrary to traditional TDM, the points are not carried over. We hope that this leads to evenly matched games being suspenseful until the last second and one-sided stomps not being dragged out unnecessarily.

With these changes we aim to limit randomness and increase the game modes ability to decide which team is better.

– Novalis

We especially want to see how this game mode plays out during the alpha and make adjustments if necessary… but enough of that for now. Let’s talk the visuals of the map now!

Unlike the characters we decided on a more realistic style for the environment. This was already hinted with the first map sneak peak we shared over at our discord server. (Which, btw, you should totally join if you haven’t already) I won’t share that same image again since it also changed up a while back, so instead take a look at the overall map layout with some points of interests including the new version of the old screenshot!

Gameplay and Animations

Tough one. This is another place that things didn’t go as planned. After some months of progress, I had to rip out the networking library and replace it with something else due to bugs it had. It wasn’t an easy choice but luckily one of the networking libraries I was keeping an eye on just got open-sourced around the same time! It is always a pain to switch libraries if the reliance on them is too much but at least they had similar structures. The reliance here came from the fact that we went fully server authoritative gameplay, meaning the game servers does every calculation and has the last say on them. Your client too does the same calculations for your character but it’s merely for hiding the latency. You can already see that game logic needs to be perfectly in sync on both ends but there is more than meets the eye. For example to replicate the same shooting action the player took, we have to take the whole match’s simulation back to the past to confirm the shot. Things get more and more complicated the more you try to provide a fair and smooth game environment. So depending on libraries to take off some of the weight was necessary as the solo programmer.

As the core was ready, we’ve implemented player movement and states, base mechanics like walljump and running, health and stamina systems, weapon and skill systems and so on. Some were big, some were small but all were necessary to work with the said networking structure in mind. Some part of the replications can still be better, I’ll make sure to keep tweaking them until I’m satisfied within the timeframe. I reckon another surge of polishing will come with real world network situations and the feedback of alpha players but until then it’s on us.

As for the animations. We know it is what makes the game feel good, or bad. Even the basic movement can feel different with different animations. We knew we had to have good animations so we didn’t hold back from trying out different things. At first I needed some placeholder animations to work with but after that we created some in-team, felt amateurish and so we wanted to buy some. That wasn’t enough, we needed unique and specialized animations so we outsourced some more. Then we brought some tools and now we are back at it within team. It’s still a learning experience for us but with time the confidence started to rise thankfully. And because it is a learning experience, up until the alpha or the trailer we expect to get even more familiar with the said tools. So until then we wouldn’t want to share an incomplete clip.

What about the rest?

There are lots of things in game development. We didn’t talk about the backend, VFX, SFX, BGM, UI, translations, various integrations and so on. We are working on them on the sidelines and also making sure to grab something if it already meets our requirements. Backend is a big exception there, I have done a lot of work for it and still got a lot to do, yet nothing interesting about it for most players. However if you have specific questions you can always ask in the discord server or in my DMs(Zelakus#9988), as long as it’s not giving away something I’m not suppose to, I’d be happy to answer. And as for the translations, I thank all of you that offered help on that. It is good to have the community support even though we didn’t release yet, quite the morale boost for us developers. I’ll only bring that up again once we approach the alpha though, as until that the texts are quite volatile and I don’t want to redo translations a few times.

Finally, yes we still don’t have a date to share. There is still some time until there is a trailer as well. On the other hand we might need another Q&A at some point to both share and gather more feedback. There are things we are experimenting or will experiment with still. So as always keep in mind that everything is WIP & up to debate, and your feedback will help us a lot.


Extra: What would you like to see for alpha players specifically?

Don’t expect much during the alpha since it will be more focused on the gameplay experience but perhaps we could give back some of your ideas as a thanks after the alpha. No promises, and we already have some ideas but let’s see what you guys come up with too 🙂

Thank you all for taking your time to read and have a fantastic day! Zelakus out.

One response to “[#01] Development experiences”