At the beginning of every game I take a step back and consider if I should switch engines or if I should just enhance our current engine. Note: we are almost to alpha with our latest game, Din's Legacy, so the last time I did this was several months ago.
When I started working on our first game, Depths of Peril, in late 2004 the decision was fairly easy. The choices were mostly license an engine like Unreal or Quake ($100,000+ per game), use an open source engine (usually graphics only and open source can cause lots of issues), or write my own engine. Given the options available at the time, I felt writing our own engine was the only realistic choice for us.
Fourteen years later, things have changed greatly. There are now several powerful engines that provide an entire game framework and don't cost too much, the big two being Unreal and Unity. If you are just starting out, these are great choices (so are probably many other engines), but Soldak isn't just starting out so it's much more complicated.
Some pros of other engines: better graphics (this is the big one), better physics, mobile versions, console versions, and probably many other small things.
Some cons of other engines: dynamic world problematic (need to be able to load huge parts, if not all, of a world in the background), random levels problematic (works against things like packaging, light maps, and pathfinding - basically everything that happens when you build/compile a level), might have to redo or rework many of our current assets, licensing costs (not nearly is bad as it used to be), learning curve, start over with game code or lots of porting work, no source code (some have it and some don't), and probably various other things.
The pros and cons list is where I get stuck every time. The pro of having better graphics would be very, very nice, but the cons list is basically everything that makes a Soldak game unique. Potentially losing dynamic and random worlds is basically a non-starter for us. Add on top of that all of the ramp up time to learn how everything works, rework/redo old art work, and port or rewrite all of our needed game code, it really just isn't feasible (we would go out of business before finishing the game). This is essentially why every game, I stick with our engine. Our engine has drastically changed over the years though, as I add new features. If I was from the marketing department, I would probably just say it is a new engine each time there is a major graphics change or brand it in some way. :)
Now if we ever decide to make a more linear RPG that will be a different story since a lot of the cons would go away. Anyway, these are some of my thoughts when I have to make a decision about an engine for each game.
As always comments are welcome and encouraged!
Dynamic world generation is something you can do in Unity. My friend's been doodling around with a Pathfinder/D&D based game in 3d and uses a random dungeon generator and a dynamic navmesh generation middleware to base his navigation on. I'm not sure how he deals with lightmaps, or if he has to rely on dynamic lighting instead of using pre-baked lightmaps.
There are quite a few middleware solutions for things like dungeon generation, inventory systems, AI behaviour trees, etc. The downside is that you might end up fighting with some libraries that _almost_ do what you want them to do, but not quite. Reaching out to the developers of those libraries can often get you the support you need, though.
It might be worth it to take a few weeks and do a bit of prototype development to see how many of the potential problems you foresaw are really problems, or things you can find solutions for.
(Well apparently tonight was essay writing night.)
We obviously love the dynamic worlds, relationships and randomness that make a Soldak game a Soldak game. But the graphics and asset reuse is killing you at this point.
Yes, you've made a lot of progress on the engine and systems since Depths of Peril... but you can take screenshots from DoP, Din's Curse, and Zombasite and they are so very close, especially with the reused and reworked monsters, environments, town setup, map system, inventory, etc. -- to the point that you'd think one was a base game and the other two were expansions.
I think one of the reasons Drox Operative is favored by a lot of us is because it didn't reuse assets, and it gave us a whole new feel -- even if the underpinnings were very much rooted in its predecessors.
One more reason I really like Drox is that it "feels" smoother and more responsive. Running your character around in DoP/DC/Z has always been kind of clunky feeling. A simple speed boost and stamina removal isn't going to fix that.
The older engine (and again, we do see the improvements made over the years, not trying to dump on the work you've put in) and art and asset reuse is sinking you, and I am worried about the Din's Legacy not selling well, because it's sounding like more of the same -- yes, with the skill mutation twist, but that sounds like it could just be an expansion to an existing game.
We know it's a ton of money and time to create new assets, and we also know it's a ton of money and time to switch engines. But with Zombasite not selling well, I can't imagine Din's Legacy is going to somehow become a breakout hit, with the majority of gamers seeing it compared to the previous non-Drox titles. Every review is going to harp on the fact that it's a not-too-extensive rejigger of the previous games with some new systems laid on top of it.
I think you're going to have to cut the old code loose and start over to get something that looks fresh -- even if you get it to a point where the systems work similar to how they do in your current engine. But you're not starting from scratch, because you have years of honing and optimizing the existing engine and systems, you'll be able to bang them out much faster this time around.
I'm far from a graphics snob, so don't assume I'm overly biased in that direction -- but there's a limit, and IMO you fall in an unfortunate valley where the graphics are good, but just not "good enough" for the style for 2018.
Being a one man show is extremely difficult in today's landscape, which is one of the reasons 8-bit (or less) art style is prolific in the indie scene -- it's far easier and cheaper than 3D models with an eye towards realism.
I was trying to think of other series to compare... Diablo isn't a great example because they were bigger teams and longer timelines. Elder Scrolls and Fallout as well. But even in those game, where there is a few common elements (Fallout's Super Mutants, for example), everything else feels pretty fresh -- it doesn't look like they took the prior game, beefed up some enemies, added a couple new biomes, added a few new systems and released it. Plus, those games are much more story-heavy than any Soldak game, which counts for something. They could release a sequel to Skyrim with the same engine and assets, just with a new map a a few new enemies and factions, and if the story aspect was solid, it'd still be good. But that's a crutch that Soldak games don't have.
Torchlight to Torchlight 2 was the best thing I could come up with -- and again, they're totally different. It's an iteration, but it's not just an optimization pass and a new system or two; it's an entirely different game from the ground up.
One solid example in the indie world would be Arcen Games, and they have quite a few parallels with Soldak, IMO. They run on a skeleton crew, and have churned out quite a few different feeling games across a disparate genres over the years. They've also gone through the engine switch dance successfully. Bionic Dues is a really fun roguelike, Starward Rogue is a procedural bullet hell/roguelike mashup. A Valley Without Wind 1/2 were procedural metroidvanias with base building (1) and strategy (2) elements. They're most known for AI War which is a massive space RTS. Add a couple more (unique, not iterative) strategy type titles, a light Zelda 1-ish game, and even a puzzle game in the vein of Tetris... they've been all over the place.
We love you and want to see you succeed. <3
Another consideration is modding.
With the current engine, it's very easy to modify the data. Making, installing, and managing mods is all very simple compared to most other games. In moving to a new engine, you could lose this.
However, what your engine is currently lacking is some way of modifying code. A new engine may make it easier to implement some sort of scripting api, an often requested feature. This would open up the modding potential of your games.
I know the modding community for your games is rather small, but it is something you ought to consider. The change to a new engine could help the modding community grow, or diminish it further.
Hey all, just registered because I just noticed this blog post. I am a game developer for 15ish years, 3d technical artist as a fulltime job, and hobby developer. I played Drox primarily from your games (I tried a bit of the others too, but played Drox mostly). I use Unity in both work, and at home (this is not an Unity ad, I fully believe Unreal is capable of all of these too).
I strongly suggest switching, as it is not an issue to build a random world in Unity, or use pathfinding in a dynamic world. The learning curve isn't too steep too if you are used to game making engines. The asset store is full of useful stuff that you might need, from particle and sound effects to pathfinding solutions to monster collections (though using store assets in the final product is a bit cheap, but excellent to learning/modify). There are a lot of online courses, paid and free too, that handle game development in Unity (I used Pluralsight when I needed it, it is paid but very focused).
All in all, you should really try to mock up something in Unity in a few days and see how it goes. I fully believe a game like Drox could be done in Unity without major problems.
Anyways, thanks for reading this through, it is not a paid ad or something, I just wanted to write it because Unity was a really fresh experience to me after all the inhouse engines we had to use.
Best luck for your projects!
Long time Soldak player, first time poster:
You know this, we all know this, but graphics are why I can't sell Soldak to my friends.
Some of these Din's Legacy screenshots look really nice, but it's a rock and a hard place for yall. Damned if you do, damned if you don't in terms of switching engines to increase the look.
Personally, I'd also love for you to be able to be on mobile devices. Or console. I say this as I play Titan's Quest on my phone. Not perfect, but better than 99% of mobile ARPGs.
Best of luck to you guys! I'm stoked for Din's Legacy. Perhaps I'll frequent these here forums more often since Soldak, like Arcen, need all the love they can get and Soldak make some truly amazing games.
Long-time fan here. I thought I would chime in too. I believe your games are fantastic from a system based perspective. The emergent world's that develop in your games are unlike any other game that I can think of outside of ASCII character based games like Dwarf Fortress or Ultima Ratio Regum. I think that your work is pushed lot of boundaries that I think are innovative.
That said, I think I agree with some of the other commenters that considering switching engines at some point would be a good idea. I believe you've done a lot to push the gaming systems that you use, and now it is time to think about how to ensure that your Graphics can keep up with your vision.
my best advice is go to Chucklefish studios and ask them for advice no stuff I play there game starbound among other neat games Chucklefish studios is a British based game studios if you was wondering. I dont not work for them but I have I reviewed the scripting of the files with the game (which is modifyible and api-able and if im not mistaken they made there engine from scarch I as this cuz I mod here and there but often I private edited mine to suit me which for is not easy given my lack of a ful understanding of scripting and the api framework of most game engines nowadays also fun fact to consider is that unity is designed with the devoplers in mind so if im not mistaken you make it api enabled or non moddible but depends what road you take with this engine the graphics isn't all that important is more the underlining factor of ingame modding organization something im getting a bore over with having to go in to the game directory to do this whch old and is time consuming and I feel that unless a few things considered look into these engines
cryengine (mmo engine among other things)
Unreal engine (newer up to date version)
avoid quake it's outdated and newer game engines do alot what this used to do and more
or you can talk to other devolpers from other game studios if they are will to chat about and ask for ideas and see if what you want is a confirmed choice trust im no programer but i know once you start something and you realize it's not what you wanted then it can back fire on you and lose lots of fundings over it i've seen it with many gaming companies out there plus if you ever do get to the point where your swamped with tasks and your not really able to to keep with the game updates (not discrediting you here or anythng @.@ so understand i know how overwhelming things can get; i play lots of games balncing them and get swamped quite often @.@)
make it so the player base can help out if they are willing subnuatica is usually open to public advice and ask quite often what they want to see in the game and you take these suggestions and see what comes of them.
cuz imo it's always good to get a 2th and 3thrd opition on the path of the game and unity and cryengine among others can help make game devlopment more flexible xP
so dont be afraid to test the waters with things dispite the pros and cons like life there is the good and the bad and you have to take both sadly as you cant this other without the other it's of the matter looking at this from the player's prespective as well if you put yourself in the player's shoes and then thinks from that as well as your own vision of the game you might or might not get a clearer idea of the best choice *python* is a good choice too btw I forgotten to mention it in the list X.x
My thoughts are this,
I don't know much about the assets in the game, how they are made, or displayed, so I can't say too much on this except is it possible to just overhaul this engine?
What I'm saying is, rather than a complete fresh start, maybe take the existing assets and scale them up, clean up textures, and models, maybe add some polygons with curves?
Getting into that, how much could be accomplished with a texture overhaul? Looking at games like Skyrim and how it looks with various texture packs its not a stretch to say a simple texture overhaul on this engine could do a lot to make it look better.
Maybe some kind of display optimization, i know frame rate drops are expected, what I don't know is how much of the world is living and how often it is living. For example if the overworld map is a living world, constantly being calculated and updated that explains some of the lag in combat. If the game isn't multicore threaded now would be the time to consider putting the chunk of the routine that handles active creatures on its own thread. I know that is a lot of changes to make in code. As someone who programmed in his youth I get how big an undertaking that could be, but it may be more efficient then other game engines at that point.
Honestly, I think a texture overhaul, and maybe a quick look to see what the latest display optimization can be done would be a good start. There is a lot more that can be done with this game engine I suspect, it wouldn't be hard to customize some unimportant things like hair color and length, for characters, add in some new weapons and classes, things like that. Most of the reasons for moving to a new engine are focused around graphics. The question then is, would updating the models, textures, and a quick/semi quick once over of how its being displayed be enough to make an improvement? I think it would be, but I'm not you, I didn't code this, so I don't know what your limitations are.
I do know I'll check in on this and maybe have some new thoughts after, but off the top of my head, how hard would it be to include another variation of Anti Aliasing, or take advantage of newer graphics hardware on the current setup? Howe about FXAA which is much less resource intensive and could provide options? Expanding on new and varied texture?
ON the texture issue. You could add a lot of variety to the levels with a dozen new grass and plant textures, brick textures, and maybe even wood textures for a "mine shaft" type cave/dungeon. Maybe consider doing some pallet swapping for "portals to other realms" using existing textures and models?
Like I said, I coded years back, I'm a big fan of "reuse what you can, and if it aint broke don't fix, but do improve."
I have been playing your games since I first heard about Din's Curse in 2011. I quoted the section about Dynamic world having to load up huge sections because I just encountered this in a Alpha version of game I was testing and I had to increase my system memory to 18 gb of ram to accommodate the game loading up so much content into ram in order to run and save the game. (I could have probably used another 6 gb's really)
So I can empathize with your concern about this and what I primarily love about Soldak games IS the dynamic world aspect and I look forward to when you can produce a game in First Person. THAT would be heaven, since I am a huge Fallout:New Vegas and Elder Scrolls fan as well.
All the best and I am just starting with Zombasite and working to get my head around all of the nuances of it.
I personally would love to see these games in Unity for the possibilty of camera control and graphics. I REALLY struggle with the only top-down or character focus camera and want more freedom and camera rotation. Also I believe with Unity, more of the graphics work could be offloaded to the GPU and less Cpu-intensive
|All times are GMT -4. The time now is 12:34 PM.|
Powered by vBulletin® Version 3.6.7
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
Copyright © 2007 - 2019 Soldak Entertainment, Inc.