Respecting deadlines, making the best rendering possible, getting out of the prototype, refining, working, re-working, creating an atmosphere, and finally, fi-ni-shing.
April / May was for us the baptism of fire. Our objective ? Finishing from A to Y (without the sound design) the first arena of dWARf to get people outside of the studio test the playability and get feedback on taking the game in hand, graphics, atmosphere and arena’s principle.
The pressure was at its maximum and, with the return of sunny days, motivation was often shaken by the desire to go for a nap in a park or have a drink on a terrace in a small pedestrian square of Montpellier.
All this explains our lateness on these blogs and our absence on social networks, although we tried to make up for it with Audrey’s stream at mid-May. We also prepared other small surprises in terms of video to immerse you in the heart of dWARf’s creation.
I had to be completely multitask again : game design, graphic approval, technical documents…
One of the major task was the revision of the controls with Solune. Something was wrong and it had been really hard to put a finger on it. Giving the desired sensation required us to inspire ourselves by many references and to play games (in a purely professional way, obviously) whose controls could suit dWARf (and all its game modes). It was no mean feat because we wanted to keep a certain harmony (all games having the same controls for the same types of actions) so the player doesn’t have to learn again how to play for each arena. On the other side, we had the task to make up controls that allowed the player to enjoy each mode intuitively.
Solune will explain this with more details, but after researches which were confirmed afterwards by the tests, we decided to offer 3 modes of controls (mouse, keyboard, and game controller) to the players. These modes are interchangeable at any time so the players can adapt the way they play with the mode that best corresponds to them.
For the creation of the controls, here is the list of the games we had tested and analysed to better understand the mechanics we could then add to dWARf. Some of these games allowed us to confirm that some things weren’t possible for dWARf, and other games gave us good ideas. The list is probably not exhaustive as we relied heavily on our personal knowledge.
– Full Mojo Rampage
– Hotline Miami
– League of Legends
– Mages of Mystralia
– Diablo III
– LEVEL DESIGN WITH PLAY DOH
Early in April, at Unexpected, there was a meeting on level design. Note that, in a first place, in our company, no one is level designer and it’s a step of the construction of dWARf’s arenas that doesn’t appeal much to me (and yet is my onus).
While I was trying to draw on paper my first ideas of the conception of the arena, I was quite annoyed to have to erase elements to transform them, at the risk of making holes in my sheet of paper.
I thought I might use a software as Photoshop but I instantly estimated how difficult the task was : renaming each layer “rock001”, losing time drawing shapes never fully satisfying and having to present to my collaborators the result in front of a computer’s screen towards which they would point their fingers “can’t we move this element of 1 mm ?” “and this one should have more of a fox shape with big eyes and littles ears”… In short : it would be a plague.
I then went to seek for my team’s help. Audrey quickly proposed to “cut” shapes in paper and to place them. The idea was instantly good to me, everyone could move elements where they thought it was the most appropriate, and we could even introduce a colour notion (grey elements wouldn’t move, red ones would randomly move etc…). Yet, the shape problem remained : how to give a new shape to an object already cut in paper ? How to increase its size ? We would have to re-cut a new shape every time… Could there not have been something that could be at once modified, moved, and coloured ?
Thus I had introduced the playdough in the interactive process of creation. As you understood, I love participation. I love when everyone can play a part and I’m stimulated by, and really enjoy, working as a group.
Everything in this experience was positive :
1) We all fell back into childhood : as soon as we opened the first box, the smell of the playdough took me in a journey in the past. To me, everything in playdough is positive, it’s playful, funny and infinite. It pleased everyone to smell the dough and to play with it. And you have to admit that it is quite de-stressing !
2) Everyone could make himself understandable easily : the frustration ensuing from not being able to show what comes to your mind at a given moment didn’t occur a single time. You propose something that others have troubles imagining ? You just have to shape playdough with the good colour and place it on the table to make it clear for everyone. You can make the shape change, make it as thick as you want and everyone can then change it or suggest modifications.
3) We saved time : not having to go from the drawings of ones, the long texts of others, and the incomprehensible conversations made us save a considerable time. There was no need to ask “but, it will block here, won’t it?” and wait for tries and returns. The instantness of the reality is surprising !
Convincing result : at the end, we found ourself with something convincing and structured with colour codes, and we made sure that a lot of elements functioned. We even had new ideas immediately testable ! Some pictures and we could transfer it all in Level Design’s folders to leave the hand to the artists !
Conclusion : A good team time, far from boredom and complicated ; as children around a table, we made participation a non-frustrating moment where everyone was able to make themselves understood and understand others, appreciating anyone’s idea immediately.
Members of the team who didn’t participated and went to see the work done enjoyed being able to see the elements moving, as an anytime modifiable and convertible mockup.
Thanks Play Doh !
In a first place, I had to confirm the design of ingredients, which will be in 2D. Alloy or ore, the list of the ingredients progressed. Each one must be recognisable (or at least distinguishable); therefore, when you think iron, steel, silver or mithril, you have to play with colours (a little rust on iron, some contrast on iron, a light grey for silver, and re-inventing a grooved turquoise mithril), and the shapes (not only ingots).
The design of the objects changed too, but should be visible only in 3D. I simplified the crown to avoid ambiguity (not to mistake it with a big ring), the pickaxe became offensive (a pickaxe is badass)…
For the UI itself, I first made a mock-up : I scribbled elements where they had to be.
We realised that the idea of a ranking at the bottom right was bad. The eye would be forced to go back and forth between the action and this information, and then to analyse where are the players whom they should keep an eye on strategically. The arena lasts a few minutes, you therefore don’t have time to lose searching for information. A way simpler solution : writing right above the head of the dwarves the ranking number. It seems obvious when you have the benefit of hindsight, it’s true!
There is also the recipes’ interface that must deliver several information.
For their analyse time to be as a drop in a gameplay ocean (I’m a poet in my spare time, indeed), their reading must be ordered :
– What is the demand of recipes ? > strategic aspect
– How to realise them ? > informational aspect for the general gameplay
– What objects are then crafted ? > storytelling aspect
Then, I made various proposals to get round as many problems as possible : Takes too much space > doesn’t stand out from the background > too shifted from the sober and flat style of the lobby > unreadable request at a glance > lack of balance… until reaching one or two design solutions (practical and pleasant if possible).
The 2 level bars (the craft bar on the player and the refiner bar at the top right) must have a similar design via the same colour and a trapezoidal shape. The little “ + “ has an asterisk function that is supposed to make the player understand that both bars are complementary.
This arena required a new scenery, a new atmosphere.
We shared our level design ideas while playing with playdough (I swear it’s pure happiness). Inevitably, I already thought of what elements could look like. We wanted to put only natural elements (no mechanism or manufactured objects), they therefore proposed me a floating nenuphar so the mobile zone we wanted to integrate would be a passage. Further away, the mobile zone would be an obstacle; it could be a stump. In brief, the arena came alive, making more and more sense. “You’re smarter with your hands” (French’s slogan of Play-Doh, ed.) = true story..
I let Lauriane transmit me the reference images to be sure we were on the same wavelength. Basically : an underground cave, a phosphorescent wood. Fairy grove, shiny creatures, wet and magical area.
I spent a few days drawing varied vegetables in different styles to adapt them to the work previously made. As a junior concept artist, I immersed myself with a new visual vocabulary : the flora ! This research work was essential because educative, even if time limited me in studying every possible and thinkable vegetable shape (A French forest is not the same than a Laos one) ! But it’s by studying little by little than I can hope someday being able to… take over the world ! (citation of “Pinky and the Brain”, ed.)
Finally, it was time to select those which seemed to best correspond to the wanted environment. No exotic, alien, spiky, polished plants. No conifer, nor too tortuous trees. I settled for 2 types of trees, 1 type of bush slightly different, one type of dead trunk, 3 flowers, 4 mushrooms (sponges, toilet paper and 25cl of crème fraîche).
As our screen covered an area of modest size, the ecosystem had to be harmonious
Another important point : I often checked if my work, which I made directly in colour (unlike Hephaïstos process) was enough contrasted once in black and white.
After March’s block-out, it was time to produce every environment object in 3D and replace them one by one in our previous scene.
To do so, we had to model every building and every element of the scenery. It went from main buildings (anvil, oven, refinery…) to elements which will structure the scenery (rocks, ground slabs, walls…), by way of all the little objects that coat our scenery (pliers, hammers, torches, standards…).
The challenge, when it comes to creating an environment in 3D, is to produce the objects with the fewest polygons possible. At the end, we want our objects to have as few sides as possible.
Indeed, in a 3D environment, we often find ourselves duplicating objects of the scenery to occupy the place (vegetation, rocks, buildings…). A scenery object not as low-poly as possible is more likely to cost a lot in terms of performance, not only once but as many times as the object is duplicated. We therefore had to avoid most of the useless points (vertices) in the 3D modeling, without sacrificing the general aspect of the object. We had to find a good compromise between performance and aesthetic.
For the production of an object, we went through several steps :
First, I made a 3D template, with simple shapes, but already on the right scale. I then used it to sculpt my “high poly” : it’s a model that contains a lot of polygons (sometimes even millions !), but that is very detailed. I could allow myself to sculpt every detail, even the smallest nut ! Because after this, I then proceed to work on re-topology : From my high poly shape, I drew a model with the fewest polygons possible, while trying to stay the closest to the general shape of the object. During this step, we started with a model composed of several hundred of thousand polygons, and ended with our final model (100-600 polygons in general).
It’s during the texturing step that I will get all the previously sculptured details back : the baking texture is a process that enables the transfer of a model details to another. We can then get our high poly details back, make them appear on our low poly texture, and give the illusion that our model is way more detailed than it really is. In addition to every little sculpt detail, we then added colour, materials texture and a few shadows to the object.
We could then import it in the scene, replacing the basic shape that was placed for the block out.
That way, the scene is built little by little, and we can see it evolve practically from day to day. Even if when this blog is published, there are still some elements to refine, the scenery of Héphaïstos is coming closer and closer to its final version.
These last two months were dedicated to the finalisation of the most complete playable prototype of Héphaïstos. This task implied to focus on issues so far put on a sideline because not priority, as it happened the controls and gameplay final touches.
dWARf’s controls were, at the beginning, similar to Overcooked’s, a game which was a part of our inspirations, more by a lack of will to address the issue than by an informed and stationary choice.
Contrary to Overcooked, dWARf is not only composed with cubic elements, narrow passages does not have a direction following cardinal directions, nor the eight possible directions with keyboard arrows (or WASD), which happens to be really unpleasant for some people.
dWARf needing, in general, the mouse to aim / attack, the interaction and dash key had to be on the hand handling the movement, which did not pose a problem for the dash (space key), but the interaction key forced the player to move one of their finger from a movement key ; once again, some players dislike this.
After thinking about it, we wanted to test controls inspired by ARPG (movement and interaction with the mouse) and those who disliked the previous controls instantly liked these ones ! On the other hand, some still prefered the old ones… We then simply chose to let players the choice between 3 modes of controls, of which, moreover, every bind is configurable.
– A WASD mode, probably more adapted to FPS players and used to this type of movement
– An ARPG mode, suitable for RTS, Hack & Slash, LoL players, and probably to beginners
– A Game Controller mode, for the regulars !
Obviously, these controls are subject to change, depending on user feedback. It’s also possible to add more, with the purpose that irrespective of your level and the games you play, you find intuitive controls with which you’re at ease !
Héphaïstos game design was fixed since a long time already, but some things required tests before being defined. Is the game enough intuitive ? Isn’t it too short ? Can gameplay ergonomy be better?
The objective was to find all these questions, answer them, and make the gameplay better if needed. Obviously, it was not possible to fix everything at that stage, but each point tested doesn’t have to be reviewed by testers, and therefore gives a greater accuracy for the remaining remarks.
It was, for example, important to have at least a visual feedback basis so the remark isn’t “the game needs visual feedback” but “it would be great to have one more visual feedback here, and there, when we do this”, which would help us way more !
Overall, Héphaïstos is close to its “final” version, and it’s very encouraging !
Ah, the month of April ! The month of jokes, of spring… and matchmaking. Concerning multiplayer, this month was filled with diagrams, debugs, and setting up solutions for matchmaking.
As several services were already done, I started tackling the most annoying issues, but also the most interesting to handle : the management of synchronisation. To make it simple, it is knowing, on all services, if a player is connected, sending them messages (even if they are on several platforms at the same time), being able to make him interact on the less used service, etc…
These were indeed very important problems to deal with, especially because we work with mini-services (and not micro-services, even if a division will probably be done to allow a better distribution of the load and a more adapted network route). So this month was mainly based on the preparation of the matchmaking service (with only the matchmaking option automatised), the synchronisation of the latter with its side nodes, and the process allowing us to choose a server depending on its use for the games’ creation. I would have loved to tell you more about this, but it’s classified, so shush 😉 .
May, meanwhile, was filled with debugs and a focus on management service of the games. This service is the service that launches instances of the games (to allow players to join them and be able to play), as the management of the aforementioned instances. The goal is to monitor, communicate and recover important data during the game (player scores, duration of the game, game information, etc…). This service is also in charge of communicating with the rest of the services to allow the players to get their rewards at the end of a game.
Finally, I set up a double-authentication system (a bit like Blizzard with their Authenticator), that can be enabled or disabled by the user, according to their wish. It’s based on the TOTP algorithm, which is itself used by several companies to offer 2FA as Google, Blizzard, or even Microsoft.
Thereby, these months were filled rather technically than productively on the multiplayer side. The focus was mainly on the monitoring of user connectivity and security of services rather than on the advancement and creation of new services.