Welcome to our 2nd edition of Dev Log, where we cover and share details throughout development process of Final Contact with you, the fans.

The Set Backs 



Well, it’s been way too long since our first Dev Log and a lot has transpired since then. Where to begin?

April proved to be an extremely rough month for us. Our website got hacked several times and we had to divert a lot of resources to its restoration, reviewing, and improving our security. Like a bad episode of Mr. Robot, we found ourselves compromised not once, not twice, but three times our website got deleted. After we finally got a web server secured and got to the root issues of how we were hacked, we had to review all of our security on our computers and laptops to ensure none of our code was compromised and take steps to make sure it remained safe. Fortunately, we were okay but, the time we had to take away from development was costly.


The Latest Developments


Once we got past these issues it was time to get back to development and there was a lot of debate about how to approach the progression of the game.



One thing that has always been important to me in approaching the development of Final Contact, was the fact that I wanted the game-play to be unique every time a player, played a particular level. It had always been a part of my approach to create a level of random behaviors on the part of the game during game-play but, some of the more advanced levels that I had been envisioning we’re going to require a serious level of AI.





I had really thought that we would have been holding our Indiegogo fundraiser no later than this month of June however, there were a couple of key things that I felt that we were still missing. While we had created a pretty nice first trailer, I knew we were going to need a nice montage of clips of various levels of game-play and I really didn’t feel that we had what we needed yet. Of course no one expects you to have a completed game when you’re going to do a fundraiser but, I had my vision and I didn’t feel I had enough ready to be able to successfully share that vision.


The solution to that vision and our ability to share it lied in creating an AI for Final Contact. I wanted scenarios in missions where enemy fighters made decisions during combat. I wanted to feel like I was engaged in combat with a real enemy making multiple maneuvering decisions, taking evasive actions, and attacks.


A lot of forethought had gone into the coding approach and I felt I had a clear mental Vision of how that code should function. We began with a series of rendered animation sequences to work with the code and when to work. I spent several weeks creating the fundamental code that would serve as the foundation for this new AI but, unfortunately it failed or rather, I failed. Recognizing some of the issues and conflicts associated with my code I went back to the drawing board and re-wrote the code not once, but twice more over several more weeks and still seem to lack of working functionality for an AI.



When you spend so much time working on something only to be faced with repeated failure it can become more than a little discouraging. Sometimes in game development, you have to face the fact, that it may not be possible or just beyond your capabilities at this time. Usually when this happens, I’ve always found it’s best to move on to other things and the solutions ultimately comes available overtime. Unfortunately, this was one of those roadblocks I couldn’t move past. Too much was the depending on the creation of a good foundation of AI code and an approach that could be used in other levels, not to mention, the footage that I wanted to be able to create for trailers for the upcoming Indiegogo fundraiser. A lot was hanging in the balance.




I had written some AI code before for lesser games before but, never anything this extensive. I Had to take some time to review the three different approaches I had taken to create a functional AI. There were of course things that worked well within the code but the overall approach in all three attempts seemed to fail. Upon reflection It didn’t take too long for me to realize my biggest mistake. I had just simply rushed to the code without enough testing and it failed to see the subtle nuances of conflicts that can occur with an extensive use of so many variables. It’s a lot of code to keep your head wrapped around throughout the process but, like with any endeavor, perseverance is the key.




Starting from scratch, I begin to move slowly envisioning the conditions required to be met to trigger actions as a tree structure,  carefully testing and retesting repeatedly each sequence of code and animation being triggered before moving on to the next level or step and gradually implementing conditions that control scaling as the process evolved. The end result was magic! Of course, the process gets considerably more complex as it involves and the potential for more conflicts and bugs increases as well. It’s very slow going with all the repeated testing required after every code change but, throughout the process new and exciting possibilities emerge along with the insights to simplify after effect code structures.



The end result is nothing less than great game-play. 




Some of the sequences in the above video are still a bit “clunky” but, the core mechanics are working well. Right now we’ve reached the point that the core code structure is functional but the scenarios and original animations that we used to create this core functionality need perfected. In addition, we’ll be able to add a lot more to the  functionality and animation sequences to provide a more diverse and unique game-play throughout this and other levels, every time a player plays a level.


There’s just so many aspects to game development and this is no different. Once this level is complete on a technical level, there’s a lot to do in terms of new effects that need to be added as well so, we have our work cut out for us.



Every step backwards has been an opportunity to take three steps forward (and we took a lot of steps backwards), challenging ourselves to make a better game experience every day than the initial experience that we set out to when we first started Final Contact. We’ll be taking a look at some the more complete levels and undoubtedly being adding elements of the new AI to create a better game-play. 





Aside from the new coding approach to AI, there’s been a lot additions of new 3D models and a re-design of elements, objects, effects, and the HUD. In recent months we’ve received a lot questions as to when the game will be released. As of yet, we haven’t set a date and our short term goals are is still to get this project to IndieGoGo and/or to get funded by a publisher. With so many new possibilities opening to us throughout the development process, the scope of the project keeps growing and despite 16 hour workdays, 7 days a week, funding is still a major issue.


As I stated earlier, and as with any big game development project, there can be a lot of discouraging moments but, it’s you the fans that have truly helped keep us motivated through some of the darkest hours these past few months. Your constant comments and show of support on social media has been a truly uplifting experience at seemingly the most critical times. Thanks to everyone who continues to follow and support this project and we hope that we’ll bring you the best gaming experience that we possibly can in the end.



More to come…



Dominick Gentile

CEO/Lead Developer

Follow Us on Twitter

Like Us on Facebook