Smith and Winston is a twin stick shooter that features platforming, puzzles, and voxel-based destruction. It is an indie game developed for 5 years by Execution Unit.
- Fully destructible everything.
- Two player couch Co-Op.
- Humorous storyline.
- Explosions, with extra explosions.
- Twin stick combat.
- Metroid style exploration.
- Selection of weapons and power ups to collect.
- Rocket pack adding another dimension to twin stick combat.
- Buddy Mode – Coop player 2 can’t be killed. Play with your kids or your friend who sucks!
- Casual Gameplay – Challenging and rewarding not insane and hard, it’s fun to explore and shoot and destroy.
Buy, wait for sale, or avoid?
As you have seen in our game play video, Execution Unit is honest with what they advertised. All features listed work and they work together in a very good way. The one thing that really stands out in Smith and Winston is you need to use your brain to play this game. There are no map markers or waypoints telling you what to do next. When was the last time a so-called “AAA” game did that?
If you want a twin stick shooter that is challenging and innovative, I think Smith and Winston fits the criteria very well. It is one of the few games I can strongly recommend to buy at full price. You can buy the game at Steam for Php449.95 or at Itch.io for $19.99. Smith and Winston is also DRM-free at Steam.
Performance and Linux compatibility
The game is available on Linux, macOS, and Windows. I tested the game on Ubuntu MATE 18.04.3 LTS and performance was great on Radeon RX 580 8GB. Frame rate is consistently at 60 FPS on 4K resolution and there are no graphical glitches when using Mesa 19.1.2. Currently, the game is capped at 60 FPS but the developer mentioned it will be fixed in an upcoming update.
Interview with Execution Unit
Not many independent game developers support Linux so I was curious how Execution Unit managed to develop and release a properly working Linux version of Smith and Winston. I requested for a short interview and, fortunately, Darren Redgrave, the programmer of Execution Unit, granted our request.
What made Execution Unit support Linux? Many game developers, especially the startup ones, avoid Linux. Their usual reason is the Linux market share is very tiny and providing technical support for Linux users is costly.
For us, it was both a moral and technical decision. While the Linux gaming community is small compared to Windows it’s only going to grow if developers support it. Monopolies are not good for the gaming industry, competition drives innovation and Windows, macOS and Linux are all better for that competition. If developers want to see the industry grow in a healthy fashion we need to do our bit. It is true though that Linux sales probably only just cover their development and support costs but there is a further dimension to supporting multiple platforms beyond the moral argument.
The more platforms our engine compiles on and runs on the better it is on all the platforms. We have remarkably few bugs for our users to discover because we work, build, test, and play routinely on Windows, macOS, and Linux. So, although the bulk of our revenue is from Windows, ALL platforms enjoy a more stable game because of the other platforms. So developing on Linux saved us money on bug fixing on Windows and macOS and vice versa. I wrote a technical blog on why/how here.
What were the obstacles / problems you encountered in developing the Linux version of Smith and Winston? Have you ever considered just relying on Steam Play / Proton?
The biggest problem we faced was deployment. Game developers tend to want to deploy a binary and game assets. We don’t want to ask the user to compile the code for various reasons. Luckily the itch.io guys have written a good article on how to bundle and app. This got us probably 60% of the way and then we asked on reddit for Linux testers so we could test on as many systems/distros as possible. We found the Linux community to be very helpful and respectful even when they found out I am an old FreeBSD user!
As a game developer you’re used to a single portal for all the platform documentation. MS, Apple, Sony and Nintendo all have dedicated websites with definitive up to date documentation. Linux distributions, by their very nature, feel slightly more chaotic and do not have this and there are often very outdated wiki’s filled with partial information about exactly what is and isn’t supported. It’s always hard to get developers to update documentation.
For us, Proton is the future. If it can become a “platform” that we can build/test against, something we can rely on being there and with a stable API over time in the same way we can rely on DirectX being on Windows then it will make a huge difference. If it’s done well it will remove all the pain for developers and gamers and the number of Linux games will explode.
Do you have any plans to use Vulkan for Linux and Windows once Smith and Winston exits Early Access?
Absolutely, in fact we have a version right now, it’s just not stable. We rely on the excellent BGFX as our rendering abstraction API. It supports Vulkan but we’re getting crashes so we’re working on fixing those.
For a nerdy explanation on how/why we built our own custom engine there is a blog here.
If developing for Linux helps the Windows, why do you think Steam Play / Proton is better and is the future?
My stance on Proton is more a pragmatic stance. Right now it’s hard to convince developers to port to Linux because the market share is small and the platform seems confusing, disjoint and fragmented. For all the other platforms there is a single point of contact for getting answers regarding game development. Linux on the other hand uses a completely different model and it makes it harder to justify the cost or even quantify the cost ’too many unknowns’ etc. For example there is no developer portal for contacting trained developer support like there is for Sony, MS, Apple, Nintendo. If Proton becomes a viable “platform” it will mean that the “fragmented” nature of Linux is irrelevant. All the game developer needs to care about is Proton, and Proton devs and package maintainers will deal with the underlying Linux. When a support issue appears the developer will be able to say “with version X of proton the game works” so it’s either a proton bug or a packaging issue. That is hugely more attractive to game developers and matches exactly how game devs interact with other “platform holders”. In essence Linux development would be the same as Xbox, PS or Switch development.
Now, is Proton utopia? No, it adds overhead to everything in the game but at least the game is running and over time that overhead will be less and less. Developers will lose some of the advantages of working with different tool sets but the win is a greater diversity for the industry and thus more competition etc. Proton’s greatest risk right now is that Valve runs out of steam (excuse the pun) and it starts to stray from its path, bloat and eventually die.
Is it viable to develop on Linux then just port it to Windows? If that is not possible, how about using tools and a game engine that is platform-agnostic so that porting to Linux will entail less effort?
It is viable to port from Linux to Windows if you’re careful. Both platforms have excellent tools and it’s never been easier to write cross platform code. The Smith and Winston engine was basically developed equally on macOS, Linux and Windows. There are nuances and oddities between all the platforms but nothing insurmountable.
As for platform agnostic tools/engines, there are many libraries such as BGFX, libSDL2 and FMOD that make cross platform development much easier and it frustrates me endlessly that developers using Unity and Unreal do not port their games to Linux and macOS with any sensitivity to those platforms. Simple things like writing save games to the platforms standard file path is easy to do but I fear Unity in particular seems to make it harder than it should be.
If you want to know more about Execution Unit, go here.