“Parallax” is, quite simply, the name for the visual effects where objects seem to move differently depending on the viewpoint – in media we typically refer to parallax scrolling as a way to add depth to a flat scene by having several layers of background that we move at different speeds. It has been used in animated movies more or less since the beginning and in videogames since the early 1980s. While 3D rendering removes the need to take specific steps to create parallax effects it is still used heavily in most 2D side-scrolling games.
Parallax scrolling existed in the Backworlds engine even before we started working on the original prototype, but I’ve recently had to change the workflow a bit to make production more streamlined so I thought I’d talk a bit about how it works today.
Today is Shrove Tuesday! Or, if you’re from the UK or Australia, pancake day. In Sweden – though neither Juha nor myself live there at the moment – we eat semla . But I digress.
Rather than talk about a specific piece of tech today, I wanted to briefly talk about a random selection of things we have worked on during the last couple of months. Because I want to keep it real and definitely not because I don’t want to paint more pictures.
Happy Halloween! In the spirit of the season, I will take this opportunity to talk about the dead. Or, to be less melodramatic (and less seasonally relevant), another one of the world designs we decided to abandon along the way. Continue reading
Apologies for being late! Juha and I had both wanted to check out PAX at some point, so this year we decided to meet up in Seattle for PAX West. Hopefully we can be a part of the exhibit at some point in the future but for now we were more than happy to go to some panels and check out the games.
As I’m finishing this up, the Summer Games Done Quick event of 2016 has just started – you should watch it.
I’ve dealt with some physics simulation issues lately that I wanted to talk about – this is probably going to be less coherent than usual since it is essentially a multitude of solutions to a problem that good system design would have prevented in the first place, but it has been a big enough deal for Backworlds development that it feels worth discussing.
The last couple of months have been pretty productive – I have worked on bringing the narrative concepts and art styles of different worlds and backworlds to a good place, in part so we could see what worked and did not but also because it helped us determine the amount of work needed to make a full art pass on the entire game. This meant both the time needed to create the art and figuring out the technology we needed to develop to make it look pretty and be quick to work with.
I had planned to build some new effects technology for this and discuss it today, but in the end I decided against it for a couple of reasons. First, while new and isolated tech is fun and frequently useful, without seeing heavy use out of it we can’t really say for sure how well it works and if it’ll even end up in the game – I’ve been a bit dishonest promoting prototypes in the past and I’d like to be better than that. Second and maybe more importantly, there are less interesting tasks that are going to improve workflows and save us time. The more time the sooner we add them, in fact. I am making an attempt to be smart about development so we don’t add time to a development cycle that’s already too long, and this was inspired by Tom Francis’ GDC talk Efficiency for Game Designers – we have recommended some free GDC talks in the past, but today I thought I’d pick out some of my favorites over the years.
There are plenty of ways in which content – specifically textures in this case – can be optimized for memory and performance. While on a small team every developer should have a good idea of what kind of impact their craft has on others and be able to account for that in their work, it is also important that preemptively optimizing content does not take up time that could be better spent working on its quality.
On Backworlds, we accept any kind of format textures and when memory or performance is a concern we optimize them in a build step – normally I would save this kind of work until late in the project but since we have already released a prototype, a demo and run playtest builds the build system has grown to be pretty big. Read on for some of the things we do to automatically optimize textures.
I meant to write this earlier but I’m always jetlagged this time of year so the plans kind of fell through until now. Rather than working on new exciting features over the holidays, I spent the last week of 2015 going over what had done. Some 300 levels, most of which are reworks, empty tests or otherwise things unfit for release, but still a good amount of puzzles to work oneself through even if you know them. Luckily, there are other interesting things going on in the gaming world!
Awesome Games Done Quick is still ongoing, if only for a few more hours. There has been a lot of interesting runs during the week – I liked the reprise of Battleblock Theater and as a fan of punishing platform games I was fascinated by the Battle Kid 2 run. Also looking forward to the Super Metroid run tomorrow.
IGF 2016 finalists were announced, I was happy to see Undertale and Her Story among the nominees, but maybe more so by seeing so many lower-profile games among the nominees and honorable mentions. Or maybe I’m just losing my indie cred. Ah well.
Global Game Jam 2016 is coming up and my acquaintance Gorm wrote about the history it. I have taken part in the Global Game Jam several years, but perhaps the most memorable one was at the central site in Copenhagen together with Juha and a few more friends just after we had finished the Backworld prototype. Gamejamming in general is a great way to do improve your craft in a number of areas, and I recommend GGJ in particular due to the legacy.
Happy 2016 everyone!
TL/DR – the news I have to share this month is that Juha has decided to take a less active part in development for a while. I will let him elaborate on that on his own, but development on Backworlds continues and he will remain involved in all non-trivial decisions regarding the game.
To elaborate on the state of things on my end, I’m going to go into some history after the break…
Keeping the trend of “things that have been disproportionately helpful” from my last technology posts, today I am going to talk a bit about why curves are awesome. I am a bit late to the party on this one so if you have been working with particle effects during the last five years or at all with animations then chances are this post will not give you a lot of new insights. Sorry!