Was the proprietary engine worth it in the end?
swansong
mk Join Date: 2013-11-04 Member: 188985Members
It seems like a lot of work went into it, the game seemed to take forever to be developed and I have to question if it was worth it. Surely it would have just been more efficient to take an existing engine, modded it or just worked within it's limitations and gotten the game out sooner and with fewer issues? I still think the engine is the biggest downfall with this game and it just doesn't look to be improving. Reminds me of the ARMA engine in a way, there is this great game but the poorly optimized engine just gets in the way. I don't understand it either as this game isn't doing anything special, NS the mod did it on the HL engine which I think was Quake 2?
I know Source and UE3 weren't probably all that great when you first started developing this game, Steam wasn't that big and you probably needed to develop this stuff yourself. I think that is fair enough, but I just think planning into the future, is it worth carrying on with this engine or using an off the shelf one? Source is really good now, there are a lot of amazing features built in, Steamworks is fantastic and there is an amazing infrastructure there that makes TF2, CS:GO and DOTA 2 so much fun.
For me the low framerate, long loading times, the lag... I mean you can have great pings and you'll still have the micro warping.... it just isn't worth it. Then you have stuff like the shooting doesn't feel that good, everything is ultra floaty, it is so hard to find a good game, no server queue etc etc.
I sit there trying to like this game, I've tried over and over and the engine just gets in the way of the fun, I just think "If only it was on Source". I like the mod, the concept of the game is great, I think the art work is amazing, the music and the sound effects are all really cool and it is all there to make this amazing and very popular online shooter. Then I play it and all these annoying aspects crop up and I just stop having fun very quickly, usually I just cannot be bothered because I know I'll have to keep clicking on a full server to join my friends, I'll have to wait 10 mins to load and it'll probably be a one sided game any ways with lots of lag and only like 40fps which looks terrible, especially as it fluctuates so much.
I speak to other people, I look at the declining player base and they all say the same things, "it took too long to load" or "it runs poorly" or "the shooting feels weak" or "you die too fast" and they're usually the things that come up again and again when I ask. The dying too fast thing is simply what I'll call Max Payne 3 syndrome, you aren't given enough feedback when you're being shot, NS mod never suffered from this, it's just things other engines probably do as standard that you haven't tweaked yet.
I know Source and UE3 weren't probably all that great when you first started developing this game, Steam wasn't that big and you probably needed to develop this stuff yourself. I think that is fair enough, but I just think planning into the future, is it worth carrying on with this engine or using an off the shelf one? Source is really good now, there are a lot of amazing features built in, Steamworks is fantastic and there is an amazing infrastructure there that makes TF2, CS:GO and DOTA 2 so much fun.
For me the low framerate, long loading times, the lag... I mean you can have great pings and you'll still have the micro warping.... it just isn't worth it. Then you have stuff like the shooting doesn't feel that good, everything is ultra floaty, it is so hard to find a good game, no server queue etc etc.
I sit there trying to like this game, I've tried over and over and the engine just gets in the way of the fun, I just think "If only it was on Source". I like the mod, the concept of the game is great, I think the art work is amazing, the music and the sound effects are all really cool and it is all there to make this amazing and very popular online shooter. Then I play it and all these annoying aspects crop up and I just stop having fun very quickly, usually I just cannot be bothered because I know I'll have to keep clicking on a full server to join my friends, I'll have to wait 10 mins to load and it'll probably be a one sided game any ways with lots of lag and only like 40fps which looks terrible, especially as it fluctuates so much.
I speak to other people, I look at the declining player base and they all say the same things, "it took too long to load" or "it runs poorly" or "the shooting feels weak" or "you die too fast" and they're usually the things that come up again and again when I ask. The dying too fast thing is simply what I'll call Max Payne 3 syndrome, you aren't given enough feedback when you're being shot, NS mod never suffered from this, it's just things other engines probably do as standard that you haven't tweaked yet.
Comments
Yes. There were many reasons they dropped work on the Source engine version early, as indicated in the dev blogs/video updates back around 2008. Not sure why this argument keeps popping up over and over again.
It's concerning however that UWE couldn't use their own engine for the next game. I heard why, but it still makes it less valuable as an asset.
Unfortunately, just as NS pushed the boundaries of the Half-Life engine, NS2 pushes the boundaries of the Spark engine. They made a great choice, and as Subnautica is being made on Unity, further work can be done to improve the Spark engine before their next release on it. Improving the model pipeline, improving the renderer, and perhaps even making it properly multi-threaded. The options are there, Spark is a great engine, there is 2 games worth of code tucked in here, FPS and RTS, so of course it's going to push an engines boundaries. That is the reality of the game..
I have to admit, IMHO, I think the Spark engine feels a lot smoother and is more agile than the source engine, which is heavy and boggy. When you play a mod which clears out a lot of the code, making a simple source type game, you will see how much enjoyable the Spark engine is than the Source engine. From a modders perspective, I really believe the engine to be smoother and better. I think the LAN hit-reg for marines also showed how good the engine itself is.
NS2 is quite a demanding game for many reasons some more justified than others, but I would take this engine any day over the dinosaur/ugly duckling that is souce or UE3.
Seriously, those engines are so undynamic and archaic it is not funny.
But at the time of the decision it might have made sense. There were the licensing costs, UWE thought they could just use the Source tools with Spark and so on... And now they have an engine they can build upon.
I don't follow that logic. The HL engine was already past its prime when NS was released. It was designed for a different kind of game, so NS pushed it to its limit. Spark on the other hand was designed specifically for NS2. It was designed for FPS/RTS!
Its the game (ns2) itself which is a lagfest.
However, there's always a first time for everything and hopefully they will have the experience with future development.
This is my understanding too.
As for hardware requirements im not sure, cuz they are high and that is done in deal with hardware manufacturer most of time like Bf4 +Amd, and mani more, but ns2 have not done that as i know of.
So it was mistake not to :
Make deals and have heavy hardware game
No deals but have low hardware req game
As for loading times,i have SSD but ther time just comeing, so they rushed out with that imao.
Over all,i think that NS2 hoped of world be more generous on atention and money, but they made mistake, for atention u need marketing.
With marketing u can sell used pants as new fashion
But yea, a lot of the NS2 engine is pretty beatiful. I did have to massacre some of Max's code in the name of performance, but hard times require hard code.
PS: Remember, those who don't realize, that NS2 is coded in LuaScript, which is VM'ed on-the-fly into C++; This code is then inputted into the Spark Game Engine. It is the real time code conversion which apparently causes the high system requirements.
Maybe Matso could advise, but are there any other languages used in Spark? Any little bits specifically written in Pearl etc for specific tasks?
The levels HAD to be simple and kind of abstract. They simply couldn't be the cluttered messes we have today, and that was a good thing. They had to use diffuse surfaces, there were no shaders to play with. You couldn't make every surface out of gray metallic crap; you had to actually use different colours. The look and feel was just better than the gray cluttered metallic messes most maps are today (with the exception perhaps of biodome, which is merely cluttered and metallic, not so much gray), and it didn't obstruct movement.
The movement system was just ridiculously smooth and precise. You were a box, not an ovoid, capsule, sphere or anything with a rounded base; you had a nice base to stand on, which made jumping ontop of things a lot less random and finicky.
The HL engine protected UWE from a lot of poor design decisions and poor artistic decisions they have made in NS2, and likely would have made on the HL engine if they were technically possible.
I find it likely NS2 would have been done in half the time, looked prettier and played smoother on source.
This is a technical impossibility given the fact that source at the time was a forward rendered game that lacked dynamic lighting and whole host of modern features. Heck... source just went deferred about a year ago...
A source NS2 would have been horribly ugly. Cory's beautiful art and all of the wonderful assets would look like ass under source's quake II lighting and material system.
But was it worth it from an experience point of view? Hells yeah.
Was it worth it from a technological base point of view? F&^% yeah!
Was it worth it in terms of maximising profit? Probably not
Was it worth it in the sense of creating the best possible NS2 game? that's arguable, I argue that it was not worth it. Because time was spent putting effort into certain parts of the tech and taken away from other areas that could have helped the game a lot more (like match making).
But the point still comes back to this one fact: it's not the end. It's not the end until NS2 has less than 100 players peak at one time playing on average(that's a mouthful). It's not the end until UWE stops putting out patches and stamps the game with the big done stamp IT IS DONE KERCHUNK. It's not the end.
So I guess a more appropriate question would be: Is the proprietary engine good for any games that are not NS2? Could they build an NS3 using spark, or would it end up just being NS2 with 100 more patches? I can't answer that question, but I damn well can ask it.
Though it looks it boils down to how the lua part is written, not so much the c++ engine.
Ultimately, regardless it ended up as poor performance, not as "easily" moddable as they'd wanted, and with other numerous issues. And in the end, the end result matters.
There are a lot of small tools used for tasks around the edges of the engine - two that I came in contanct with was the autogenerated lua/C++ binding done in php, and of course the PerfAnalyser.py used to analyse performance logs, which I wrote (pyton64; and yea, it needs to be the 64bit version if you want to do any serious work. Don't bother if you have less than 6Gigs).
Probably plenty of other languages used for the build system and other things in the outer fringe... there usually is.
But runtime, its pretty much only C++ and Lua involved. Used to be some Flash around (its last use was to display ammo counter for marines, IIRC) but it was finally purged (and ritually burned/sacrificed to the dark gods/nuked from orbit - I'm not a Flash fan) when the lua-based UI was introduced ...
NS1 had no shaders and max 256x256 textures and 500 polygons at a time and still looks better than NS2. Most source engine games look better than NS2.
There's a difference between artistic merit and technical merit. Deferred rendering is what allows the unique and ugly art style of NS2 levels, with bland metallic everything; NS2 did not have to look like that on the spark engine, but it was easy to do. NS2 is completely devoid of ceramic, concrete, cloth, matte paint and similar surfaces. It is too visually cluttered, too shiny, too colourless apart from the garish lighting used to cover up for the lack of colour. All the aliens and all the marine buildings have been chibi-ized. Rounded, blobby shapes, not their lean and mean NS1 counterparts.
Because most people don't lurk on the forums enough to understand that the ENGINE is fast and very good, its the LUA is slow and causes the game to be CPU heavy. (this is my understanding from reading these forums for the last year or so)
If the LUA were to be removed and the game rewritten in a compiled language, most performance issues would disappear (so I hear, anyway)
It's because NS1 had gamma adjustment and was a relatively bright game compared to NS2. Actually seeing skulks in NS2 is almost impossible unless you adjust gamma or burn your eyes with 100% monitor brightness, let alone hit them.
The performance is the let down. My 2 cents is it's just too hard for ISPs (and people) to host good servers for NS2. Plenty of sh!t servers out there that would run many other FPS games fine.
If you don't have anything nice or constructive to say don't post. :-@