Isometric role-playing games have long been a strong format for exploring interesting storytelling ideas and fascinating tabletop game mechanics.
In the last few years, a number of notable developers have returned to the genre. Last December, Polish game dev Fool's Theory and publisher IMGN.PRO teamed up to release Seven: The Days Long Gone, a new entry in the genre that focuses on stealth and, remarkably,, 3D platforming.
When we decided to stream Seven last month, we did so because we felt it was notable that a developer was pushing some of the genre's technological boundaries, creating more wide-open spaces and multiple terrain levels for players to navigate.
You can watch the full hour-long stream above, in which Fool's Theory project lead Jakub Rokosz and world and story designer Karolina Kuzia-Rokosz join us to discuss the game's technical achievements, as well as its design and story conceits as well.
To help other developers better understand how the game works, and what challenges the team faced in creating an isometric stealth RPG in which the character can shimmy off balconies or scale cliffs, we've transcribed some useful parts of that conversation below.
Bryant Francis, Editor at Gamasutra
Alex Wawro, Editor at Gamasutra
Jakub Rokosz, Project lead of Seven: The Days Long Gone at Fool's Theory
Karolina Kuzia-Rokosz, World and story designer of Seven: The Days Long Gone at Fool's Theory
Wawro: It seems ambitious for a small team to jump right into games with a sort of traditional asymmetric-esque CRPG; this seems like a lot to tackle, although obviously your experiences with CD Projekt informs your work on this, I'm sure. Why did this particular project seem like such a good idea for you, your first time out?
Kuzia-Rokosz: If you think about it from the practical side, [the gap between some big ideas and what we can do is large]. So, first of all, we have a small team so first-person is really out of our reach for now, for such a small team. On the other hand, we still wanted to make something innovative, so like an isometric RPG or other game seemed like a good way to start.
"We decided on an isometric point of view, not just because it was easier -- it wasn't actually easier because we had the other problems with the camera and perspective and combat, etc. -- but it kind of took some problems out of our way at the start."
Rokosz: It's a good way to start, I was thinking at length about it, about what we should do for our first project, and I always loved and wanted to do an RPG. What happened was, I started calculating how many people you needed for the back end, to do stuff of the proper quality level. It turned out that I don't have that much money, and I don't know anyone who does! (laughs)
So we could either crunch like crazy, or we could have only seniors in our team and crunch like crazy, or we would have to do something different, in a different approach. So we decided on an isometric point of view, not just because it was easier -- it wasn't actually easier because we had the other problems with the camera and perspective and combat, etc. -- but it kind of took some problems out of our way at the start, so we didn't need any people in the cinematic department, so we didn't have to do film-esque cutscenes, or facial animations, or rigging all the fingers and stuff. That takes some workload off of our animators and stuff.
So it's definitely easier to do this kind of game in a smaller team. The other thing was that, when we were doing Seven, it turned out we knew that we were going to need people who were multi-instrumentalists, so they could do anything and everything. So oftentimes it would be one person in our team would do three or four departments at the same time and juggle tasks.
Wawro: What is the rule you use for how to clip away objects in terms of where the camera rotates, and how do you decide which thing to clip away, and when?
Rokosz: Basically, in our game all the environments are done from modules. So there are little breaks that construct the whole map. Our lead programmer, Łukasz Królikowski, was working hard and delivering this feature where basically he has numerous traces from the camera to the player which gather all the objects that could get in the way, and then... I hope I am not making this stuff up! You can follow it up with Lukasz after this stream. But I think he's dynamically doing material replacement with those objects, replacing them in real-time basically. I hope Lukasz answers your question because this is basically a custom-built system that our programmer did.
Francis: It is really cool, I was struck by, in a player's sense, I'm overwhelmed with it in this town just now, how there's so much to do in this one area. Unlike other CRPGs, like verticality here becomes not just a sloping of a 2D space, but it exists in a very big way. Like, right now I'm sitting in the middle of three levels. And of course I can climb on top of things and jump over things.
Wawro: Yeah. This is running on Unreal Engine 4. Let's talk about the challenges you face in trying to make this isometric RPG on Unreal 4 where the character isn't stuck to the ground. One of the most striking things that we'll see is that he keeps climbing over things, sliding off things. That's fascinating. How did you do that? What challenges did you face?
"Simply cutting the geometry by hand on a level just wasn't cutting it, so we had to design and implement a special system that would take our geometry and take a snapshot of it cut into pieces, and then stream those pieces instead of regular geometry."
Rokosz: Of the challenges that we encountered, the biggest challenge was how we handled navmesh. All of those objects have edges generated with on them with links and stuff like that, so it had to be generated, and at some point when we started to do our prototypes, we discovered that there is actually a limit of those edges that you can have streamed at the same time. So we had to do a little bit of tweaking to the engine.
I don't know if it had this feature right now, since we're on a fairly old Unreal engine version. We're going to be upgrading soon. But we had to do our custom system which would stream, which would first cut the navmesh into grids, and then it would stream the grids as you progress through the map. The same would go with streaming geometry, just simply cutting the geometry by hand on a level just wasn't cutting it, so we had to design and implement a special system that would take our geometry and take a snapshot of it cut into pieces, and then stream those pieces instead of regular geometry. Those were bigger issues for the early end of development, at the year mark.
Then we started having problems with AIs, like chokepoints on too many AIs streamed. Which is kind of the situations where you can see that the most is exactly the moment you can see the big backdrop at the end where you can see all the levels, and all the monsters and NPCs on those levels, and sometimes you get into having 500 AIs at the same time on the screen. Even though you don't see them because they're small, they're still there.
Implementing the Techno Eye
Francis: Let's talk about "Techno Eye" feature that you've implemented. For those of you watching at home, I'm holding down the "Q" button and moving the mouse around, and it gives me an overlay of information about the world around me. Can you talk about the process of implementing that kind of feature, and why do you think RPGs benefit from giving the player special vision, if you will.
Rokosz: The main reason that we did this was because of the perspective. The perspective is fine in looking into this [area], but it doesn't give you a good view of the area you're about to explore and infiltrate. So in the sneaking game, that's a big handicap. You have to give the player some way to counter it.
So the sense mode where you can pan the camera like 1.5 screens left, right, up or down so you can have a quick look around. Also for us, it gives us the opportunity to not fill the screen with too much information in the UI, because usually you would have information about how strong the enemy is, what the difficulty is, how much HP he has, etc., where here you have a prompt that we just saw.
And you can upgrade that prompt, we don't give you the full set of information on the spot, for the player who's not really interested in it, he doesn't need to upgrade it with passives. But there are some upgrades that you can implement that give you special abilities. Like, insight into NPC statistics, their pockets, how wealthy, what challenge they pose, etc.
Wawro: I think that's really interesting, when you see systems like that in games, just sort of like super-vision systems where the player can easily hit a button or a toggle and look for clues or data they need to know, sometimes it can be hard to keep the player from just keeping that on all the time.
I remember that in the Arkham games, it was very common to have Batman with his Detective Vision on all the time, just so you know where everything was, and could see all the enemies. Was that a challenge that you faced in designing this, and if so how did you deal with the fact that it's so easy for players just to leave that on all the time?
Rokosz: That was one of the ideas we had at the beginning, why not just give a toggle button for it and be done with it? But then I definitely felt, well it's rather pointless, at the same time you could just leave it on and everybody will be running around with it and have a huge disc around them with all the containers lit up and all the enemies visible and stuff like that. This is like that part of the mechanic, of actually going into the sense mode and stopping for a second from running like crazy, and having a breather and looking around and thinking, what now? Where can I go? What can I see? This is the gamification of Teriel looking around, basically.
Kuzia-Rokosz: We tried the approach with everything enabled, so you could see every view-cone of the NPCs, which was so unclear. So now you can see view-cone of the character you click on.
For more developer interviews, editor roundtables and gameplay commentary, be sure to follow the Gamasutra Twitch channel.