Hi everyone, my name is Alexander, I’m a team lead and lead programmer of Exoplanet: First Contact, and the creator of Sahara Engine. From now on, members of our team are going to share more info about ourselves and about our contribution to the project.
I was interested in game engines since I was in school, where I tried to write my own 3D API, while DirectX and OpenGL weren’t as widespread as today. With time, my tech experiments inspired me to create my own playable projects. My first attempt to create a complete functional game was a pretty standard RTS, where the player’s objectives were to build a base, gather resources and capture the enemy’s territory. AI was written in a primitive scripting language, pathfinding algorithms and an OpenGL-based renderer – all of that made a small virtual world, in which the computer opponent was easily beating me, his creator. It was incredible, the feeling of being a creator of “living” creatures, who could surpass me. At that moment, I decided to dedicate my life to making video games.
Most of my free time was spent learning more about the technical side of game development. My research yielded in enough experience, that allowed me to develop multiple 2D and 3D projects using custom engines for mobile platforms. Afterwards there were a couple of projects for PC, but unfortunately, they were never released.
That’s how my hobby of Sahara Engine development grew into creation of a new tech, which included all of my previous research and experiments. What was left is to find something to use that tech with. About that time I came to know our game designer Alexey, and together we thought of our view of a “perfect RPG”, and decided to create it using Sahara Engine, which allowed us to fulfill our needs more comfortably.
So why didn’t we use one of the popular existing game engines?
One of the important points in the mindset of our team is a desire to make Exoplanet the way we want to: as comfortable as possible, without limiting ourselves and without depending on third-party solutions. We see Exoplanet: First Contact as a distinctive game, where the technical features are going to adapt to gameplay mechanics and other major aspects of the design, not not vice versa. Moreover, in the future our independence will allow us to share our tech with the community, which will be able to create their own adventures in Exoplanet using a ModKit.
It should be noted, that Sahara Engine isn’t only a graphic engine, but a collection of tools and utilities, development of which was accomplished by a single programmer in his spare time without any support from a publisher or other traditional sources of funding. It isn’t easy though, to realize all our ideas on our own, so we use established solution within our engine, such as PhysX for physics simulation and Umbra3D for more detailed worlds – it is a best solution forocclusion culling today. This technology is also used in such games, as The Witcher 3, Call of Duty and Destiny. Cooperation with the creators of Umbra3D allows us to concentrate on building a detailed game world, bringing us not only a higher level of detalization but also a higher FPS.
Undoubtedly, when working with your own tech there are different nuances and difficulties, however the use of popular tools is also not without its pitfalls. I frequently hear complaints from my friends that work with brand name engines about performance problems, lack of adequate support and limitations when attempting to make certain features. Those kind of problems take a lot of time to solve. Moreover, one must have an experienced team with that kind of technology just to use it efficiently, or to spend months of training your personnel to achieve the minimal acceptable result.
There is also the question of practicality. Imagine that you want to buy a pack of chips from a store, but you are forced to use an airplane that you also have to teach yourself to pilot in order to simply obtain your snacks. Popular game engines are also bursting with features and tools that are mostly useless for our purpose. That’s why it’s sometimes easier to change one line of scripts or a source code of a graphic renderer than to waste time on side-stepping the issue and writing tons of workaround code just to achieve a simple effect. Naturally, this kind of example is rare, but in these kinds of moments I’m glad that I don’t have to waste time reading tons of documentation and seeking for answers in forums – I just have to open a suitable file and look for the roots of the problem.
As a finishing note, I’d like to say that our small team always tries to find an optimal balance between a catchy picture and an intriguing gameplay, new possibilities for the player and his experience. We aren’t trying to catch up on the latest trends of quality of the AAA titles, but we do understand how much visuals affect the feeling of immersion in a believable, living and atmospheric world. That’s why the game is going to be always improved, and hopefully, the story is going to pleasantly surprise you dear backers, you, who made this possible.
In the next update we’ll share more info about the actual development of the game and showcase photos of the rewards which we’re going to be shipping soon.
Thank you very much for supporting the development of Exoplanet!