I have written a somewhat critical post about Game Guru and where it was heading back when it was rebranded. (For the newer users: Game Guru started out as FPSCreator : Reloaded)
Back then I was full of hopes and doubts of what the future might bring for this software and a lot of my rhetoric in that post was hypothetical and me pointing at features I'd like to see and directions I would like the development to have taken. (awkward sentence )
Well, errm... the future is here now!
I've been messing around with the tool throughout the last 2 years where my efforts can easily be placed in 2 categories: Science Fiction Shooter and Fantasy Adventure. These projects have often been halted or slowed down due to missing features, terrible optimization and other rather glaring issues that have either improved over time (although very slowly) or have not yet been addressed. I took several longer breaks in making these games yet kept coming back as its simply wicked fun
TL;DR: As a veteran user who has lost entire game projects to the unstable nature of FPSCreator (and my own incompetence too,occasionally at least, I won't lie) I just had to find out if this rather clunky engine is currently up to the task to support a game or if I'm wasting my time. I conceived a small scale project, that can be downloaded here, in a way that it included a very crude and basic form of all the mechanics needed to make a full scale game. While I certainly didn't expect too much, the project turned out to be better than I initially hoped. I was quite malcontent with GG before I started making it.
I have often stated that I'd wait until early 2017 and see how far GG has come and then decide wether I quit the engine or keep going. Successfully getting this game out there, however small it may be, somewhat helped restoring my faith (and you need a little faith here) in the GG project itself.
That simply means that you'll have to put up with me being here a while longer.
I conceived a test game that had to do the following:
*Be a somewhat rudimentary shooter with sufficiently statisfying mechanics. (Gunlag/sway, recoil, ragdoll and so forth)
*Support enemies with at least semi competent AI and reaction times.
*Allow me to import custom models, guns and design levels accordingly without being too much of an annoyance.
*Allow me to produce aesthetically pleasing levels to my taste and whim.
*Support some kind of functional ligting/lightmapping method without having to rely on workarounds (IE external baking and so forth)
*Support normal mapping in a more comfortable and less time consuming way than FPSC.
*Build stable games that run on most systems rather than FPSC games that ran on only about a third of the systems.
*Load multiple levels
*Support easy to implement basic gameplay mechanics (such as doors, levers, keys, buttons etc.)
To my surprise, the majority of these functions where doable pretty much without much of a hassle in very little time. Others did disappoint.
There is a stark difference between starting a project in GG compared to UE4. You can pretty much jump right in rather than having to first organize and outline something. While its still preferable to have a precise vision (which I did not have for this project) you can actually just click around and figure it out as you go along.
The interface of the engine itself is remarkably simple and straightforward which I find excellent. This does also hide the more advanced possibilities to newer users that might assume that "its just a bland level editor". However, the easy to use core engine allows me to work extremely fast.
For example: UE4 has too many options for me hence I stopped using it. It just ate away my free time. One time I've spent an entire evening getting the terrain just right. Yes! GG is a lot more primitive in all regards but thats actually improving my productivity.
While the recent trend is to have more and more tools within the engine suite I've started making my first games at a time where you did most of the creative work outside of the engine. Back in the day, some engines didn't even have proper leveldesign tools, you had to do that in external software as well.
Its still true for most engines that you do 60% of the creative labour in external software. Models, textures and so forth. GG lacks a statisfying import option which can throw of people who come from other engines. Its preferable to either handwrite or copy an existing .fpe file to set up your models.
While this is a simple and fast process, sometimes faster than messing around in material, collision and other in-engine applets it might strike a lot of users (the kind that gets aroused by grey tinted interfaces) as unacceptable.
After you've layed the ground work for your project by jotting down the plot and gameplay mechanics you wish to achieve, retextured the meshes to suit your style and made the necessary props you pretty much just make the game in this easy to use interface. (You'll have to at least master the basics of lua to adapt or write scripts but its save to say that GG can be a true non-coder IF you have access to these forums).
HUDs, models, animations, textures and so forth can all be custom and are quite easy to implement. In this regard this truely is the easy game maker.
While we have pioneers on here working on adventures and top down games I do have to add that its still very much slanted towards FPS gameplay and workarounds might appear unelegant. I believe that not being able to access several hardcoded features is a huge detriment to the engine.
I'm a first person view fan but a lot of people might want to make a racing game or rts and currently have next to no way to do that. (However! I found a fully custom top down strategy game made in GG somewhere. It was a simulator. I don't recall its name tough. The possibilities are there, in this regard somewhat user-hostile though)
While restrictive. As in extremely restrictive, you do have options to personalize your starting and loading screens.
If you use all the tools at your disposal, GG allows you to make visually statisfying games. Yes, yes, you know that there are a lot of asteriks behind this statment...just...let it sink in before I go into the "however".
When booting it up, it looks atrocious by default. A somewhat more attractive base setting could make for a better first impression for customers but honestly, I don't care. Adjusting and finetuning your settings to suit your game is an absolute internal and necessary part of making a game and I don't believe in "out-of-the-box pretty".
If you are more artistically inclined, you'll find that you can make your GG look any way you want and that is a huge achievment by Lee. I think its easier to give your game this custom made feel in GG than it was in FPSC. However, there are huge downfalls here as well and I'll get into these too.
If you are more technically minded, or an android, you'll find the dated shading, lack of materials and clunky lightmapping suite to be a tough pill to swallow. It can be frustrating and I think a lot of users don't want to bother getting to the bones of it.
GG is lacking a lot of options here for both types of designers. Here is the worst of: Native postprocessing is a framerate hog. The bloom shader just eats up frames way more than an external solution and I think this, especially, needs to be adressed as soon as possible. Mainly because people rarely get the idea that its the bloom effect that kills the FPS in such a way. The other effects are certainly there (except for AA which is direly needed. (there is a version by Cybernescence available on the boards or you can use Reshade.) but most of them feel basic, blurry or outdated.
The DOF for example ignores objects that are really large or very far away, defeating the purpose, the SAO we currently have is barely noticeable except for the impact it has on framerate. Loading in custom postprocessing shaders is a hassle that tends to result in a tremendously anticlimactic green screen.
Shaders and effects are currently rather limited. While it was a breeze of fresh air to have a universal shader including norm, spec, and emissive mapping compared to what a nightmare that was in FPSC its still very rudimentary. The effects we currently have look good when lit real time (artifacty and rather dated when using baked lighting... although I make a lot of cyberpunk games so I kinda like that "unique" look it gives.) but offer very little in regards of modification. Add the lack of a particle system to that and we are really in need of an overhaul.
Don't get me wrong. I enjoy the results I get in GG and the process involved in making my little worlds BUT I don't think its too much to long for features that have been standard for a decade now.
In the beginning of Thanatophobia I implemented a simple puzzle where you had to connect a wire to an electric box. I made this puzzle using spawn and key functions within 5 minutes and did not write a single line of script.
This can currently not be done in GG.
While I was able to add basic trigger/key/door functions they wheren't obvious to add and took some scripting. I had to rely on a script generously provided by SmallG to get the remote controlled doors working. this was a stock feature in FPSC pretty much since day 1. Its also completely absent from GG and SmallG's effort required me to place doors and triggers in sequence.
The first level of my game played entirely different at first but I had to redo it several times and remove a couple of interactive items (a lot of the terminals in the game dont do anything because they did not work.) Sadly I've seen playthroughs of the game where people did not figure out what to do because of this and where stuck in level 1.
Removing FPI and adding in LUA was a fantastic first step towards a more open and customizable engine. However, it also removed some of the ease of use for non-coders and thus I believe an effort should be made to provide us with ALL the features we had in FPSCreator. (by that I mean: all the stock scripts, triggers and item scripts.)
I was able to add these functions so the test was a success but boy! It was not pretty.
You know, I know it, everybody on here knows it. We have an issue with performance.
I must applaud Lee for his efforts, as we made a lot of progress in this area, however, its still just not enough. Bugsy and I are very mindful of optimization and we are certainly not the type to pout and demand frame rates... we adjust models, maps and textures to gain them and design our levels accordingly. We still struggle to get a decent and constant rate despite all of this.
I use lowpoly models and thus my scenes should not run the way they do. There are only so many tweaks the end user can make to get the game running fast and I'm afraid that a lot of them just won't bother.
See for yourself: big shout out to 25-Watts for running an extensive test using my game:
+ Code Snippet
Being a big step above FPSCreator and doing a ton of things right, GG feels like it is still in its infancy. With the indie scene, for better and a whole lot of worse, steamrolling ahead I feel like this engine will have a tough battle ahead. Its got a lot of things going for it, sadly its evolving a little too slow.
Me, I love using it, as you can tell by the fact that I took the time out of my morning to write all of this, but from an objective perspective its simply not there yet and its evolving rather slowly. We also have to find a way to shorten loading times.
Lee, I've been a customer of TGC for over a decade now and still like what you guys are doing. I know these armchair developer reviews must get tedious after all these years but I felt qualified to give GG another review now that it is 2 years later.
I learned a lot about GG and how to approach designing a game with it making my little test game. thanks to all your reviews of it as well. A lot of that experience will bleed into more "serious" projects as well. I now also know the limits of the engine for me so I likely stick to the theme and develop another futuristic shooter. In FPSC, games where a lot smaller and more controllable in scope. You could start working on a basic concept and "figure it out as you go" in GG, I feel like games need a bit more planning. And that for the first time of my development life I'll pick a vision and stick to it.
I know a lot of this was just retreading a lot of previously mentioned stuff but hey ^_^ Its based on years of use and a full test game which I can't say about most steam reviews.
This community is the best and I hope to see you all around through the years to come. While I was contemplating taking a hiatus from development earlier, I decided to simply not do it... too much fun.
All of that said: Happy developing.