Honestly.... Cryptic talks about this game rather two-facedly... it's a bit much for my taste at times.
On the one side they, and defenders, cry out "we're so small we can't do the thing!"
And on the other they do interviews about how amazing their sales and marketing "metrics" are.
"Delta Rising is the best expansion and players love it." < 'member this?
If the game is selling well why aren't you investing portions of that money in not just maintaining the server but overhauling the thing?
Or
You claim that you're too small to get stuff done.... Why isn't that money actively going into hiring new people. The last anyone was made publically aware of jobs being open was "We need a new lead writer!"
It feels like cryptic just really doesn't care about reinvestment of their own assets and that same mentality is why the local mom&pop corner market/restaurant/gas station in the small town I live in now belongs to the county Co-op.
And no... I don't just mean this for STO... there's the whole Neverwinter portion of Cryptic too. IT is so wonky in how it manages macro-transactions(there's nothing 'micro' about me spending money, EVER) that it caused justifiable ire from their own forum community so much so that, that DDoSer began attacking Cryptic servers so that we couldn't play STO.
Cryptic has a track record of plating up something "exciting" and "completely unseen" to sell to us then opening the lid and showing us just how crusty the skillet is that makes it.... and i'm tired of people defending them for being "small." Cryptic is NOT small. not with the wads of money they make on BOTH neverwinter and STO. no, they artificially remain miniature so they can avoid a BUNCH of legit criticism, just like how Warframe continues to perpetuate it's an "Open Beta." It's BS to avoid garnering bad press.
Because...if they are selling well the money goes to line people pockets...not actually try and make the game better.
Can't have a honest conversation because of a white knight with power
The engine is the engine - it is so heavily script-based and limited, all they can do is make things more shiny. That's why shooter mode sucks, that's why we don't have destructible environments worth a damn, thats why we don't have exploration, etc etc.
Improving the current ST:O engine is like Taco Bell adding new menu items - in the end it's just a re-jiggering and re-mixing of the current ingredients. If we want to see anything substantial, the game needs a new engine. Period.
A ) Upgrade and Improve, more than Overhaul, but we do. Constantly.
B ) We've had our "new" lead writer for almost a year now, I think? He's been here a while anyway. Long enough to have to move cubicles at least once. We've also got some new QA folks, a couple new Environment Artists, and probably other things I'm not thinking of. But that doesn't magically make us a 400 person Bioware/EA/Blizzard dev team. We ARE a small team, even when we add a few people to it.
Oh! A developer! Nice. I want to ask about what dev team thinks about foundry content. Do you plan to extend it?
Oh! A developer! Nice. I want to ask about what dev team thinks about foundry content. Do you plan to extend it?
If they do, that's on the scale that a boss Dev will likely proclaim in in a blog, not something they'll just blurt out randomly because of a passing question. Really, that doesn't seem like something they'd hide, now does it?
A ) Upgrade and Improve, more than Overhaul, but we do. Constantly.
B ) We've had our "new" lead writer for almost a year now, I think? He's been here a while anyway. Long enough to have to move cubicles at least once. We've also got some new QA folks, a couple new Environment Artists, and probably other things I'm not thinking of. But that doesn't magically make us a 400 person Bioware/EA/Blizzard dev team. We ARE a small team, even when we add a few people to it.
Oh! A developer! Nice. I want to ask about what dev team thinks about foundry content. Do you plan to extend it?
Well . . . Foundry CONTENT comes from you guys.
Are you asking about new maps/objects/etc.? Those are added slowly but regularly. (Though I admit my latest batch of objects is taking longer than expected).
Or are you asking about Foundry Tech? There are no planned upgrades to the Foundry code that I know of at the moment.
It would take at least a year, and maybe two years, and they might as well just write a new game while they're at it. It would require having two full-time teams, and the second team (the "rewrite team") would have to hit a moving target unless the community would allow development to completely cease on the 32-bit version. We both know that wouldn't be acceptable, and I've done that sort of "moving target" development before--it doesn't end well.
more like 3-5 years to build a new engine. thats resources they wont spend to make one either, especially for star trek online, and what happens if there are unforeseen circumstances along the way? it would be a massive risk.
no i cant see this game engine being rebuild or the team pulling the game for a few years to "fix" their engine.
Yeah, pretty much this.
The game, and our engine are constantly being updated and improved. Most of that is small stuff, sometimes we get bigger stuff, but it's always going on.
That said, the idea of starting over from scratch, or trying to move all of the game assets, missions, systems, etc. onto a new, different framework, would be harder than de-borgifying someone. It's possible, but Seven's still got implants, and Jean-Luc still has flashbacks. And the end result likely wouldn't be what you're looking for anyway, and would be VERY unlikely to be worth the investment.
Again, that doesn't mean that we don't upgrade our existing engine, just means we're not going to hot-swap it out for another one, or rebuild everything from scratch.
A ) If the game is selling well why aren't you investing portions of that money in not just maintaining the server but overhauling the thing?
Or
B ) You claim that you're too small to get stuff done.... Why isn't that money actively going into hiring new people. The last anyone was made publically aware of jobs being open was "We need a new lead writer!"
A ) Upgrade and Improve, more than Overhaul, but we do. Constantly.
B ) We've had our "new" lead writer for almost a year now, I think? He's been here a while anyway. Long enough to have to move cubicles at least once. We've also got some new QA folks, a couple new Environment Artists, and probably other things I'm not thinking of. But that doesn't magically make us a 400 person Bioware/EA/Blizzard dev team. We ARE a small team, even when we add a few people to it.
I am pretty sure that is what is happening all the time. The engine won't get replaced by something entirely different, but it will constantly see improvements.
Look at screenshots from the release of the game, and look at them now. You'll see the differences.
Look at the release ship models, and look at newly released ships. There have been constant refinements and improvements to the game, and they will continue until the game can no longer be maintained.
100%
very much appreciated response, and more or less expected.
ty for the info, cheers.
well, personally I think that the devs make a great job even with this engine.
ok, sometimes, the quality seems average, but it is not the engine fault, but the lack of time or the emergency to release something, and also they are a small team.
there is a real different between the very nice old iconia, and the average n'akuhl stuff. the new skin for the trb seems not finished.
the more important thing in a game is the content and the pleasure to play at a game. I still play at a 2002 game, just because it is excellent, even if everything is really old (models, textures).
I want that STO has a long life, I like this game. But please could we have more original content (not stuff from these old kitsch tv shows). The voth content was a nice idea. (lazer dinos etc) + more original ship designs from your studio. they are better than the design from the shows. please, don't be afraid to use fully your concept arts, some of them were awesome, but the result in game is not very exciting (dhelan, d'derithau etc)
btw, i don't know who creates the faces and the bodies of the different races (na'kuhl, iconian -old and new-, undines etc), but she/he makes an impressive job. thx
Hey taco, would you mind explaining to those of us not technically inclined exactly what a game engine is and what it does? And what the difference would be between the current engine and a more advanced one? Because this conversation is all just white noise to me.
I'd be happy if i could switch off even 50% of all that FX.
THIS.
I agree with this. the power active shiny bits really need to be toned down and minimized somewhat. there are so many powers being activated at once now that its just too much.
I'd be happy if i could switch off even 50% of all that FX.
THIS.
I agree with this. the power active shiny bits really need to be toned down and minimized somewhat. there are so many powers being activated at once now that its just too much.
now leave the devs to their work and just help them to fix what we've got with reasonable suggestions. like yreodred's.
Didn't someone cite that article to make the point that Cryptic did it wrong and there is a good reason to pick a new engine?
That conclusion isn't really supported by the article, but it also a has a different focus, I think.
It is not uncommon in software project that people say: "I hate this, can't we just throw it all away and start anew?". The article makes it clear why this isn't a good idea. It doesn't mean that you can't change stuff, but big sweeping rewrites are often the wrong thing to do. You can use refactoring and targeted rewrites to achieve a lot - without losing features and bugfixes that went into the old code base.
In that regard however - if there are lag problems - don'T throw out your whole netcode. Identify the cause and fix it. Throwing away the old code and inserting new - from a new engine perhaps - means you trust that the new engine will not have similar flaws at all. Because if it has similar (or other) flaws, what's the thing you can do? Go in the code and fix it? Why wasn't that okay the first time around? Replace it again?
Star Trek Online Advancement: You start with lowbie gear, you end with Lobi gear.
Didn't someone cite that article to make the point that Cryptic did it wrong and there is a good reason to pick a new engine?
That conclusion isn't really supported by the article, but it also a has a different focus, I think.
Wasn't really caring why it was quoted originally, after reading it, i still found it useful here
It is not uncommon in software project that people say: "I hate this, can't we just throw it all away and start anew?". The article makes it clear why this isn't a good idea. It doesn't mean that you can't change stuff, but big sweeping rewrites are often the wrong thing to do. You can use refactoring and targeted rewrites to achieve a lot - without losing features and bugfixes that went into the old code base.
Exactly what i was getting at. this is reasonable. and it happens to be what the devs already do.
They did it by making the single worst strategic mistake that any software company can make:
They decided to rewrite the code from scratch.
Netscape spent three years on the equivalent of "upgrading the engine." What's the last time you heard about someone using Netscape to browse the Internet?
That browser is now called Firefox.
Let me google that ...
The Clint Eastwood movie?
No. The web browser. Netscape released the source code to Netscape and created Mozilla to crowd-source development of the next version of their browser. That browser exists today, and a good number of folks use it. It's now called Firefox.
Netscape's failure wasn't that they rewrote the engine, it was that they didn't brand it properly. The rewrite, and the advances in browser technology that were made because of it, were quite successful. In the end, their real mistake was distancing themselves from Mozilla, and eventually cutting ties with them.
Hey taco, would you mind explaining to those of us not technically inclined exactly what a game engine is and what it does? And what the difference would be between the current engine and a more advanced one? Because this conversation is all just white noise to me.
Taco's insights are definitely welcome. That said, wikipedia actually explains it pretty simply:
I'd be happy if i could switch off even 50% of all that FX.
THIS.
I agree with this. the power active shiny bits really need to be toned down and minimized somewhat. there are so many powers being activated at once now that its just too much.
now leave the devs to their work and just help them to fix what we've got with reasonable suggestions. like yreodred's.
Didn't someone cite that article to make the point that Cryptic did it wrong and there is a good reason to pick a new engine?
That conclusion isn't really supported by the article, but it also a has a different focus, I think.
No, I cited that article to support the conclusion that the article itself makes: starting from scratch on something like this is a bad idea.
funny how the nagus comes out after taco has stated his piece and then the nagus proclaims no one has a clue. still not providing anything really constructive i see.
anyway, i have a limited understanding of how it works, but that was gathered from other companies doing mmo's as well over time and asking questions that devs were willing to answer. one of which was how long it takes to build an engine and what types of risks are involved, but unfortunately none of them were willing to commit beyond that point.
T6 Miranda Hero Ship FTW. Been around since Dec 2010 on STO and bought LTS in Apr 2013 for STO.
Are you asking about new maps/objects/etc.? Those are added slowly but regularly. (Though I admit my latest batch of objects is taking longer than expected).
Or are you asking about Foundry Tech? There are no planned upgrades to the Foundry code that I know of at the moment.
Well, i asked about how often dev team review the foundry content, or maybe even play it if have time. And yeah, new additions is great, though it's sad that there is no major upgrades planned. Well, i guess you are more informed about what requires more attention at the moment. Thanks!
Hey taco, would you mind explaining to those of us not technically inclined exactly what a game engine is and what it does? And what the difference would be between the current engine and a more advanced one? Because this conversation is all just white noise to me.
A game engine is basically just one big piece of software. Just like you might install MS Word, or Adobe Photoshop, or Google Chrome. It's the code that runs everything. It's the underlying framework that I and other artists dump our objects and characters and such into.
Since it is a framework, and not "the game," it can be used over and over to make different games. Each game can make modifications to the engine to accommodate that game's particular needs, but they are still running on the same base engine as the others.
We, at Cryptic, have so far only used our own, proprietary (unnamed) engine. I guess you can call that the Cryptic Engine. Champions Online, Neverwinter, and Star Trek Online have all used the same engine. This is essentially the second iteration of the engine. The engine used in City of Heroes was very similar, but the whole thing was rebuilt when we started working on Champions.
I worked here at the time, and I will tell you from personal experience that trying to build an engine at the same time that you're trying to make a game IN that engine, is a bad idea.
Since then (2006), the current engine has received a LOT of upgrades. We are not stagnant. There has been a lot of new technology in the last decade, and we have incorporated a fair amount of it. But because it's released in a slow trickle, people don't seem to notice it, hence threads like this one.
There are other engines out there. Many other game companies work within their own proprietary engines as well. However there are also some commercial engines available. Unreal, Unity, and Cryengine come to mind, but there are others.
Generally, those commercial engines, which make money by licensing themselves to companies to use for their games (and not by making games themselves). Since they are in the market of making an engine, they generally tend to be on the leading edge of technology, and have lots of shiny features that make them more appealing for companies to use.
Companies that license a given engine can modify it as they see fit. They will usually add their own code on top of the existing code (or modifying existing code) to accomplish various goals.
However, all engines have things that they are good at, and things they aren't good at. The above engines are great for making really pretty stuff. Some of them have some pretty impressive design tools, etc. However, all of them are lacking in online multiplayer support. That means that there is a metric butt-ton of back-end code that needs to be written to get one of those engines to function as an MMO. :::cough:::
That doesn't mean you can't make MMOs using these other engines, and some have done so. But it does mean you have to be willing to put in that effort to make it work, and you have to believe that all of that effort is going to pay off at the end of the day. It also means that it's much EASIER to adopt a given engine at the outset of making a game, than once you've already got 5+ years of a game's tendrils intertwined in another engine.
For our part, we (Cryptic) have already invested (15 years now) in our own engine, which has all of that MMO support stuff going for it. Yes, there are shiny things in other engines which we would love to have access to. Generally, we get those things within a couple of years, but we don't have them the moment they show up elsewhere.
So. . . . while it might sound nice to say, "Just switch engines!" because you think we'll instantly have access to all of those shinies . . .
I hope that helps clarify what an engine is, does, etc. for you Samt1996.
I hope that helps clarify what an engine is, does, etc. for you Samt1996.
That is a great explanation. And while I know it is not a direct comparison, I will repeat what I said earlier: imagine trying to switch from Windows OS to Mac OS on the same computer. You might be able to do it(if you know what you are doing), but most of your programs aren't going to work anymore. So swapping Cryptic's engine for some other engine is going to mean a lot of things aren't going to work and would need to be converted to some new format. It would be a metric but load of work and would pretty much hault development for some time.
When people talk about a game engine, Usually what they're talking about is a graphics engine or framework. (That's what Unity and the Unreal engine are.) The engines have their own programming interfaces, and you can't swap them out. That'd be like using ATI cards for performance, with NVidia drivers for stability. (Or vice versa. Either way, it just isn't going to work.)
Upgrading the game client to 64 bit is only a win if the game's going to be handling more than about 2 gig worth of assets at a time. If it's not, it'll actually slow things down, because every pointer's going to double in size, and larger code is usually slower code. What would help make the client faster and more responsive (not the same thing) would be to add threading to the client, but that would probably involve a major redesign.
Rewriting isn't necessarily bad. The reason that people warn against it is the dreaded "second system effect," where the design includes all of the features that you couldn't get in the first system, leading to a massive scope expansion. If you stay disciplined, it's not a problem. (I've worked on a couple of redesigns, and they were successful, in large part because we were focusing on making pain points go away, rather than adding features.)
Whatever databases Cryptic uses is a red herring, much like Communism. The client doesn't talk to the database(s) directly. (Well, it shouldn't. If it does, that's a stupid security risk, and whoever made that decision should be pelted with fish.) The client talks to the server, and the server talks to the database. Most of the lag issues, have involved the server, so the client is irrelevant there. You'd get lag using Telnet.
Assets are another thing. Changing engine means migrating assets, which would be a huge deal. Good luck with that.
If I ran the STO team, I'd probably focus on isolating functionality in the client, to eventually add threading, and upgrading the tools. Both would probably be long term projects.
There are no silver bullets.
Assets are another thing. Changing engine means migrating assets, which would be a huge deal. Good luck with that.
I worked with a small team on one project. Suffice to say that even small changes about how engine handles game resources, or change in syntax for those databases may halt development for months. A lot of stuff to overhaul, and that was a small project.
I will repeat what I said earlier: imagine trying to switch from Windows OS to Mac OS on the same computer. You might be able to do it(if you know what you are doing), but most of your programs aren't going to work anymore.
Ok, up until now, all of my posts in this thread have been written with light hearted humor as the primary intent.
But I'll get actually serious for a quick sec ... I have zero experience with game engines. (Hence why my posts were humor driven). But I have run Mac OS on Windows machines and have been doing all sorts of jury rigging to accomplish that since the late 1990s. Primarily I learned how to do that for access to Adobe software. And then it just became a fun thing to do after Adobe started making PC versions.
It's gotten relatively easy to get Mac capability on a PC. I've never tried it the other way around though. I never had a reason to. Has anyone? I'm curious. What kind of PC stuff would you need to run through a Mac? I think the last time I had a job that required me to use both platforms at once it was only because the company's billing software was 10 years old at the time, and only worked on PC (and this was about 10 years back). But I only ever had to deal with invoices MAYBE once a month so I just went to an open desktop when I had to do that. That's the only time I can think of when I'd ever want to run PC stuff through a Mac.
Hmmmm.
Sorry this is definitely a derail. But I think Taco answered the questions of this thread rather thoroughly.
I hope that helps clarify what an engine is, does, etc. for you Samt1996.
That is a great explanation. And while I know it is not a direct comparison, I will repeat what I said earlier: imagine trying to switch from Windows OS to Mac OS on the same computer. You might be able to do it(if you know what you are doing), but most of your programs aren't going to work anymore. So swapping Cryptic's engine for some other engine is going to mean a lot of things aren't going to work and would need to be converted to some new format. It would be a metric but load of work and would pretty much hault development for some time.
I'd argue that it's a bigger deal than that. It is akin to asking Microsoft to convert Windows into MacOS.
I hope that helps clarify what an engine is, does, etc. for you Samt1996.
That is a great explanation. And while I know it is not a direct comparison, I will repeat what I said earlier: imagine trying to switch from Windows OS to Mac OS on the same computer. You might be able to do it(if you know what you are doing), but most of your programs aren't going to work anymore. So swapping Cryptic's engine for some other engine is going to mean a lot of things aren't going to work and would need to be converted to some new format. It would be a metric but load of work and would pretty much hault development for some time.
I'd argue that it's a bigger deal than that. It is akin to asking Microsoft to convert Windows into MacOS.
Right. Like I said, my example was not a direct comparison. I was trying to use an example that most people might be familiar with, such as operating systems. But the reality is that switching game engines would be such a monumental task that it is an extremely unrealistic request.
When people talk about a game engine, Usually what they're talking about is a graphics engine or framework. (That's what Unity and the Unreal engine are.) The engines have their own programming interfaces, and you can't swap them out. That'd be like using ATI cards for performance, with NVidia drivers for stability. (Or vice versa. Either way, it just isn't going to work.)
Upgrading the game client to 64 bit is only a win if the game's going to be handling more than about 2 gig worth of assets at a time. If it's not, it'll actually slow things down, because every pointer's going to double in size, and larger code is usually slower code. What would help make the client faster and more responsive (not the same thing) would be to add threading to the client, but that would probably involve a major redesign.
I tried to actually read about potential performance slowdowns due to x64 Bit. The best I found was someone doing benchmarks in the year 2004.
Indeed, a "problem" is that since data types are stored in 64 Bit instead of 32 Bit, they can be larger and thus can lead to slowdowns. BUt there are also features (like having more internal registers which means you don't need to store intermediate data in RAM, but can keep it in the register) that will help boost performance.
It seems the primary problem would be how well compilers would support these features when they translate your code into machine language. I strongly suspect that this has improved considerably in the past years.
That doesn't mean that turning an engine x64 Bit capable would be easy, but I don't think you'd be setting on the wrong horse. The memory advantage alone is probably something that matters for any new engine, since people will expect larger maps, bigger art assets, better textures, and all that will need memory.
The real problem is however changing any existing software over, the more complex and performance-optimized it already is, the more challenges there will be. As always.
But when it comes to sweeping changes, I suspect upgrading to x64 Bit will likely be vastly more practical than switching to a completely different engine. Still not necessarily practical.
But I doubt it will help with any lag players are experiencing...
Star Trek Online Advancement: You start with lowbie gear, you end with Lobi gear.
I am not a coder (chasing bugs just ain't for me) but I am an engineer, and all this game engine and re-coding talk, while impressive, still leaves behind a crucial factor: HARDWARE.
Cryptic's engine is actually very impressive; playing STO in 1080p, the game is lush. But that's actually not the engine, the engine(s) is located in the processor banks of servers it takes just to spit everything out, and all of it has to be stored, which involves hard storage, and that's not even getting into the TB's of data which has to be moved along at ultra-high speed, and THEN there's the added upgrading that has to be constantly done, security- and programmatic-wise... all of these things (and more) are what's running the game. The "game engine" is like the starter in your car: the engine is already there, but until it's told to run it won't, it's just a machine.
Another thing to point out is that code is not a tangible thing, it's a series of electrical impulses which are converted by your CPU into viable blocks of information. Electricity runs everything (including us). And our own bio-electricity has to run in kilojoules just to keep us going. The power which would be required to run the type of data centre where all this stuff went would mean some small country somewhere wouldn't have any at all.
Comments
Because...if they are selling well the money goes to line people pockets...not actually try and make the game better.
Improving the current ST:O engine is like Taco Bell adding new menu items - in the end it's just a re-jiggering and re-mixing of the current ingredients. If we want to see anything substantial, the game needs a new engine. Period.
If they do, that's on the scale that a boss Dev will likely proclaim in in a blog, not something they'll just blurt out randomly because of a passing question. Really, that doesn't seem like something they'd hide, now does it?
Well . . . Foundry CONTENT comes from you guys.
Are you asking about new maps/objects/etc.? Those are added slowly but regularly. (Though I admit my latest batch of objects is taking longer than expected).
Or are you asking about Foundry Tech? There are no planned upgrades to the Foundry code that I know of at the moment.
very much appreciated response, and more or less expected.
ty for the info, cheers.
ok, sometimes, the quality seems average, but it is not the engine fault, but the lack of time or the emergency to release something, and also they are a small team.
there is a real different between the very nice old iconia, and the average n'akuhl stuff. the new skin for the trb seems not finished.
the more important thing in a game is the content and the pleasure to play at a game. I still play at a 2002 game, just because it is excellent, even if everything is really old (models, textures).
I want that STO has a long life, I like this game. But please could we have more original content (not stuff from these old kitsch tv shows). The voth content was a nice idea. (lazer dinos etc) + more original ship designs from your studio. they are better than the design from the shows. please, don't be afraid to use fully your concept arts, some of them were awesome, but the result in game is not very exciting (dhelan, d'derithau etc)
btw, i don't know who creates the faces and the bodies of the different races (na'kuhl, iconian -old and new-, undines etc), but she/he makes an impressive job. thx
THIS.
I agree with this. the power active shiny bits really need to be toned down and minimized somewhat. there are so many powers being activated at once now that its just too much.
EDIT: also, this. this is profound.
now leave the devs to their work and just help them to fix what we've got with reasonable suggestions. like yreodred's.
Didn't someone cite that article to make the point that Cryptic did it wrong and there is a good reason to pick a new engine?
That conclusion isn't really supported by the article, but it also a has a different focus, I think.
It is not uncommon in software project that people say: "I hate this, can't we just throw it all away and start anew?". The article makes it clear why this isn't a good idea. It doesn't mean that you can't change stuff, but big sweeping rewrites are often the wrong thing to do. You can use refactoring and targeted rewrites to achieve a lot - without losing features and bugfixes that went into the old code base.
In that regard however - if there are lag problems - don'T throw out your whole netcode. Identify the cause and fix it. Throwing away the old code and inserting new - from a new engine perhaps - means you trust that the new engine will not have similar flaws at all. Because if it has similar (or other) flaws, what's the thing you can do? Go in the code and fix it? Why wasn't that okay the first time around? Replace it again?
Wasn't really caring why it was quoted originally, after reading it, i still found it useful here
Exactly what i was getting at. this is reasonable. and it happens to be what the devs already do.
Netscape's failure wasn't that they rewrote the engine, it was that they didn't brand it properly. The rewrite, and the advances in browser technology that were made because of it, were quite successful. In the end, their real mistake was distancing themselves from Mozilla, and eventually cutting ties with them.
Taco's insights are definitely welcome. That said, wikipedia actually explains it pretty simply:
https://en.wikipedia.org/wiki/Game_engine
The-Grand-Nagus
Join Date: Sep 2008
No, I cited that article to support the conclusion that the article itself makes: starting from scratch on something like this is a bad idea.
This was an enjoyable and informative thread.
I learned a few things about game engines.
Good comments from the community.
anyway, i have a limited understanding of how it works, but that was gathered from other companies doing mmo's as well over time and asking questions that devs were willing to answer. one of which was how long it takes to build an engine and what types of risks are involved, but unfortunately none of them were willing to commit beyond that point.
Been around since Dec 2010 on STO and bought LTS in Apr 2013 for STO.
I love my fans
The-Grand-Nagus
Join Date: Sep 2008
A game engine is basically just one big piece of software. Just like you might install MS Word, or Adobe Photoshop, or Google Chrome. It's the code that runs everything. It's the underlying framework that I and other artists dump our objects and characters and such into.
Since it is a framework, and not "the game," it can be used over and over to make different games. Each game can make modifications to the engine to accommodate that game's particular needs, but they are still running on the same base engine as the others.
We, at Cryptic, have so far only used our own, proprietary (unnamed) engine. I guess you can call that the Cryptic Engine. Champions Online, Neverwinter, and Star Trek Online have all used the same engine. This is essentially the second iteration of the engine. The engine used in City of Heroes was very similar, but the whole thing was rebuilt when we started working on Champions.
I worked here at the time, and I will tell you from personal experience that trying to build an engine at the same time that you're trying to make a game IN that engine, is a bad idea.
Since then (2006), the current engine has received a LOT of upgrades. We are not stagnant. There has been a lot of new technology in the last decade, and we have incorporated a fair amount of it. But because it's released in a slow trickle, people don't seem to notice it, hence threads like this one.
There are other engines out there. Many other game companies work within their own proprietary engines as well. However there are also some commercial engines available. Unreal, Unity, and Cryengine come to mind, but there are others.
Games using Unreal
Games using Unity
Games using Cryengine
Generally, those commercial engines, which make money by licensing themselves to companies to use for their games (and not by making games themselves). Since they are in the market of making an engine, they generally tend to be on the leading edge of technology, and have lots of shiny features that make them more appealing for companies to use.
Companies that license a given engine can modify it as they see fit. They will usually add their own code on top of the existing code (or modifying existing code) to accomplish various goals.
However, all engines have things that they are good at, and things they aren't good at. The above engines are great for making really pretty stuff. Some of them have some pretty impressive design tools, etc. However, all of them are lacking in online multiplayer support. That means that there is a metric butt-ton of back-end code that needs to be written to get one of those engines to function as an MMO. :::cough:::
That doesn't mean you can't make MMOs using these other engines, and some have done so. But it does mean you have to be willing to put in that effort to make it work, and you have to believe that all of that effort is going to pay off at the end of the day. It also means that it's much EASIER to adopt a given engine at the outset of making a game, than once you've already got 5+ years of a game's tendrils intertwined in another engine.
For our part, we (Cryptic) have already invested (15 years now) in our own engine, which has all of that MMO support stuff going for it. Yes, there are shiny things in other engines which we would love to have access to. Generally, we get those things within a couple of years, but we don't have them the moment they show up elsewhere.
So. . . . while it might sound nice to say, "Just switch engines!" because you think we'll instantly have access to all of those shinies . . .
I hope that helps clarify what an engine is, does, etc. for you Samt1996.
That is a great explanation. And while I know it is not a direct comparison, I will repeat what I said earlier: imagine trying to switch from Windows OS to Mac OS on the same computer. You might be able to do it(if you know what you are doing), but most of your programs aren't going to work anymore. So swapping Cryptic's engine for some other engine is going to mean a lot of things aren't going to work and would need to be converted to some new format. It would be a metric but load of work and would pretty much hault development for some time.
The-Grand-Nagus
Join Date: Sep 2008
Upgrading the game client to 64 bit is only a win if the game's going to be handling more than about 2 gig worth of assets at a time. If it's not, it'll actually slow things down, because every pointer's going to double in size, and larger code is usually slower code. What would help make the client faster and more responsive (not the same thing) would be to add threading to the client, but that would probably involve a major redesign.
Rewriting isn't necessarily bad. The reason that people warn against it is the dreaded "second system effect," where the design includes all of the features that you couldn't get in the first system, leading to a massive scope expansion. If you stay disciplined, it's not a problem. (I've worked on a couple of redesigns, and they were successful, in large part because we were focusing on making pain points go away, rather than adding features.)
Whatever databases Cryptic uses is a red herring, much like Communism. The client doesn't talk to the database(s) directly. (Well, it shouldn't. If it does, that's a stupid security risk, and whoever made that decision should be pelted with fish.) The client talks to the server, and the server talks to the database. Most of the lag issues, have involved the server, so the client is irrelevant there. You'd get lag using Telnet.
Assets are another thing. Changing engine means migrating assets, which would be a huge deal. Good luck with that.
If I ran the STO team, I'd probably focus on isolating functionality in the client, to eventually add threading, and upgrading the tools. Both would probably be long term projects.
There are no silver bullets.
Ok, up until now, all of my posts in this thread have been written with light hearted humor as the primary intent.
But I'll get actually serious for a quick sec ... I have zero experience with game engines. (Hence why my posts were humor driven). But I have run Mac OS on Windows machines and have been doing all sorts of jury rigging to accomplish that since the late 1990s. Primarily I learned how to do that for access to Adobe software. And then it just became a fun thing to do after Adobe started making PC versions.
It's gotten relatively easy to get Mac capability on a PC. I've never tried it the other way around though. I never had a reason to. Has anyone? I'm curious. What kind of PC stuff would you need to run through a Mac? I think the last time I had a job that required me to use both platforms at once it was only because the company's billing software was 10 years old at the time, and only worked on PC (and this was about 10 years back). But I only ever had to deal with invoices MAYBE once a month so I just went to an open desktop when I had to do that. That's the only time I can think of when I'd ever want to run PC stuff through a Mac.
Hmmmm.
Sorry this is definitely a derail. But I think Taco answered the questions of this thread rather thoroughly.
I'd argue that it's a bigger deal than that. It is akin to asking Microsoft to convert Windows into MacOS.
Right. Like I said, my example was not a direct comparison. I was trying to use an example that most people might be familiar with, such as operating systems. But the reality is that switching game engines would be such a monumental task that it is an extremely unrealistic request.
The-Grand-Nagus
Join Date: Sep 2008
Indeed, a "problem" is that since data types are stored in 64 Bit instead of 32 Bit, they can be larger and thus can lead to slowdowns. BUt there are also features (like having more internal registers which means you don't need to store intermediate data in RAM, but can keep it in the register) that will help boost performance.
It seems the primary problem would be how well compilers would support these features when they translate your code into machine language. I strongly suspect that this has improved considerably in the past years.
That doesn't mean that turning an engine x64 Bit capable would be easy, but I don't think you'd be setting on the wrong horse. The memory advantage alone is probably something that matters for any new engine, since people will expect larger maps, bigger art assets, better textures, and all that will need memory.
The real problem is however changing any existing software over, the more complex and performance-optimized it already is, the more challenges there will be. As always.
But when it comes to sweeping changes, I suspect upgrading to x64 Bit will likely be vastly more practical than switching to a completely different engine. Still not necessarily practical.
But I doubt it will help with any lag players are experiencing...
Cryptic's engine is actually very impressive; playing STO in 1080p, the game is lush. But that's actually not the engine, the engine(s) is located in the processor banks of servers it takes just to spit everything out, and all of it has to be stored, which involves hard storage, and that's not even getting into the TB's of data which has to be moved along at ultra-high speed, and THEN there's the added upgrading that has to be constantly done, security- and programmatic-wise... all of these things (and more) are what's running the game. The "game engine" is like the starter in your car: the engine is already there, but until it's told to run it won't, it's just a machine.
Another thing to point out is that code is not a tangible thing, it's a series of electrical impulses which are converted by your CPU into viable blocks of information. Electricity runs everything (including us). And our own bio-electricity has to run in kilojoules just to keep us going. The power which would be required to run the type of data centre where all this stuff went would mean some small country somewhere wouldn't have any at all.