Page 1 of 2 12 LastLast
Results 1 to 20 of 39

Thread: What does an Engine do?

  1. #1

    Default What does an Engine do?

    And will switching over fix alot of the tecque issues that are in the game now? And how hard a process is that to do?

    Thanks for info.

  2. #2

    Default

    An Engine... is the software that runs the game in itself.

    Its a piece of software that resides in the game, that runs how everything else in the game is run. Its kinda hard to explain, unless you're a programmer or some-such, but suffice to say, its the core piece of software running the whole shebang. You pass variables to it, you tell it what you want done, and it does all of the processing work and hands you the end product kinda thing. Its too early in the morning, I can't come up with the right words to explain this lol.

    Anyways, to switch engines would take a Lot of work, given that it is the core piece of software that drives the game. You'd have to code a new engine, then possibly re-do another client to interact with the engine, probably redo a lot of database files so that they are compatible with the new engine... this would probably take quite a bit of work.

    Re-doing the engine could have variosu effects on the game. It could allow for more things, such as a delivery system, or being able to make mobs spawn in caves instead of being restricted to outdoors-only, you might be able to give mobs better AI with a newer engine, too. If they recoded the Client, you might be able to see better performance, less wasted CPU/RAM/AGP resources, more efficiency, and in the long run, less lag.

    Mob Drops aren't an Engine issue, its just the way they are programmed to drop. If Technique Comps are programmed to drop 0.5% of the time, then yes, they are going to suck. That would be simple to change, a simple data edit. Change the 0.5% to, say, 3% would make them drop a Lot more often.

    --Dhalin

  3. #3

    Default Thanks

    That you for the info because I wondered what it means that the current engine wasn't bought. I am almost possitive about that. I would like to see some of the bugs fixed before any major project in started.

  4. #4

    Default

    Hmm, that's strange, I thought someone said that the engine was leased indefinately or something like that? *blinks* Yay for several sources saying several different things...

    Ah well.

    --Dhalin

  5. #5

    Default

    Would you really buy a game where you can't own the engine it runs on. Come on guys think about it.

    Now this phantom new engine they were supposed to be working on that may not have been bought. But like the expansion I bet it was just a thought and not really being made at all.

  6. #6

    Default

    I recall the interview said, Tulga still owns the Evolution Engine and that EI has licensed it. I'm not sure what this EE comprises, I hear it is the server-side of things, so client and whatsitsname-layer (edit2: simulation layer, I think it was called) are not part of that.

    edit:

    Quote Originally Posted by D0ZeR
    Would you really buy a game where you can't own the engine it runs on. Come on guys think about it.
    That would be the case here. It is not really a necessity to fully own all the parts. I forget which MMOG was supposed to run on Unreal Engine (it got canned anyway) so that would have definitely been a licensed piece. Also, I never heard TG mention a new engine for HZ, just speaking about the Ogre-based client plan.
    Last edited by Varangaard; July 26th, 2006 at 02:25 PM.

    Dragon adventurer 100 | Dragon crafter 100 | Dragon lairshaper 84

  7. #7

    Default

    You certainly asked a difficult question.

    There are several distinct parts to an MMO.

    1. The Client. This is what runs on your PC and takes up about 2 gig of disk space. It contains a lot of the fixed parts of the game like the components of items including critters, buildings, scenery, etc. That is one of the reason you see the server comparing itself to the client at startup time. It insures that everything is there and matches.

    2. The Server. This is the engine part of the game. The server part usually resides on a number of server type computers with each one doing load balancing and sharing of resources. This part of the system handles the dynamic part of the game. Every time you move and bring new objects into your part of the world, it has to insure that you are seeing the world as it exists. This means that all other players that are within your area all have to be sent to your Client to appear. When you harvest a resource and someone else is around, it has to let the other players know that you are harvesting and when the resource is done, it has to vanish from all of the other characters view.
    The server also handles communication between the players.
    Another function is the control of the Database.

    3. The Database. This function is what controls your inventory and the attributes of everything in the game. It is the function that knows what you have in your packs, your plot, your buildings, your vault, the consigners, the pawn broker. It keeps your levels and schools and skills. It is really the brains of the game. It not only has to know static information, it has to deal with ever changing information. Say you are harvesting sandstone. Every 3 seconds your pick gathers 5 items. Within those 3 seconds, the database has to get the information that you just harvested 5 items and write it to permanent disk storage. Should there be a database crash, or client crash or server crash, the database has to have that information for recovery purposes.

    As far as the Horizons engine goes, my understanding is that it was written for Horizons by Horizons. At the time of development, this was pretty common. There were not a lot of engines available at that time and even if you bought one, you would have to learn it and perform a lot of customizations.

    Now, that is not the case. There are a large number of very good engines available. They are costly, but they give you a tried and tested tmeplate to start with.

    The problems with purchasing one of these engines is a matter of standards. The other engine would perform the same, if not more, of the functions currently in Horizons, but the passing of information between the current and the new would be completely different. There would have to be changes to the artwork, the world, and all of the objects within the game. This would not be a trivial task. A chunk of it could be outsourced to the far east but it would still cost in the 7 digit figures.

    The issue with Horizons is that it got a bad rep at initial delivery. Many tried it and gave up due to the problems at the start. They would not return for any amount of money. In order to spend the money needed to deliver Horizons with a fresh engine and all of its parts requires a large player base. Horizons would have to be called something else and be brand new.

    I expect that the best we can hope for is that there is a lot of work done on the client and the lag and leak problems are nailed down and solved. From that base, then improvements to the game are implemented.

  8. #8

    Default

    Thanks for the great post Sledge! Even someone as techno-challenged as me could understand it.
    Before you criticize anyone, walk a mile in his shoes. Then, when you criticize him, you'll be a mile away. And you'll have his shoes.

  9. #9

    Default

    In horizons things work a little differently, they have their own blend of a system.
    1. The server in horizons is the database. They are not different, and the server code isn't responsible for any real processing work. TG called this Evolution engine, I think. This still belongs to TG, at least the new version, hz is using an older version which is much less efficient (It was most likely on hold until the client could handle the massive boosts the server could provide).

    2. The client in horizons uses an ancient version of the alchemy engine, they don't have the right to update it, and if they did update it, it just wouldn't work. It has been hacked in and tried. TG has never had the source code to this, so changes couldn't be made... but it was the rest of the client code which was so buggy, not just alchemy.

    3. The third, as mentioned, is the simulation layer which is responsible for just about everything that... well, happens. This is designed solely for hz, and can't be replaced. It was also written in coding lanuage created by Smeglor (as we were told), and nobody else knows the language or has a clue how the code works. Simulation calculates combat, crafting, and all comunications.

    This is what we have learned over the years.

  10. #10

    Default

    /e scratches behind his ear with his hind claw

    Huh?

    Oh well, I hope there's an answer soon because the explanation above would either mean the following:

    Horizons is doomed to run on an inadequate engine due to licensing issues with an older client... in such that if there is a new client ready for release, the player will never see it..

    Horizons will be able to upgrade to a new client, but EI may have to pay Tulga for its upgrade and pass that cost to its customers (now that we are no longer Tulga customers)

    The game gets ported over to another gaming graphics engine and EI does their own upgrade to the server / client.
    Justa Mirage: Ranger 100 / Healer 92 / Carpentry 100 / Confectioner 100 / Fletching 92 / Weaver 62 / Gatherer 34
    Flatspin: Ancient Lunus Dragon 100 / Craft 100 / Lairshaping 100

  11. #11

    Default

    AAO,

    A couple of question to help clear this up.

    A true database is nothing but a database. It may have some stored procedures and scripts to automate some requests, but its function is to store and serve data.

    Isn't what you have listed as #3 more in line with the functions of a server?

    The underlying stuff is even worse than I had imagined.

    With these facts, I would be hard pressed to not buy a fresh engine/client system and spend the time rewriting Horizons. A viable MMO should be operational for at least a decade. Even EQ, UO and AC are still operational and still have years left to them. Horizons does a number of things well and still has drawing power. It would be a shame to lose this game due to underlying structure problems.

    From what you said, I am really suprised they got Dragons to fly and build Lairs and all of the other great things in the game.

    Good Hunting out there.


    1. The server in horizons is the database. They are not different, and the server code isn't responsible for any real processing work. TG called this Evolution engine, I think. This still belongs to TG, at least the new version, hz is using an older version which is much less efficient (It was most likely on hold until the client could handle the massive boosts the server could provide).

    2. The client in horizons uses an ancient version of the alchemy engine, they don't have the right to update it, and if they did update it, it just wouldn't work. It has been hacked in and tried. TG has never had the source code to this, so changes couldn't be made... but it was the rest of the client code which was so buggy, not just alchemy.

    3. The third, as mentioned, is the simulation layer which is responsible for just about everything that... well, happens. This is designed solely for hz, and can't be replaced. It was also written in coding lanuage created by Smeglor (as we were told), and nobody else knows the language or has a clue how the code works. Simulation calculates combat, crafting, and all comunications

  12. #12

    Default

    Quote Originally Posted by AA0
    In horizons things work a little differently, they have their own blend of a system.
    1. The server in horizons is the database. They are not different, and the server code isn't responsible for any real processing work. TG called this Evolution engine, I think. This still belongs to TG, at least the new version, hz is using an older version which is much less efficient (It was most likely on hold until the client could handle the massive boosts the server could provide).

    2. The client in horizons uses an ancient version of the alchemy engine, they don't have the right to update it, and if they did update it, it just wouldn't work. It has been hacked in and tried. TG has never had the source code to this, so changes couldn't be made... but it was the rest of the client code which was so buggy, not just alchemy.

    3. The third, as mentioned, is the simulation layer which is responsible for just about everything that... well, happens. This is designed solely for hz, and can't be replaced. It was also written in coding lanuage created by Smeglor (as we were told), and nobody else knows the language or has a clue how the code works. Simulation calculates combat, crafting, and all comunications.

    This is what we have learned over the years.
    I assume this is what you have learned from IRC? As I have never seen nor heard one word of that and I am a board "troll" (as in constantly trolling the boards and reading just about every thread on here. /9->) If this was all gleamed from IRC just another reason I hate IRC.



  13. #13
    Tsujigiri
    Guest

    Default

    Fun. It sounds as if the technical woes of Horizons has a quest for lore all it's own.

  14. #14

    Default

    A lot of information on the how and why of the game have gotten tossed back & forth in IRC, yes. Why? Because IRC is a chat medium, and you can ask, "what does X mean?" and get an answer. Some times, "Could you do X?" is met with a short explanation of what would be involved with the requested changes. Other times there's no answer because the team is busy with working on the game.

    The team has posted technical information before in the forums; the main difference is due strictly to the real-time nature of IRC. The result is that some folks in IRC have a stronger background in the mechanics of the game than others do. This happens with everything, from kid's TV to the space program. It's just people being people.

    Just to throw more confusion into the mix, you can't forget the account server, which tells the game server how many subscriptions each account has and which characters are on which account. The world server keeps track of every single item on each shard, and takes care of adding, deleting, and moving the database entries represented by all the pixels on the screen. Make no mistake, the Chaos database is huge - one time I heard it was five times the size of Order's - which is why Chaos usually stays down longer.

    When you can gather anything, cant buff yourself, or can't create anything, usually the world server can't create new entries in the database. Existing entries can be modified, which is why you can harvest resources you allready have in inventory when this happens. There's an existing entry, therefor it can be modified.

    All the properties of all the objects in-game are stored server-side; when you see a node, the server tells your client what kind of model to use, where to put it, and what texture/tint to apply to it. It has to be this way, because nothing the client tells the server about the world can be trusted. If it didn't work this way, someone could change the data locally and change a sandstone brick into a Boar's Hide Mask.

    The client processes world information, sends & recieves location updates, provides feedback from the server on in-game actions, and handles chat interactions. The world information is processed by the occlusion system, which figures out what you can and cannot see and then tells the rendering engine what to display to you.

    All of this interaction is organized & given meaning by the simulation layer. When you try to mine a node, the simulation checks the location data of your biote, compares it to the location data of the node, and if you are close enough to interact, it processes the 'gathering' function, tells your client what animation to use, how many resources you get, and then despawns the node when the gathering function indicates the node has been exhausted. The world server entry for your inventory is updated to show how many resources you obtained, the client is updated with what to display, and off you go.

    Every single interaction you have with the game goes through the simulation layer. Any new features have to be integrated into the simulation and all the other systems that make up the game.

    Right now, only one person really understands how the simulation works: Smeglor. Will someone else be able to learn? Most likely. How well, and how long it will take, remain to be seen. It doesn't mean the game is dead, but it does mean that EI will need to get some very good, very capable, and very motivated people in place very quickly to begin studying these systems and learning how to work with them.

    Why not write a new simulation/server/client/etc? Time. Years, most likely. Time the game doesn't have. Yes, there's the new engine being worked on for DWO; the reason Horizons was not going to get it first is simply that altering the Horizons game systems to accomodate a new engine will be a MASSIVE amount of work. When the DWO client is stable and all the functional parameters of it are known, THEN you incorporate it into Horizons, test it heavilly, update everything that needs updating, and only then let it go live.

    I'll admit I may have some of the specifics wrong here; mea culpa. However, this is accurate to the best of my knowledge & belief. What happens to the game now depends on EI, and on the team they put together to take this project on.
    Klaus Wulfenbach
    Mithril Council, Chaos
    "Death is fleeting. Pride is forever."


    "Let us have faith that right makes might, and in that faith, let us, to the end, dare to do our duty as we understand it."-- Abraham Lincoln

  15. #15
    Dravatar
    Guest

    Default

    Actually, yes, Dozer. I think a number of companies have done so.

    When Diablo came out, the engine was used to run a number of other games, I believe, other than for Blizzard. I think the Bioware engine was also licensed for things other than NWN.
    Last edited by Dravatar; July 26th, 2006 at 07:25 PM.

  16. #16

    Default

    Yes basically Smeglor was only one that understands the simulation code. This was not by his choice. The fact is as others left he had to decipher and figure out their code which wasn't very easy. HZ was lucky that Smeglor was there to keep this portion operating. Otherwise we may have lost HZ long ago.

    Smeglor is gone, we can't change the past. We can only hope for the future. And right now its up to EI to deal with the game and all the mechanics of it. What happens is in their hands and I want the game to succeed as much as anyone. I have spent countless hours in this great game, and I pray its around a longtime. EI, I'm counting on you to keep our world alive.

    Jayne
    Last edited by Jayne; July 26th, 2006 at 08:03 PM.

  17. #17

    Default

    Quote Originally Posted by Varangaard
    I recall the interview said, Tulga still owns the Evolution Engine and that EI has licensed it. I'm not sure what this EE comprises, I hear it is the server-side of things, so client and whatsitsname-layer (edit2: simulation layer, I think it was called) are not part of that.

    edit:

    That would be the case here. It is not really a necessity to fully own all the parts. I forget which MMOG was supposed to run on Unreal Engine (it got canned anyway) so that would have definitely been a licensed piece. Also, I never heard TG mention a new engine for HZ, just speaking about the Ogre-based client plan.
    Lineage II runs on the Unreal Engine

    http://www.unrealtechnology.com/html...released.shtml

  18. #18

    Default

    Quote Originally Posted by Dravatar
    Actually, yes, Dozer. I think a number of companies have done so.

    When Diablo came out, the engine was used to run a number of other games, I believe, other than for Blizzard. I think the Bioware engine was also licensed for things other than NWN.
    Interesting note, Bioware has an un-announced title slated for the newest generation of the Unreal engine. Just a bit of useless fluff for those interested in the whole practice of licensing engines.

    Ok, this is admittedly old news.
    Last edited by Khargu Wildeye; July 26th, 2006 at 08:11 PM.

  19. #19
    Member Kulamata's Avatar
    Join Date
    Oct 2004
    Location
    Northern California
    Posts
    1,161

    Default

    Smeglor is definitely not joining EI? Not a welcome bit of news.
    ____Kulamata Quality Armor___
    None Genuine without this Pawprint `',''

    Achiever 86%, Explorer 60%, Socializer 46%, Killer 6%.

  20. #20

    Default

    Yes, as LO said this has been 2 years of IRC. They don't come out and just tell us this, it is tiny bits and pieces at a time that all come together about how the game works. If anyone here thinks its is simple and just a few people can actually handle it, you are wrong.

    The system actually is pretty ******** good, but there were some major mistakes made in the initial set up of the hz database structure which can't be changed now. When I said server, I guess I should have said servers, as there are many servers for many different tasks and parts of the world.

    From our understanding, attempting to change these systems blind is going to result is some very.. very bad things. Without Smeglor, reverse engineering the simulation layer would take.. 9 months minimum? Can anyone in EI even do that? Then they need to learn how to actually patch the game, yet another Smeglor only feature.

    Edit - I believe they use an MS product.. SQL for their database. And yes they know its not right for an MMO.. but yet another early decision that can't be changed.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •