Hello! As an introduction, my name is Phil Russo (aka par) and the time has come to port our game. I run a purely independent gaming company (purely as the only money in it is mine so far) and for the past two years we have been in development of a DTD/RPG hybrid using the Torque3d engine from GarageGames.
Opening my eyes and realizing that I made a mistake when the engine was chosen has been a very bitter pill to swallow. Now that GarageGames has fully gone under (and come back in some limited form) I realized that if we want to release this game on a stable, supported and widely accepted engine, we need to switch. We’re tired of putting the majority of our development efforts into making the engine do what it should do out of the box.
One month ago I would have said we were 3 months from releasing. But time and time again we have come up against roadblocks (the least of which is I cannot find anyone who wants to work on T3D) that required us to modify the engine or modify our design simply because the engine couldnt handle it. What this means is we have a fully drawn out design, 90% of all art assets completed and w/ the architecture I chose in the beginning, the majority of “game assets” located externally to the engine itself. Porting wont be easy no matter the engine we choose, but porting we will do and I need to find the right engine.
With that said, I have some questions and I am hoping that I could get some information from this community.
- External Game Assets (SQLITE) -
What I mean by this is that I have architected the game assets in such a way as the majority of “game” items such as player info, events, quests, items etc are all abstracted into an sqlite db instance. I see from the documentation that db support is not inherent to Unity but many 3rd party solutions are possible. I would like to know if sqlite is easily integrated and if it can be integrated w/ encryption. The design of our game leaves ALL DB access out of the actual “game play” (i.e. everything is determined prior to “launching” a level) so I am not worried in the least about performance. If sqlite can be integrated does it work on all of the platforms that Unity is designed to work on as well?
- Networking -
I know Unity has a full set of networking code behind the scenes but going through the tutorials and documentation I do not see a step-by-step explanation of out it really works in Unity. This is not an MMO, but we did have a very nicely implemented 1v1 multiplayer mode where there was a master server that coordinated matchmaking and then one client assumed the master role in order to coordinate the game itself. Once the “server” was instanced, the master server left the scene so basically the master server was just a game lobby. I am not worried about building something like this, but how exactly does networking work between clients in Unity (or better, is there a link that describes this process)?
- Multi-platform -
Theoretically, if you built everything in script, could you port your game to any platform that Unity runs on as long as you have the license?
- UI Engine -
One of the biggest issues we have had in our development is the UI engine. Torque had… well lets just say a LOT to be desired when it came to building a UI. One of the major issues we continued to deal with was their font engine but more importantly was UI scaling. Not only do you have to worry about different resolutions but also the aspect ratio’s of those resolutions. Does Unity have a decent way to handle this from a “component” point of view (i.e. basic UI window and panel resizing) along w/ correct font scaling?
- Packaging -
Is it safe to say that Unity comes with a robust installation packaging system? Building one from scratch is a chore in and of itself…
- Client Installation Updates -
In our T3D version, we had to build our own updating mechanism. Does Unity have its own install updating mechanism or can I assume I will need to port this as well?
So, that’s where I sit. On one hand its quite a bummer to realize that 2 years worth of work needs to be redone but on the other hand at least its not too late AND we, as a group, are excited w/ the possibilities of what a real engine can do.
Thank you for reading this and I greatly appreciate any/all comments!
PAR