Header banner Header banner

Anders Granlund

Anders Granlund

Introduction

Picture of Anders Granlund

One of the most impressive things to happen in the ST game scene in the last years must be the conversions of classic Lucasarts' adventures by Anders Granlund. We are finally able to play Monkey Island 2 and Indiana Jones and the Fate of Atlantis in glorious 16 colors. And he even managed to make the amazing Day of the Tentacle playable on a Mega STe. If you want to learn more about the tricks this guys pulled of to make this magic happen, look no further.

Profile

There is currently no profile available in our database

Credits

There are currently no credits for this person in our database

Anders Granlund Interview

Written by ST Graveyard

June 27, 2021

1) Introduction
2) History
3) Coding
4) Gameboy and Wolf
5) SCUMMVM
6) SCUMMVM on the Atari
7) SCUMMVM-Lite is born
8) Day of the Tentacle
9) Sierra Online
10) Real life job
11) Still a gamer?
12) The Atari scene
13) Idols
14) Words of wisdom

1) Anders, present yourself to the people who have not heard from you before.

Hey! Well, I'm in my 40s, live in Sweden, and have been more or less interested in computers all my life. I have vague memories of a punk period where playing music was in the center but I gravitated back to computers as I got older. Nowadays I generally try to avoid computer hobbies outside of work and my main passion and hobby is actually dog training for search-and-rescue style competitions.
I am really quite new in the Atari scene and ended up here a little by accident as I found my childhood Atari from the attic.


2) What is your history with computers? When did it start? And why the Atari ST?

My very first encounter with a computer was a Commodore 64. It was a friend of mine's older brother who owned that computer and us kids used to play on it when he was at school. We weren't really allowed to touch that computer though, and we were all a bit afraid of his much stronger brother. It usually ended up with us running "for our lives" as he got back from school and realized we had been using his C64. I guess we thought it was worth the risk of getting a beating! As we got older, we all became good friends though, and still are today.

I finally got my own computer at Christmas 1985, the Atari ST. It came with Defender of the Crown and I was completely amazed by it! The computer was intended for the whole family, but I can safely say I was the one mostly in front of it.


3) When did you learn how to code?

Still young, I became interested in making stuff with the computer. To me, programming felt most interesting so that's what I tried. The ST had come with a Basic interpreter so I used that for a while but what had the biggest impact on me by far was STOS basic. It enabled me to make a whole bunch of (very simple) games - some together with friends, and some with my father who would draw the art and help me if I got stuck with something in the programming.


4) You are currently best know for your SCUMMVM Lite engine, but have you done anything else?

In terms of hobby projects, I was quite active in the early Gameboy community when it was small and still very much in its infancy. I released a couple of games and game prototypes for free back in those days. The most notable for me is "Poke Mission". It was a simple game, but it was fully completed which was quite rare back then. That game landed me my very first job as a games programmer.

Since then I haven't done much games-related open source stuff.

I did revisit the Gameboy again just a few years ago when I made a version of Wolfenstein 3D for the Gameboy Color. It ran on a custom built cartridge with a coprocessor for handling the heavy lifting. This was mostly a learning project for me, not so much about the programming but more about electronics in general and seeing if I could make something in the same spirit as SNES SuperFX but for the Gameboy. There are only a few actual cartridges in existence but I did make the source code and hardware schematics available for free.


5) Can you explain in simple language what SCUMMVM exactly is to the non-technical people out there?

It's a free and open-source re-implementation of the engine that Lucasarts used to make their old adventure games with. That engine was simply called SCUMM. Over the years, SCUMMVM has grown into a sort of huge collection of different reverse-engineered adventure game engines brought together under the same user interface. It's a very impressive project indeed and it allows us to play a whole ton of different adventure games and on many different hardware!


6) SCUMMVM was already ported to the Atari computers, but from my understanding, you needed to have a very beefy Falcon to be able to run anything. Do you know anything about the history of the original SCUMMVM port to the Atari computers? And what is your opinion about it?

SCUMMVM is made with portability in mind, both in terms of making it easy, to add new engines to it, and for bringing SCUMMVM to new platforms. I think this design is absolutely the right way to go and it wouldn't have been as big and successful today if it had been done any other way.

This approach does come with some performance drawbacks though. These are not a problem for machines where you expect to run SCUMMVM on but porting it to something much less powerful like the Atari ST or Amiga, does require a bit different thinking.

I don't have much knowledge about the history of the original port. I knew about it and had read about roughly what specs were required. That port is mostly using a generic SDL backend (sort of a portability layer) and I knew that the Amiga port had lower system requirements by using a custom made Amiga backend. Both of these approaches are good from a portability point of view and won't break anything for any other platform, so these ports can live in the same codebase as all the other ports.

The official Atari and Amiga ports are true and full SCUMMVM ports that behaves like they do on most other platforms and can play a good deal of games. If your Atari is fast enough, then that port is your best choice for sure.


7) Why did you want to make a SCUMMVM LITE version for the ST? Was it hard to optimize the code? Can you tell us a bit about the history of this project? And why Monkey Island 2, Fate of Atlantis and DOTT?

I had just gotten a TF534 accelerator into my Atari and wanted to make something that took advantage of it. I really love those old adventures games so my initial goal was to attempt a port that could run decently on my accelerated machine: 50Mhz 68030 with 4MB of RAM. I started with the same approach as the Amiga port by avoiding SDL and making my own Atari backend. This got me quite close to where I wanted and DOTT ran fine in most circumstances.

Somewhere along the line, as I was optimizing to get DOTT to run better on my accelerated machine, I started to think more and more if I should attempt to get this thing running on something stock. I think my wish was for Monkey Island 2 on a stock ST, or failing that at least on a stock Falcon.

Up until this point my port was quite well behaved with all my Atari specifics confined to where it was supposed to be. To have any chance of success I would need to be able to optimize everywhere not just the places where you are meant to put platform specific stuff.

Basically, it'll be a one-way street with no chance of bringing my port back into the mainline codebase. (Not unlike back in the older days when porting some game to a much lesser platform)

To me, I considered this a port of Monkey Island 2 for the Atari ST rather than a port of what you normally think of when you think of SCUMMVM. Despite suffering through endless floppy disk swapping of MI2 on a friends Amiga back in the days, it's still on my list of favorite games, so it felt like a given choice. Those other few supported games came along "for free" because they were using the same, or similar enough, version of the SCUMM engine.

But with this mindset I was free to optimize and simplify for a very narrow use-case wherever I wanted and without having to consider any of the other game engines or official ports of SCUMMVM.

As an example I could drastically reduce the complexity of the sound code because I knew exactly what data to expect and how I need to output it, rather than having to be able to deal with "anything in" + "anything out".

Graphics was of course the biggest optimization. In SCUMMVM there is normally quite a bit of conversion going on before it hits the screen. From the individual game engines, to SCUMMVM internal, and then finally for the backend to make it show on the screen.

I ended up rewriting all code that touches on graphics to make it as optimal as I could for outputting to ST-Low resolution. That involved adding an "installer" step that would pre-convert the PC graphics into something that would fit my new code without having to go through graphics conversions during runtime.

Another particular big challenge for me was STE and Falcon sound. I only have one real Atari, my original 520ST so I had to rely on emulators and user-feedback to get that part working.

There are also a lot of other small optimizations here and there that are acceptable when doing a port this way but wouldn't really be considered clean and proper for a shared multiplatform codebase.

A disadvantage of all this is course that it's not trivial to add support for other games that runs on the normal SCUMMVM. You would have to rewrite the graphics code for the game engine it is using in the same way as I did for the SCUMM v5 engine.


8) You say you have ‘optimised’ SCUMM v5 for the games, but DOTT is SCUMM v6, if I can believe Wikipedia. Does that mean you have done the same amount of work on a V6 game as you did on a V5 game like Monkey Island 2 and Fate of Atlantis? And does this mean that it might be ‘easy’ to get Sam and Max running on the Atari Mega STe with the same changes as done on DOTT?

You are absolutely right! DOTT is a v6 game and Sam and Max does in fact sort of run, just quite far from good enough to be considered playable. You could say DOTT behaves a lot more similar to a v5 game in terms of which features it uses while Sam and Max takes advantage of more v6-only stuff that I haven’t touched (some new graphics formats and drawing routines etc) So this is mainly the reason why I felt it was worthwhile to do the extra steps for DOTT (plus, I really love that game!). With that said, it would be easy-ish to do the extra steps for supporting Sam and Max as well.

My very first target was to get DOTT running as close to flawless as I could on my accelerated ST and I got quite close to that with clean code which fitted the existing SCUMMVM framework. It was after this I decided to take the plunge and go for larger and much more intrusive optimizations with a hope of getting Monkey Island 2 running on a stock(*) ST.
(*) well, stock CPU at least.. It still requires a HDD and extended RAM.

At that point I was loosely shooting for DOTT to maybe end up running somewhat ok on a stock Falcon - but the end result really surpassed my expectations.

I mostly used Monkey Island 2 and Fate of Atlantis on my unaccelerated ST as a testing and benchmarking tool. It took quite a bit of effort to convince the old ST to accept these games. Since DOTT is using mostly the same drawing code as the v5 games, everything I did to improve the Monkey Island 2 situation was directly impacting DOTT in a positive way as well.

I’m really stoked DOTT ended up playable on a Mega STE :)


9) In the SCUMMVM-Lite thread over at Atari-forum you mentioned you might also be converting some of the Sierra SCI1 games like Larry 5. This is a personal dream coming through for me. Do you still have this ambition?

This is a personal dream for me as well and I haven't fully given up on that idea. The Sierra games were favorites of mine on the Atari back in the days!

Doing so is a huge chunk of work. It'll of course benefit greatly from all the work already done but the Sierra engine layer needs the same treatment as what I did for the SCUMM v5 engine.


10) What do you do in real life?

I work as a programmer in video games. Engine and tech work for many years, but before that when teams were smaller, I worked on all areas of games. I started my career on the Gameboy Color and have enjoyed this line of work since. At home and for fun I enjoy the older platforms as they give me a sense of nostalgia and a type of programming which I haven't done professionally for a long time.


11) Are you still a gamer? Retro or new or both? And if so, what is/are your favorite game(s)?

I'll admit I don't play that much games anymore. I still buy and launch quite a few games out of curiosity or to check out something that a friend has worked on, but I don't finish very many games.

The big exception is anything from FromSoftware, I will play those games through more than once. The first Dark Souls is still my favorite along those, closely followed by Bloodborne and Sekiro.


12) What do you think of the Atari scene of today?

You know, I was amazed that it still existed! It wasn't that long ago that I brought the Atari down from the attic (it's the very same Atari that I got back in 1985). I couldn't bring myself to throw it away but I also didn't really know what to do with it so I went online to see if I could somehow upgrade it. The community is super friendly and helpful and I've been having a whole heap of fun upgrading my old Atari to something I would only have been able to dream of back when I was a kid.


13) Obligatory question. If you could have a beer with anyone, who would it be and what would you ask?

My father, he passed away when I was a kid but he was a major part in teaching me how to teach myself and not be afraid of failures. I don't think I'd ask anything specific but just having a drink together as an adult would have been nice.

I wouldn't mind having a beer with the creators of STOS/AMOS. I'm pretty sure that just like me, a lot of the kids back then are now in the career that they have thanks to that piece of software.


14) Any last words of wisdom to share?

Limit scope is my best advice when it comes to making something for fun. A lot of projects die because of unrealistic or ever-changing scope, or become abandoned at the later maybe more time consuming and boring stages. If you have a clear goal and a realistic scope you'll have a much higher chance of being able to follow through until completion.

While it's fun to make prototypes, it's incredibly rewarding when you can sit back and feel proud of something you consider finished.


Interview Comments

Please log in to add your own comment to this interview

Latest Interviews

Eckhard Kruse

October 26, 2021 by ST Graveyard

In 1986, Eckhard Kruse wanted to program in assembler on his Atari ST, but he could not find the software, so he build his own version of the assembly language tools for the system. He managed to create a music editor at the age of 16. But that was just the beginning. This is the story of one of the pioneers of the Atari ST scene. His Grafik und Sound demo is considered the first of its kind. He is also responsible for possibly the most famous monochrome game on the system, called Ballerburg.

Matthieu Isorez

October 6, 2021 by ST Graveyard

In 1993, Matthieu and his friends witnessed Alien Breed on the Amiga. They wanted this game on the ST, but Matthieu had only programmed in BASIC. This wasn't good enough, so he started to learn assembler, and slowly, Alien Blast was created. It took a whole 3 years but by 1996, the game was released as shareware. Want to learn more about the details of its creation? Look no further.

Robin Ball

October 2, 2021 by ST Graveyard

Robin's career in game design and computer graphics got triggered by the release of 3D Construction Kit. After his first few releases as shareware and licenseware, it was time to go into a more commercial route. Late in the Atari ST's lifespan, Robin created the game Alien Thing, together with programmer Martin Millner. Find out all the history and much more in this interview.

Marcus Platt

September 28, 2021 by ST Graveyard

Marcus Platt is the creator of the hidden gem STORM '94. His game was based on some old game logic he once made in the 80's on a ZX Spectrum. But it never turned into a game. Until he witnessed Alien Breed on his friend's Amiga. STORM '94 is a fantastic game that deserves way more attention. You have seen the video, now it is time to learn even more about the man behind the game.

Andrew T Gisby

August 5, 2021 by ST Graveyard

Zero-5 was one of the most ambitious games during the final years of the Atari STe's lifespan. An incredible spaceshooter which really showed what the STe was capable of. The second and last game released by publisher Caspian Software for the Atari STe. Andrew Gisby proved he was an amazing assembler coder. If you want to learn more about this amazing title, put on your space suit and get ready to kick some Morphon butt because this is the story of Zero-5.

Currently 0 registered users online

In the past 24h there were 3 registered users online