Wednesday, 27 November 2019

Events, events, EVENTS!

oHHHHhhh yes.
We have been uper busy being at events. Also super tired.
We were at Games LX Week... wait, or was that XL Games Lisboa? XXL Games Weekend? Mannn, it's complicated, OK!? These things can suck the life out of anybody, if they are not careful.

XL Games World

So, this one event takes place BEFORE Lisboa Games Week* and it's sponsored by some mobile carrier brand that we will not mention here. It ran from 14 to the 17th of November in Pavilhão Atlântico** and it hosted the cool Indie XL for indie gamers! Which also includes the PlayStation Talents section where Out of Line and Nerd Monkeys were included.

We got to hang out with other talented indie developers and play their games as well.
Meanwhile, our latest build was shown and attendees got to playtest our current build.

A PlayStation branded stage greets this simple man and complex woman

"Dad, can we try other games, now?" - "Shut up and play Out of Line, son."

The Indie XL area. All full of Out of Line fans.

The best game in the show.

At some point, Francisco was called on stage to talk about Out of Line by PlayStation Portugal, which was super cool! He was on stage with Marco and some other 2 random cool guys.

Marco from KEO talked about how Out of Line and San changed his life.

*Yeap, it's Lisboa and not Lisbon even though they like to use the fancy English names. Go figure.
** As if we were also going to write that ugly name that they use to call Pavilhão Atlântico

Lisboa Games Week

So, this one took place AFTER XL Games World* but at least it is not sponsored by some silly brand. Still a bit strange that it has the Portuguese word for Lisbon in it's fancy English name... oh well.
Again, Out of Line was present in the indie section called "Loading Zone" in this event that took place inside FIL (Feira Internacional de Lisboa) and ran from the 21st to the 24th.

We got to hang out with even MORE indie developers and were thrilled to get even more people to play our latest build!

Yes, that's a stand on the left with some other game from Nerd Monkeys. Nobody cares.

Another event! Weeeeeeeee!

*XL? Not LX as in Lisbon? Does it mean it's an Extra Large event? What does THAT even mean?


Everyone was tired by the end of it!
Both events lasted each 4 grueling days and they tended to finish around 10pm!!! WAT!

Diogo pretending to be tired, HAHAHA, HE IS ALWAYS TIRED!

At the end of the events Diogo and Genebra broke the chairs with "cheer boredom".

Going to events is important and... well... are they? ...we are SOOOO tired... see you next post...
Bla bla bla zzzzzz....

Monday, 11 November 2019

It's the little things

Here's a secret,
Inside the world of Out of Line, there are little bugs that roam around the factory. These bugs live their own happy lives doing the things they like to do more, like eat, sleep and play.
But when San comes along, they see in him someone who they can play with, someone they can have fun and maybe even help.

Bugs in Spine, from Esoteric Software

 "And there they were, in a pack of three, strutting along the grass and moss that grew over the years on top of all the machinery. As San watched them move out of the cave in the ground they were hiding in, they stopped and watched back. Silence. Both the creatures and San stood still for a moment, like two cats trying to predict each others movements. San took the first step and they did the same, even if was not just one step as their tiny feet and legs needed to take 4 or 5 steps to match him. A few more steps and some more mimicking and, after a while, San and the little things were hoping and moving about as if they had been friends for a very long time.
For a moment, San forgot where he was and the danger he was in and happiness filled the air."

Simulating AI and cooperative gameplay

For the bugs to work properly, it was first necessary to design around them. Artificial Intelligence is still a long way to become what people think it will become, so every videogame uses just a rudimentary form of AI for basic actions, functions or sometime just even simple scripts that make it look like the character has real life.

A section of one of Out of Line's level

The little bugs following San around

In Out of Line our AI is just that, chained scripts that perform counter to what the player does. They wait for triggers, delays, changes and other small things that the player does and then react accordingly. This allows us to design some cool and interesting puzzles based around the "intelligent" bugs that help out San.

Until next time,
Snug as a bug in a rug with a mug!

Monday, 21 October 2019

Production, bugs and inspiration

Hey there, "Out of Liners"!
Just like the title says, this blog post brings you an update on production, bugs and inspiration!
"Ahhhhh! Inspiration!" says the artist, "I thrive on seeing the work of other artists..."
"Ohhhhh! Money!" says the producer, "I thrive on smelling money..."
"Ehhhhh! 000101001!" says the programmer, "0101011101010101110010100101..."


Getting money is obviously important to get a game released with a minimum degree of quality. Even if you are an indie developer working from home or have a fixed means of support, it comes a time when some outsourcing is needed, like translation, quality assurance, music rights, etc. etc.

Our Nerd Monkeys, producer, Diogo Vasconcelos, has been for the last year and a half trying to get a nice flow of cash so that we can establish a fixed road map for launching Out of Line with the quality it deserves.
It hasn't been easy, Diogo has talked with investors, publishers, platform holders and many other people trying to assess the interest, opportunities and getting much needed feedback from fellow studios and developers about what we need to get a to an excellent launch.
But we think he is almost there. We have some very interesting propositions that will fund our little game just enough so we can make it the best it can be. We can't obviously talk about it here, but keep your digital fingers cross, we are definitely almost there.

Diogo answers 2 phones while listening to music and pointing to pie charts



Programming is the art of creating bugs, some would say. The more you code, the more potential bugs will arise. It's part of the job to write code and bring life to a videogame and then to go back and re-write that same code so it doesn't turn the CPU into a supernova.

João Genebra is constantly going back and forth with everything that he creates for Out of Line. But to help him out with bug hunting and code cleaning, he only uses the classic tools like MS Visual Studio, his trusty debugger and a notebook to keep track of all the bugs.

Genebra code from Out of Line



We talked before in the old blog about Francisco's inspiration for Out of Line, but has kept him moving lately? Is it some weird Dragon Crown's furry fanart or does he get high on Picasso's cubism?

This is what Francisco had to say more than 2 years ago in an old blog post:
"I always try to find inspiration outside the media of vídeo games. In movies, short-films, music, or even classical or modern art, and taking all that into consideration I try to converge it to one single product.
For San, the main character of Out of Line, I found a lot of inspiration in Hayao Miyazaki animation movies. In movies like, My Neighbor Totoro, Grave of the Fireflies or Spirit Away where you can find as a main character, a young kid - in contrast with American animation movies, but that can stay for another topic). And I think that has a lot of power as a narrative component or even as an icon for the audience to relate to. "

Here is what he has to say now:
"I ́m always looking for inspiration to Out of Line, either with styles of animation, color palettes, character personalities, environment moods, etc.

Right now I'm looking at a lot of different stuff:

Genndy Tartakovsky style of animation. He is one of the gurus of animation and I really like his animation style, and I wonder how could it work in a 2D game animation without breaking up the gameplay too much.

In the game Gris, I really love the tone of the narrative and the way the story is shown to the player. That kind of subtle emotion storytelling is something I wanted for Out of Line since the beginning of the project, and it is really cool to see a game pull that off, as well as Gris did.

The Knights and Bikes loose and extravagant feel, gives the player a really interesting main characters. They manage to capture very well the childish personalities of these kids.

The Legend of Hei, it's a Chinese animated movie that has a really compelling main character. A strong but curious kid as a main protagonist that has a journey full of challenges to complete. And really inspiring to see how different stories work so well with a younger protagonist.

Le College Noir by Ulysse Malassagne, it's a comic book where - you guessed it right - the main characters are also adventurous young children that fight monsters and explore cool stuff.

And there are a lot more stuff that I could talk about, but I leave that for another awesome post.

The Legend of Hei

That's it for today!
Keep it in the tub, Bub.

Monday, 7 October 2019

Designing levels

Hi there, "Out of Liners"!
Last time, we talked about a new rope mechanic and showed some photos from the team!
This caused an avalanche* of letters from the fans begging us to stop trying to be funny and stop showing our faces. Most of them said they wanted to see more about game development and less about what our desks look like.
Well, THEN. OK, "FANS"! We will stop trying to be funny and act more serious from now on. Except for that one fan that asked for more photos of Genebra, but also asked for them to be sent in private? Argh. Just no, ok? NO.

So, this week we decided to focus more on level designing and less on team photos. Specifically more about level design.

A game is nothing without proper game design and level design, and to get there things must be tried, tested and constantly changed. A good designer knows when to listen to feedback and implement it back in the game. That's why it's so very important to not take your own ideas and designs too personal. Clinging to a concept or idea because "it's yours" without listening to what your team is saying can actually ruin a design or even an entire game. Of course it's also important to know how to take an opinion and use it wisely.
As an example, and because we don't want to spoil the game, let's focus on a key area from the Vertical Slice that we showed last year at Lisboa Games Week 2018.

Out of Line at Lisbon Games Week 2018

This section is right at the beginning of the current Vertical Slice*
There are three jumps that the player needs to make. Also, each hole has rocks passing through them.
It shows to the player that he can just jump over each hole, by timing his jumps just right. But if the player is smart and learned the initial lessons well, he will use the spear to create an extra platform so its easier to jump. Ultimately, if the player is really smart, he will figure out quickly he can just clog the top pipes with the spear so that they stop spiting rocks.

*A Vertical Slice is a completed section of the game that shows how the game will look when it's finished. It normally also includes all final game mechanics.

Original drawing that includes the first version of the jumps and rocks section

When we showed the Vertical Slice at Lisboa Games Week 2018, we noticed a slight problem. The 2D platforms, even though they are 2D, they are drawn as if they had perspective. This caused a problem for people timing their jumps. Almost everyone thought they could walk much further than what they actually could, which meant they would always fall before hitting the jump button. The way the art was drawn actually induced player error so we had to fix it.

Changing the art made no sense. Every other puzzle, gameplay section and overall design looked good, played well and nobody complained, but getting the right amount of physical area for people to jump was tricky. Too little and San would usually fall to his death, too much and San would appear to float on air.

Jump section with rocks falling
The decision was simple, we would allow a bit of "coyote time" for all platforms. "Coyote time" is the notion that, in a platformer game, if you jump a little bit too late, the jump still works. This is particularly evident in endless runner type games. Canabalt achieves this by having the player's hitbox actually 8 to 10 pixels behind the visible sprite.
Implementing it was not hard and it was just a matter of testing how much "coytote time" we would allow San to have. In the end San has 80 milliseconds where he can still make a successful jump.

Coyote time. Notice where the shadow disappears

This is one way to safely jump across

A smarter way is just to straight clog up the pipes

Thanks for everyone for following our dev-adventures.
Remeber to check our Twitter and feel free to send us some messages, except for the person that asked for Genebra's photos, please stop.
Bye-bye, French fry!

Monday, 16 September 2019

Rope mechanics

Hello "Out of Liners"!
Is that a thing? Let's make that a thing.

We have been busy all through out our Portuguese summer and the team worked hard on two big things. The first was all about implementing a first version of the entire levels from start to finish into Unity. The second was designing, testing and polishing a new feature, the rope mechanic.
We won't be showing the levels design as that would be a major spoiler but we will show and talk about the awesome new and cool rope mechanic.

The rope mechanic
Now, whats better that being able to throw a spear and use it as a platform? What about attaching a rope to said spear and use the rope as a transversal mechanic? Hum? What? You've seen this before? Pfff, shut up. Our is a much better rope mechanic than any previous rope mechanics. We call it the Incredible Rope Mechanic

Programming the rope mechanic
For the rope implementation, the main characteristics we wanted it to have was for it to be able to withstand the player's weight and other objects and have a dynamic length.

To withstand the weight, the solution was to have as few segments as possible composing the rope to reduce the tension between each segment's hinges. The problem with this is that visually, the rope looks really blocky and you can clearly see each individual segment, so we just make the segments invisible and simply draw a line by interpolating the positions of all the segments.

In terms of the dynamic length, this was necessary due to the fact that when the spear is thrown, we don't know how long it needs to be. The solution was to set a ratio of segments per distance and activate/deactivate each segment as needed. If the rope needs to stretch, more segments are activated. If the rope needs to shorten, more segments are deactivated. This way we make sure there aren't any gaps in between segments so nothing falls through the rope.

Rope transversal working with San transversal included
The idea came from the need to add a new mechanic to San's spear that did not look like just a power up but just a normal progression and adaptation of the spear to the environment. This is the overall idea of the game, not having power-ups and focus more on the story and transversal, so it makes sense that the spear evolves in the same manner.

Design ideas for possible in-game obstacles
The spear mechanics means we can connect objects we wouldn't in any other way. Examples; we can create connections / bridges between platforms to cross over; create crane systems and then use them to pull or push and control objects; lock moving objects like platforms or even enemies; etc.
Usually these bridges created by the spear can support objects, the main character and secondary characters.

We can't show you much of our ideas as we implement and design the entire game, but you can see the team sweating as they endure the Portuguese heat. Can you feel it? Even San is digitally sweating.

Francisco and João laugh as they have no clue how to actually make a game

We have no rulers in the office so everything is measured in a more traditional fashion

The rope mechanic being test by João Genebra, the Incredible Rope Mechanicprogrammer

Testing out a build on the PlayStation4... with a PlayStation4 controller... in a PlayStation4 DevKit... you get the idea
Thanks for following our little blog, please check out our Twitter and drop us a like.
In a while, crocodile!

Monday, 29 July 2019

Character animations

Hi there, Out of Line followers!
So much stuff to talk about!...and ...PRESS START!

Character Animation
If you are a fan (which we know you are... yes, YOU), you've noticed the way San moves has changed a lot since production started. He now moves STYLISHLY :)

San running in Unity engine

The reason for this is that we decided to completely revamp the way we animate our characters.
Our previous prototypes were made with frame-by-frame animations. This looked cool enough but presented a lot of challenges and limitations. It took a long time to animate, changing something was very painful as it meant redoing entire animations, we were limited to what type of interactions we could do, yada, yada, yada, the list is LONG!

So we decided to change to a 2D skeleton type of animation. We know a lot of games have been doing this now for some time, but it only became obvious this way was the way to go after we did it. This is a typical thing in videogame development, try things, they don't work as intended, try new things and so on. Keep doing this until you get it right.

The new animation system has a lot of advantages
- Easier to animate, create new animations, change them, etc.
- Animation is always dynamic and fluid since it is all skeleton based
- We can have IK for San's legs. This allows him to stand correctly in tilted terrain, respond to platform movements and even stand on his own spear!

Doesn't have
- A cool looking old school animation style
- More control over stretch and squash

Frame by frame
Skeleton based

Status of development
Overall work is going nicely, lot's of new things to talk about in the upcoming weeks and months.
The PlayStation 4 build is looking steady and stable and the team keeps working hard.
Expect some details on a new cool mechanic on our next blog post!

That's it!
Don't forget to follow us on Twitter!
See you later, alligator!