Programmer Sam Swain, who spent much of his career in the villages and
forests of Albion whilst at Lionhead Studios, has been beavering away working
on his frankly astounding passion
project - Apparance - for a while now. Last week saw Apparance officially go
live on the Unreal Marketplace, ready to help developers experiment with
procedural generation techniques.
Although Apparance is a game development tool, you don’t have to be a game developer to be wowed by what Apparance can do. Seeing a believable city (or a forest or library…) *pop* into existence in front of your eyes is truly awe-inspiring. It could well be witchcraft and we are 100% bewitched!
The procedural possibilities of Apparance are endless - check out the launch video below to get an idea of just what this plug-in can do for game developers.
Now fully under the Apparance spell, we needed to know more - so we sent Guildford.Games’ Sam Read to ask Sam Swain some questions about his creation…
It’s a procedural generation plug-in. A play-space for developers who want to use procedural logic for the rapid generation of objects, environments… even expansive 3D worlds. By fusing programming and 3D modelling, Apparance gives developers extensive and parameterised control of their game assets.
Gloomhaven was a perfect fit for Apparance, it’s been great working with the Flaming Fowl team. They’re recreating a popular board game and the original plan was for their artists to create all 100 campaign levels by hand. Once they started using Apparance, they were able to generate their levels automatically and focus on tweaking the details. It saved them a huge amount of development time.
Apparance is great for making games but there are other applications too.
It’s been used to generate a huge replica of
New York City from OpenStreetmap data and build virtual exhibition
space from simple room definition files. I’m excited to see the other
applications people come up with.
It’s been a passion project of mine since 2005 when I was working at Elixir Studios in London. Their product, Totality, was marketed as an infinite polygon engine with a crazy amount of detail. It was very ahead of its time and fell short in some areas which made me wonder, how could it be done?
I joined Lionhead shortly afterwards and through a lot of work in my own time, had a functional prototype around 2016. On a Lionhead Creative Day I decided to try and recreate the classic Fable style of house, procedurally. It worked well and gave me real confidence in the tool I was building.
Lionhead closed shortly after that Creative Day which was a real blow. I’m grateful though that its closure gave me the chance to work on Apparance full time for a while. The Unity version came out of that and my old Lionhead colleagues at Flaming Fowl decided to use it for their game, Gloomhaven.
A big step forward for the project happened recently when I was awarded an Epic Mega Grant. The grant funded about five months of my time last year to produce the Unreal version of Apparance. Unreal is now our lead game engine and it feels great to see it up on their store. I’d like to say a big thank you to Epic Games and Fortnite. It was an amazing opportunity, very generous.
The most prominent USP of Apparance is that it works at runtime. You can have your game decide what it’s generating as you’re playing it, or as it's loading on the client machine. Nothing needs to be predetermined which allows for a different kind of game, potentially bringing endless replayability. I hope that Apparance might enable some new kinds of game design.
There’s a big procedural generation tool called Houdini which is often used on film & TV productions. Houdini is designed to be used offline and post-production. The key difference with Apparance is that it produces things on the fly.
I’ve been working in the games industry since 1995 so I’m very tuned-in to what games need and how games work. It makes sense for the games industry to have its own tool based on its own processes. With that in mind, I designed Apparance to be deeply customisable and far less time-intensive than what’s currently out there.
Any industry producing visuals in Unreal will probably find Apparance interesting. I can see it being particularly useful in projects where you need to build lots of similar but subtly different things. Set building or prop generation for example… There are lots of crossovers between games and film / TV.
I’m not sure if procedural generation is used in
architectural visualisation but it certainly could be. I know the automotive
industry is using Unreal engine tech more and more too. It would be interesting
to discover how Apparance could influence those kinds of projects.
I’m most excited about the unexpected. Once I see people using Apparance in ways I never designed it for, I’ll know I have created a successful tool.
I’d love to see it being used in game jams. I hope that students will discover it too. It always felt important to provide an evaluation version at a lower price point to encourage experimentation. It’s a really playful tool. People will have fun mucking around with it.
Sam - we’re gonna need you to promise that you’ll share any and all examples of Apparance being used in any way with all of us on Twitter!
A good friend of mine has been learning how to use Apparance recently and was kind enough to livestream the process. It’s been fascinating to watch. I got lots of valuable feedback from that which I’ve already incorporated into UI improvements, documentation and tutorials. Thanks Ed!
Fundamentally it’s a technical tool, you are effectively building a visual scripting or programming-style language as you go. A lot of programming concepts are involved but it’s very possible to just use our examples or tinker with existing things. There are loads of supporting techniques you can learn over time. I’m going to document more and more of this stuff in future, especially as the feedback rolls in.
It certainly seems to be sparking imagination in people! That’s exciting to see.
On the technical side, someone pointed out the fact that our editor is the same for both Unity and Unreal engines. I think that’s a more unique feature than I first realised. It means that the data you produce on one engine can be carried over to the other seamlessly. It’s a truly cross-engine tool.
You heard him, devs or other creative folk - if you’ve been inspired to give Apparance a shot, Sam wants to hear from you!