Trending Games | The Crew | Elder Scrolls Online | Landmark | Neverwinter

  Network:  FPSguru RTSguru
Login:  Password:   Remember?  
Show Quick Gamelist Jump to Random Game
Members:2,848,333 Users Online:0
Games:732  Posts:6,222,807
Rift (Rift)
Trion Worlds | Official Site
MMORPG | Genre:Fantasy | Status:Final  (rel 03/01/11)  | Pub:Trion Worlds
PVP:Yes | Distribution:Download | Retail Price:Free | Pay Type:Free | Monthly Fee:Free
System Req: PC | Out of date info? Let us know!

General Discussion Forum » The Pub at MMORPG.COM » Hero Engine 2 $99/year ~ Indy MMOs

8 Pages « 1 2 3 4 5 6 7 » Last Search
149 posts found
  Quizzical

Guide

Joined: 12/11/08
Posts: 13305

12/06/12 1:57:09 PM#61
Originally posted by lizardbones

 


Originally posted by Quizzical

Originally posted by lizardbones  
Hopefully this doesn't derail the thread too much, or maybe this information will be relevant to some other developers out there. When the player view point is moving, is the player moving, or is the object they are walking on rotating? The reason I ask is for multiplayer environments. I was looking at Unreal and Unity, and it looked possible to have a round surface to run around on, but the mechanics to make it happen were that the surface rotated under the player viewpoint, rather than the player viewpoint running around on the surface. This was because there is a static "down" for gravity. This is fine for a single player environment, but multiple players couldn't rotate the same object at the same time. Also, the skybox would have stayed in a static position, which might look weird. At the time, I didn't see a way to write in a different gravity property for the system.  
That depends on which coordinate system you're talking about.  A game engine internally has to have a bunch of different coordinate systems, and you have to convert between them a lot.  That's why when people ask about designing a game, I insist that you absolutely must be comfortable with change of basis matrices to do 3D graphics, or else you're not going to get anywhere.

 

Internally, every object has a position in the coordinate system for the region it is in.  Every region (32 in my game world) has its own coordinate system, and objects near regional boundaries often have to be converted into the coordinate system of the adjacent region(s).  In this coordinate system, it is the player who moves while the trees and rocks and so forth stay put.  Eventually there will be NPCs and mobs and some other animated objects that also move, but I haven't made them yet.

There is also a coordinate system for the camera.  In every single frame, every nearby object has to be converted from region coordinates to camera coordinates.  Then there are some tests to see if the object might plausibly appear on the screen, and if not, it is skipped.  If it might appear, then the uniforms to draw it are computed and get passed along to the rendering thread, which sorts things and sends them along to the video card to draw.  The rendering thread never sees anything in regional coordinates, but only camera coordinates, so from that perspective, the camera stays put and everything else in the world moves.

Each object implicitly has its own coordinate system, and various surfaces that make up the object have their location given in the object's coordinate system, which then gets converted to regional coordinates.  The object's coordinate system is a simple translation of region coordinates, so this is pretty easy.

There are also clip coordinates, window coordinates, and screen coordinates, but that's all done on the video card, and the CPU side of the code doesn't touch it at all other than to update some uniforms when the player makes certain changes, such as resizing the window.  Well, the window size is relevant to determining whether objects will appear on the screen, I suppose.




I can conceptualize what you're talking about with the coordinate systems, but I don't think that's possible with the Hero or Unreal Engines. Maybe dynamically loading chunks in front of the player with each of the chunks large enough that the player can't see to the end of the chunk that's loading or something...Minecraft style. I'm not even sure you can do that with Unreal...don't know about Hero but I would guess that it's not remotely possible.

There are some pretty smart people in the world. I don't know why, but this makes me happy. :-)

Thanks for the info.

 

While I don't know the internal details of the Hero Engine or Unreal Engine or any others besides my own, I'd be absolutely shocked if any 3D game engines don't have a bunch of different coordinate systems floating around with various means to convert from one to another.  They might try to hide the details from a programmer, but what you can do is extremely restricted if you only have one universal coordinate system.  Nothing in the game world would be able to rotate at all, the camera would be unable to move, it would be impossible to resize or even move the game window, and quite a few other things that we take for granted would be impossible.

My methods for converting from one regional coordinate system to a different region's coordinate system are unusual (and made necessary by having a spherical world), but the rest is just the way 3D graphics are done and have been done since the early days of OpenGL and Direct3D.

  Quizzical

Guide

Joined: 12/11/08
Posts: 13305

12/06/12 2:02:05 PM#62
Originally posted by asmkm22

SWtOR was basically the opposite in every way.  They had no multiplayer experience to speak of, and had to license the Hero Engine because they needed something fast.  If you look at the limitations of the Hero Engine, and the criticisms of SWtOR, it becomes fairly obvious that the development of the game was limited by the engine, which is never ideal.

If you have full access to the source code and can modify it however you like, then you're not restricted at all by what the game engine is designed to do.  If it's not built to handle something you want, then you can change it to have the capabilities that you want.  If your game engine programmer(s) are terrible, then that could hamstring you, but the problem isn't the starting point.

Using an off-the-shelf game engine only cripples you if you're not able to modify it however you please.

  User Deleted
12/06/12 2:09:49 PM#63
Originally posted by OG_Zorvan
Originally posted by asmkm22
Originally posted by mmoDAD
Originally posted by Souldrainer
There are some good things that this engine brings to the table, like stable network management. However, if you are an indie dev who has fewer than 10 games under your belt, I strongly advise you to avoid RPGs and MMOs until you have a good grasp on the fundamentals of game design.

This doesn't matter at all.

WoW was Blizzard's first MMO. It did very well.

SWTOr was BioWare's first MMO. It did very bad.

 

It's all about knowing what makes a good MMO. BioWare claimed it was story. Nope.

WoW was new to MMO's, but not to multiplayer.  They had lots of experience with the client/server archetecture required for an MMO.  More importantly, they already had an in-house engine ready to be converted for use, so there was very little learning curve in development.  Blizzard actually did a very good job with WoW, but it wasn't random success.  They just had talented people.

SWtOR was basically the opposite in every way.  They had no multiplayer experience to speak of, and had to license the Hero Engine because they needed something fast.  If you look at the limitations of the Hero Engine, and the criticisms of SWtOR, it becomes fairly obvious that the development of the game was limited by the engine, which is never ideal.

Completely false.

http://www.heroengine.com/2011/11/heroengine-meets-starwars/

I've read that and it basically confirms what I was saying:  Bioware needed something fast and chose Hero Engine because it has impressive development tools (it does).  There are limitations in the engine, especially the early build that they purchased, which explain a lot of the design decisions behind SWtOR though.

For example, the common criticism of SWtOR being nothing but a bunch of coridoors and rooms has to do with how the Hero Engine handles zones and terrain.  Even their open world areas, like Tatooine and Alderan, simply use tricks to prevent the player from ever being able to see off very far in the distance.  Stuff like "dog leg" shaped maps, and painted skyboxes for "distant terrain."

The engine now has what's called "seamless 2.0" which does make open world a bit more viable, in that you can link two zones together without using a transition piece, however it is still limited enough that you still have to design your grid of zones in such a way as to prevent the player from loading too many zones at one time.

Example:  (zones named A, B, C, and D)

A  B

C  D

As you move from zone A to B, the engine knows it needs to start loading up zone B into memory, so that when you reach zone B, the transition is seamless to the player (who thinks they are just in the same open are).

If you move from zone A to D, the engine would end up having to load zones B, C, and D because you are potentially going to any of them (they are all in sight from the south east corner of zone A).  This overhoad of loading additional zones up is very significant, and something the engine isn't designed for.

So from a game design standpoint, you'd have to take that limitation into consideration and setup your map so that something is in the middle of all four zones, such as a moutain or very large building, preventing the possibility of running into that situation.

This is not all that uncommon for game design anyway.  You see it a lot in cities, where they are designed to be a big circle (Ironforge in WoW, Sanctuary in Rift, Human captial in GW2, etc).

Anyway, I only mentioned it because of the complaints people have of MMO's that aren't open-world enough.  It often has to do with the game engine limitations.  WoW used to have this problem, but was updated with Cata out of necessity.

  User Deleted
12/06/12 2:18:53 PM#64
Originally posted by Quizzical
Originally posted by asmkm22

SWtOR was basically the opposite in every way.  They had no multiplayer experience to speak of, and had to license the Hero Engine because they needed something fast.  If you look at the limitations of the Hero Engine, and the criticisms of SWtOR, it becomes fairly obvious that the development of the game was limited by the engine, which is never ideal.

If you have full access to the source code and can modify it however you like, then you're not restricted at all by what the game engine is designed to do.  If it's not built to handle something you want, then you can change it to have the capabilities that you want.  If your game engine programmer(s) are terrible, then that could hamstring you, but the problem isn't the starting point.

Using an off-the-shelf game engine only cripples you if you're not able to modify it however you please.

This is true, but there are a few things to note:

First, Hero Cloud (the $99 sub version) doesn't give access to the source code.  I mention that due to the relevance of this thread.

Second, significantly modifying engine source code is not at all trivial or quick to impliment.  Could Bioware have significatly modified the engine source code to better suite their needs?  Of course, and they did plenty of development on it as it stands.  What they didn't do was fundementally rewrite how the engine loads and renders zones.

For anyone looking to do that, I'd just recommend going with the UDK anyway, and building up the middleware needed for an MMO.  It would be less work, and give you more control.  That's my opinion anyway.

  Sovrath

Elite Member

Joined: 1/06/05
Posts: 17116

12/06/12 2:19:21 PM#65
Originally posted by Quizzical
Originally posted by Sovrath
Originally posted by Quizzical  If the hope of indie games is innovation, then using an off-the-shelf game engine will stifle that, even if it does make it easier to make a simple game that kind of works.

hmmm, but you are talking about graphics, no?

I don't think indy developers are necessarily looking to make graphica innovations so much as game play innovations.

Now having said that, the rest of your posts ring true. But I'm not sure that sentence above pertains for game play innovations.

It's not just graphics.  Game mechanics typically have graphics associated with them, and if you can't draw the graphics you need, you have to scrap the entire mechanic.

I didn't want a round world just for the sake of having a round world.  I want it to be light on one half of the world and dark on the other, and which "half" changes with time as the sun moves.  You can see the sun, and as the sun gets lower in the sky, the sky gets darker.  When the sun sets, the direct sunlight lighting disappears, so all you have left is some non-directional lighting from Rayleigh scattering.  And even that doesn't last very long before it gets completely dark.

Still just graphics, you say?  Well, this isn't:  if you're outside of a city when it is completely dark, you die instantly.  Lighting changes to make it clear that it's getting dark are essential to this.

The idea is that there will be 12 heroes, and up to 4 players.  Each player plays one of the heroes, while the rest stay in towns.  If you're in a town, you can switch to any hero in a different town, so when it's evening in your part of the world, you switch to a hero in a town where it's morning and continue playing.

There are three railroads that circumnavigate the world, and each passes through six cities.  You can get from any city to any other by riding the railroads.  Heroes that aren't actively being played will be able to be told to ride to a different city for a variety of purposes and will do so without any player actively playing them.

In order to go straight from one city to another, railroads have to be positioned at some odd angle.  I had to make a rather messy spreadsheet to compute the right angle.  If everything has to snap to a grid (as game engines sometimes require), you'd be forced to make railroads zigzag back and forth rather than go in a straight line.

So, can the unmodified Hero Engine 2 do that?

-----

Or let's wander off into something that definitely isn't graphical in nature:  security.  As everyone knows, bots are bad.  But trying to have mods ban bots as they find them is pretty ineffective.  What you really have to do is to make the bots not work.  But as one game developer put it, "the client is in the hands of the enemy".  Bot-writers can read system memory and grab data from there for bots to use.

So how do you stop that?  My proposal is to encrypt the few things in system memory that bots would want to read, and only briefly decrypt them as needed.  It will be a custom-done encryption, so any off-the-shelf tools to attack it will get nowhere.  It probably won't be a very strong form of encryption, but it doesn't need to be to give bot-makers fits.  That's still a ways off, so I haven't done it yet and I'm not sure how well it will work out.  But that requires access to low-level things in the game engine.  If I were using the unmodified Hero Engine 2, think I'd be able to do it?

ok thanks, that makes sense.

  Quizzical

Guide

Joined: 12/11/08
Posts: 13305

12/06/12 2:25:28 PM#66
Originally posted by asmkm22

For example, the common criticism of SWtOR being nothing but a bunch of coridoors and rooms has to do with how the Hero Engine handles zones and terrain.  Even their open world areas, like Tatooine and Alderan, simply use tricks to prevent the player from ever being able to see off very far in the distance.  Stuff like "dog leg" shaped maps, and painted skyboxes for "distant terrain."

That's not a problem of the Hero Engine in particular.  That's simply accepting the reality of what modern computer hardware can handle.  You can only draw so many things in a frame at once.  You can only load so many things into video memory at once.  You can only load so many things into system memory at once.  You can only load things off of a hard drive (or even an SSD) so fast.  The restrictions depend some on what you want the minimum system requirements to be, and some on how efficient you are at programming it.

But at some point, you're faced with a choice of either saying, we're going to put obstacles in the way so that players can never see very far, or else we're simply not going to draw anything beyond a certain distance and it will suddenly appear out of thin air as the player gets closer.

  Quizzical

Guide

Joined: 12/11/08
Posts: 13305

12/06/12 2:32:40 PM#67
Originally posted by asmkm22

Second, significantly modifying engine source code is not at all trivial or quick to impliment.  Could Bioware have significatly modified the engine source code to better suite their needs?  Of course, and they did plenty of development on it as it stands.  What they didn't do was fundementally rewrite how the engine loads and renders zones.

And modifying how the game engine works is harder if you weren't the one that made it in the first place to already understand how it works.  And if you've got a bunch of assets already in place that assume the old way and will break if you change it.

But still, how do you know that they didn't change it?  There have been a lot of changes to my game engine that I've made that didn't have any obvious effect on gameplay, but involved some very fundamental reorganizations under the hood.  At one point, I changed how tree branches were set up so as to involve 3 calls to a trig function, rather than an average of 24, but still pulled from the same distribution as before so that there wasn't any obvious change.  (This change alone shaved about a full second off of the game loading time--which is significant for a game that now takes about 3 seconds to load.)

  Loktofeit

Elite Member

Joined: 1/13/10
Posts: 12112

Currently playing EVE, SMITE, Wildstar, and Combat Arms

12/06/12 2:34:50 PM#68
Originally posted by lizardbones
I can conceptualize what you're talking about with the coordinate systems, but I don't think that's possible with the Hero or Unreal Engines. Maybe dynamically loading chunks in front of the player with each of the chunks large enough that the player can't see to the end of the chunk that's loading or something...Minecraft style. I'm not even sure you can do that with Unreal...don't know about Hero but I would guess that it's not remotely possible.

 

A working but somewhat clunky example of it being done in Unreal can be found in Vanguard: Saga of Heroes. You see a render of the next region's terrain but any dynamic content is not yet visible. You can also tell by the occasional stuttering when you are crossing from one chunk to another.  In Lineage 2, the transition is similar but much smoother. There are several reasons for that including it being a heavily modified version of Unreal and optimized separation of loot, mobs and maps on dedicated servers.

Most engines, though, work on the same basic principle of predicting where you are headed next and preloading content from the next area over. In talking with someone who had worked on DAoC (engine: NetImmerse/Gamebryo), he had described it by saying to imagine your character was inside a huge sphere or hamster ball, and as you travelled the content ahead was preloaded or "projected" onto that sphere, so there would be a "rolling" update of terrain as you moved to reduce the amount of loading while rendering.

"And wikipedia is as accurate as Britannica. Wikipedia is very reliable. You would be hard pressed to find a more reliable source for these kinds of things." -fovoroth

  User Deleted
12/06/12 2:43:11 PM#69
Originally posted by Quizzical
Originally posted by asmkm22

For example, the common criticism of SWtOR being nothing but a bunch of coridoors and rooms has to do with how the Hero Engine handles zones and terrain.  Even their open world areas, like Tatooine and Alderan, simply use tricks to prevent the player from ever being able to see off very far in the distance.  Stuff like "dog leg" shaped maps, and painted skyboxes for "distant terrain."

That's not a problem of the Hero Engine in particular.  That's simply accepting the reality of what modern computer hardware can handle.  You can only draw so many things in a frame at once.  You can only load so many things into video memory at once.  You can only load so many things into system memory at once.  You can only load things off of a hard drive (or even an SSD) so fast.  The restrictions depend some on what you want the minimum system requirements to be, and some on how efficient you are at programming it.

But at some point, you're faced with a choice of either saying, we're going to put obstacles in the way so that players can never see very far, or else we're simply not going to draw anything beyond a certain distance and it will suddenly appear out of thin air as the player gets closer.

There are plenty of engines that handle it better than Hero Engine.  Unreal, for example.  It's certainly not limited to Hero Engine, no, but it's also not as much of a "fact of life" limitation as you think.  Things like loading assets into memory, like you mention, are certainly limited to hardware capabilities on the client end.  The challenges an MMO game has is that it's having to do a whole lot more than just that.  You have load in aditional actors, players, monsters, monster ai, loot tables, changes, combat information, and more, all of which need to get broadcast out to any number of players.

Loading several zones in memory as needed when it's just one person isn't a big deal.  It's limited in much the same way you mention.  Loading them with a lot of stuff going on, such as player activity, can bring a server to it's knees, much less the client.

There are plenty of ways to do open world designs for an MMO, just not with many of the game engines out.  Unreal is an exception only because the sourcecode is free, and it's pretty stripped down.  90% of the work required would be replacing the default networking code to something more MMO-friendly.  Beyond that, the engine handles open world beautifully.

  User Deleted
12/06/12 2:48:42 PM#70
Originally posted by Quizzical
Originally posted by asmkm22

Second, significantly modifying engine source code is not at all trivial or quick to impliment.  Could Bioware have significatly modified the engine source code to better suite their needs?  Of course, and they did plenty of development on it as it stands.  What they didn't do was fundementally rewrite how the engine loads and renders zones.

And modifying how the game engine works is harder if you weren't the one that made it in the first place to already understand how it works.  And if you've got a bunch of assets already in place that assume the old way and will break if you change it.

But still, how do you know that they didn't change it?  There have been a lot of changes to my game engine that I've made that didn't have any obvious effect on gameplay, but involved some very fundamental reorganizations under the hood.  At one point, I changed how tree branches were set up so as to involve 3 calls to a trig function, rather than an average of 24, but still pulled from the same distribution as before so that there wasn't any obvious change.  (This change alone shaved about a full second off of the game loading time--which is significant for a game that now takes about 3 seconds to load.)

I don't know for sure that they didn't change it.  What I do know, is that there would have been no reason to change it if they were just going to design the game maps with the limitationsi n mind anyway, which they did.  I can go map by map and see places where something exists for the sake of breaking LoS to another area, or how outdoor maps are connected through vast empty no-mans-land sections that kill you for entering, or how deep water was avoided (Hero Engine deals with water pretty poorly, especially in the transition from in and out of it).

If they went to the trouble of changing the engine to support a less restrictive map design, then they forgot to design their maps with less restrictions.  That's all I know.

  Quizzical

Guide

Joined: 12/11/08
Posts: 13305

12/06/12 2:50:17 PM#71
Originally posted by Loktofeit
Originally posted by lizardbones
I can conceptualize what you're talking about with the coordinate systems, but I don't think that's possible with the Hero or Unreal Engines. Maybe dynamically loading chunks in front of the player with each of the chunks large enough that the player can't see to the end of the chunk that's loading or something...Minecraft style. I'm not even sure you can do that with Unreal...don't know about Hero but I would guess that it's not remotely possible.

 

A working but somewhat clunky example of it being done in Unreal can be found in Vanguard: Saga of Heroes. You see a render of the next region's terrain but any dynamic content is not yet visible. You can also tell by the occasional stuttering when you are crossing from one chunk to another.  In Lineage 2, the transition is similar but much smoother. There are several reasons for that including it being a heavily modified version of Unreal and optimized separation of loot, mobs and maps on dedicated servers.

Most engines, though, work on the same basic principle of predicting where you are headed next and preloading content from the next area over. In talking with someone who had worked on DAoC (engine: NetImmerse/Gamebryo), he had described it by saying to imagine your character was inside a huge sphere or hamster ball, and as you travelled the content ahead was preloaded or "projected" onto that sphere, so there would be a "rolling" update of terrain as you moved to reduce the amount of loading while rendering.

How you want to load things depends greatly on how your data is structured.  The way I do it is to load a catalogue of everything in the entire game into system memory at launch, broken into 392 zones--not the same zones as the 32 regions of my game world.  Every 100 ms, one thread will check nearby zones to look for particular objects to see if there are any that aren't yet loaded but are close enough that they should be.  If it finds any, then it passes them along to another thread and asks for them to be loaded.

The next thread then organizes things of what is in the process of being loaded and passes along requests to create the relevant textures to some other threads.  The other "threads" is usually 1-2, depending on how many processor cores you have, but it will open up a separate thread for each core when you're first loading the game or switch characters (so it has to dump everything that is already loaded and load everything for the new region), and then close the excess threads once that is done.  I generate textures on the processor rather than loading them from a hard drive, which is highly unusual.  (Speaking of things that Hero Engine 2 isn't built for...)

Once all of the textures for an object are loaded, the thread that organizes this will pass them along to the rendering thread to upload them to the video card, and then pass the complete object along to a different thread (or rather, pool of threads, with the number again depending on how many processor cores you have) that organizes which objects need to actually be drawn in a given frame.  Except for when first loading the game or switching characters, I'll only send so many textures to the rendering thread to upload per frame, so as to avoid hitching.  This sometimes delays an object appearing in the game world by some tens of milliseconds.

Something else that I do that is probably very unusual is that all vertex data for the entire game is loaded at launch, so the video card never has to worry about loading or unloading various models.  Uniforms are changed, mostly on a per-object basis, and textures have to be loaded and deleted.  But the vertex data doesn't.  For most games, that's impractical because of the need for lots of different models in your game world.  But tessellation makes it so that if two surfaces are homeomorphic, they can use exactly the same vertex data, rather than needing separate vertex models.

  Quizzical

Guide

Joined: 12/11/08
Posts: 13305

12/06/12 2:54:47 PM#72
Originally posted by asmkm22
Originally posted by Quizzical
Originally posted by asmkm22

Second, significantly modifying engine source code is not at all trivial or quick to impliment.  Could Bioware have significatly modified the engine source code to better suite their needs?  Of course, and they did plenty of development on it as it stands.  What they didn't do was fundementally rewrite how the engine loads and renders zones.

And modifying how the game engine works is harder if you weren't the one that made it in the first place to already understand how it works.  And if you've got a bunch of assets already in place that assume the old way and will break if you change it.

But still, how do you know that they didn't change it?  There have been a lot of changes to my game engine that I've made that didn't have any obvious effect on gameplay, but involved some very fundamental reorganizations under the hood.  At one point, I changed how tree branches were set up so as to involve 3 calls to a trig function, rather than an average of 24, but still pulled from the same distribution as before so that there wasn't any obvious change.  (This change alone shaved about a full second off of the game loading time--which is significant for a game that now takes about 3 seconds to load.)

I don't know for sure that they didn't change it.  What I do know, is that there would have been no reason to change it if they were just going to design the game maps with the limitationsi n mind anyway, which they did.  I can go map by map and see places where something exists for the sake of breaking LoS to another area, or how outdoor maps are connected through vast empty no-mans-land sections that kill you for entering, or how deep water was avoided (Hero Engine deals with water pretty poorly, especially in the transition from in and out of it).

If they went to the trouble of changing the engine to support a less restrictive map design, then they forgot to design their maps with less restrictions.  That's all I know.

To the contrary, you might make a major overhaul to get 20% or 50% or some such better performance for the way your particular data is structured.  You can use that up to draw more and further away, but it's not enough to eliminate restrictions on what you can draw entirely.  A 500% performance improvement wouldn't be enough to eliminate all of the -restrictions.  Nor would 5000%, in spite of probably being impossible to achieve.

  lizardbones

Elite Member

Joined: 6/11/08
Posts: 10553

I've become dependent upon spell check. My apologies for stupid grammatical errors.

12/06/12 2:55:58 PM#73


Originally posted by Quizzical
While I don't know the internal details of the Hero Engine or Unreal Engine or any others besides my own, I'd be absolutely shocked if any 3D game engines don't have a bunch of different coordinate systems floating around with various means to convert from one to another.  They might try to hide the details from a programmer, but what you can do is extremely restricted if you only have one universal coordinate system.  Nothing in the game world would be able to rotate at all, the camera would be unable to move, it would be impossible to resize or even move the game window, and quite a few other things that we take for granted would be impossible.

My methods for converting from one regional coordinate system to a different region's coordinate system are unusual (and made necessary by having a spherical world), but the rest is just the way 3D graphics are done and have been done since the early days of OpenGL and Direct3D.




It's adding an additional coordinate system that didn't already exist that would get messy with Unreal. You'd have to unroll the soccer ball and keep track of the player's positions on the hexagons outside the system and teleport the players around from hexagon edge to hexagon edge. You'd also have to mimic activity happening at the edges so it didn't look like the players were running off the edge of the world or into some sort of mysterious mist. That doesn't even get into some of the hexagons apparently not being the same shape and all the edges not exactly meeting up if you unroll the soccer ball and lay it out flat.

So I guess it's not impossible, but it seems messy and like it would be a lot easier to just have a flat world and maybe cheat at the edges with tall walls and teleports in specific locations.

For every large, complex problem, there is a simple, clear solution that also happens to be absolutely wrong.

  wowclones

Novice Member

Joined: 6/15/12
Posts: 133

12/06/12 2:56:08 PM#74
Originally posted by bishbosh
Originally posted by wowclones
Originally posted by bishbosh

I have researched quite a few game engines because i am currently looking into making my own casual multiplayer game. hero engine is basically a toy to play around with for people who arent really serious about making games for money.

high quality large scale mmorpgs/games do not work well with one solution fits all stuff like hero engine. im sorry but thats the way it is. 

hero engine uses some weird hero script which probably doesnt give the developer much control over anything and it probably runs slow as shit. 

the whole hero cloud server crap is bullshit. no decent mmorpg or online game will run on servers which they have little control over. 

if the developer doesnt have control over server-client interaction and the mulitplayer code, developer cannot guarantee stability, no hacks , no lag etcc etc

 

if you want to make a big huge mmorpg, you probably cant . stop dreaming.... you would need to build your own complex game engine or pay $500k-$1000k for a proprietary game engine which you would then heavily modify...

 

if you are making a smaller game make your own primittive game engine or use unity3d

 

mmorpgs are a big thing and you need large amounts of capital, experience, skills and manpower to make them.

man you have no idea what you are talking about lol. no offense, but you need to reseach more, use Hero for a few years and come back and post something educated. truely sad. 

can u list a game which uses hero engine non propriatary?

3 hero engine games that i know -

dominus - shutdown before release

faxion - shutdown shortly after release (i actually tried this one and performance was utter crap despite low res low polygon gfx)

swtor - runs like crap despite ageing gfx and heavy instancing, heavily criticised game for unoriginality and poor performance, switched to f2p

 

do you honestly think heroengine will pay for whatever your bandwidth costs are for $99/ year once your game is released and pay for server maint with this measly amount of money? no they wont because hero engine sucks and they know only retards who think making an mmorpg weekend leisurely affair.

the engine is easy to use, fast content creation and very appealing -- it designed to lure noobs who think they can make an mmorpg into paying $99/year. hero engine people know these mmorpgs will never materialise. this is why proper companies by proprietary licenses which cost undisclosedly large amounts.

You are digging yourself a deeper hole, your post are growing more ignorant by the count.  Not sure what you are trying to prove but your points couldn't be more far off then they are right now. There are a handful of games using HeroEngine in development. The engine just became affordable to the indie 2 years ago, it takes longer than that to build an mmo genius. Dominus shutdown due to lack of funding, has nothing to do with Hero. Tor runs fine on my computer, not sure what you are talikng about, try upgrading your rig. Faxion Online would have been crap in any engine, ugly models, concept and lore. The Repopulation is using Hero, Visions of Zosimos, PathFinder Online and many other. Grow up, just because you didn't have the brain power to use Hero doesn't mean it's a bad engine, you just don't know how to use it.

  lizardbones

Elite Member

Joined: 6/11/08
Posts: 10553

I've become dependent upon spell check. My apologies for stupid grammatical errors.

12/06/12 3:07:09 PM#75


Originally posted by Loktofeit

Originally posted by lizardbones I can conceptualize what you're talking about with the coordinate systems, but I don't think that's possible with the Hero or Unreal Engines. Maybe dynamically loading chunks in front of the player with each of the chunks large enough that the player can't see to the end of the chunk that's loading or something...Minecraft style. I'm not even sure you can do that with Unreal...don't know about Hero but I would guess that it's not remotely possible.  
A working but somewhat clunky example of it being done in Unreal can be found in Vanguard: Saga of Heroes. You see a render of the next region's terrain but any dynamic content is not yet visible. You can also tell by the occasional stuttering when you are crossing from one chunk to another.  In Lineage 2, the transition is similar but much smoother. There are several reasons for that including it being a heavily modified version of Unreal and optimized separation of loot, mobs and maps on dedicated servers.

Most engines, though, work on the same basic principle of predicting where you are headed next and preloading content from the next area over. In talking with someone who had worked on DAoC (engine: NetImmerse/Gamebryo), he had described it by saying to imagine your character was inside a huge sphere or hamster ball, and as you travelled the content ahead was preloaded or "projected" onto that sphere, so there would be a "rolling" update of terrain as you moved to reduce the amount of loading while rendering.




Which makes sense. I think it would only get weird in trying to create a "round" world. Even a cylinder would be weird. The map would actually be flat, but the player would teleport at the edges, and before the point of teleporting, the player would "see" things from the other edge of the map.

My original questions about gravity were because I had an idea* for a game where players were on smallish spheres, each with their own gravity. Players would be able to travel from sphere to sphere, run around the spheres and the spheres themselves would be small enough to see the curvature. I couldn't think of any way to do this with multiple players on the same sphere in something like Unreal or Hero.

* Of course I had an idea. Who doesn't?

For every large, complex problem, there is a simple, clear solution that also happens to be absolutely wrong.

  Quizzical

Guide

Joined: 12/11/08
Posts: 13305

12/06/12 3:14:42 PM#76
Originally posted by lizardbones

Which makes sense. I think it would only get weird in trying to create a "round" world. Even a cylinder would be weird. The map would actually be flat, but the player would teleport at the edges, and before the point of teleporting, the player would "see" things from the other edge of the map.

My original questions about gravity were because I had an idea* for a game where players were on smallish spheres, each with their own gravity. Players would be able to travel from sphere to sphere, run around the spheres and the spheres themselves would be small enough to see the curvature. I couldn't think of any way to do this with multiple players on the same sphere in something like Unreal or Hero.

* Of course I had an idea. Who doesn't?

Your idea sounds like of like Super Mario Galaxy.

I have a function that basically takes coordinates in one region and converts them to find exactly the same spot in the coordinate system of a different region.

Where it gets complicated is at vertices, where you effectively have a pentagon and two hexagons meeting, but there's a 12 degree gap if you lay them flat.  The game engine makes sure that you can't see on all sides of the vertex at once in order to cover up that 12 degree gap.  If you run around the wall that blocks a vertex (big brick walls that ostensibly serve to keep monsters out of cities), you only have to turn by 348 degrees to get back to where you started.

 

  User Deleted
12/06/12 3:32:47 PM#77
Originally posted by Quizzical
Originally posted by asmkm22
Originally posted by Quizzical
Originally posted by asmkm22

Second, significantly modifying engine source code is not at all trivial or quick to impliment.  Could Bioware have significatly modified the engine source code to better suite their needs?  Of course, and they did plenty of development on it as it stands.  What they didn't do was fundementally rewrite how the engine loads and renders zones.

And modifying how the game engine works is harder if you weren't the one that made it in the first place to already understand how it works.  And if you've got a bunch of assets already in place that assume the old way and will break if you change it.

But still, how do you know that they didn't change it?  There have been a lot of changes to my game engine that I've made that didn't have any obvious effect on gameplay, but involved some very fundamental reorganizations under the hood.  At one point, I changed how tree branches were set up so as to involve 3 calls to a trig function, rather than an average of 24, but still pulled from the same distribution as before so that there wasn't any obvious change.  (This change alone shaved about a full second off of the game loading time--which is significant for a game that now takes about 3 seconds to load.)

I don't know for sure that they didn't change it.  What I do know, is that there would have been no reason to change it if they were just going to design the game maps with the limitationsi n mind anyway, which they did.  I can go map by map and see places where something exists for the sake of breaking LoS to another area, or how outdoor maps are connected through vast empty no-mans-land sections that kill you for entering, or how deep water was avoided (Hero Engine deals with water pretty poorly, especially in the transition from in and out of it).

If they went to the trouble of changing the engine to support a less restrictive map design, then they forgot to design their maps with less restrictions.  That's all I know.

To the contrary, you might make a major overhaul to get 20% or 50% or some such better performance for the way your particular data is structured.  You can use that up to draw more and further away, but it's not enough to eliminate restrictions on what you can draw entirely.  A 500% performance improvement wouldn't be enough to eliminate all of the -restrictions.  Nor would 5000%, in spite of probably being impossible to achieve.

I'm sorry, but your response makes no sense in relation to my comment...

  Calerxes

Spotlight Poster

Joined: 2/06/09
Posts: 1659

12/06/12 4:55:03 PM#78

I'm not sure if this has been mentioned but most engine makers have a non-commercial version of their engines so you can at least experiment and see whats what in making a game.

 

http://www.unrealengine.com/udk/

http://mycryengine.com/

http://source.valvesoftware.com/sourcesdk/sourceu.php

 

Now that I've read the thread they have been mentioned but heres the links anyway. 

This doom and gloom thread was brought to you by Chin Up™ the new ultra high caffeine soft drink for gamers who just need that boost of happiness after a long forum session.

  MindTrigger

Advanced Member

Joined: 12/19/07
Posts: 2628

 
OP  12/06/12 6:06:20 PM#79
Originally posted by Quizzical

If you think that SWTOR has game engine problems using a heavily-customized version of the Hero Engine, then you should see the complete train wreck that it would have been if they used an uncustomized version of the Hero Engine.

Game engines are designed to do particular things.  If what you want to do is something that the game engine is designed to handle, great.  But as soon as you want to do something that the game engine designers didn't anticipate, you've basically got three options:  modify the game engine, find some roundabout way of cramming it into the game engine, or abandon that idea.

If you've got your own game engine, you take option 1 and don't think much of it.  If you're using an off-the-shelf game engine, option 1 is not available to you.  Option 2 is sometimes unavailable to you, and is likely to carry a large performance hit even if you can do it.  It's nearly guaranteed to be more work than option 1 would have been.  If you're using an off-the-shelf game engine, then get used to taking option 3:  abandoning most of your creative ideas because they don't fit the game engine.

There seems to be this mystique that game engines are really hard to create.  They're not.  You do need a competent programmer with a decent background in mathematics (linear algebra is critical for anything 3D, and multivariable calculus is important, too).  But you'll need that in order to make a bunch of other things in your game work, too.  Trying to license a game engine as a way to get around needing to have anyone competent working on your project isn't likely to end well.

The point is for small projects, not the fact that SWTOR used a modified version of hero.  I code myself, and I understand the merits of writing your own code to do exactly what you want/need it to do.

However I completely disagree with you on it being easy to write your own 3D game engine, especially for a small indy dev team.  Besides the whole 3D world, lighting, sound and physics, there's netcode, weather, APIs and many other systems that would need to be put in from scratch.  If making a good 3D engine was easy, the market wouldn't need engines like Hero, Unity, Unreal, iD Tech, Source, etc.  Indy projects like Greed Monger and The Repopulation are using someone else's engine for a reason, and a lot of higher-end 3D games are licensing engines from companies that already did most of the hard work.

A sure sign that you are in an old, dying paradigm/mindset, is when you are scared of new ideas and new technology. Don't feel bad. The world is moving on without you, and you are welcome to yell "Get Off My Lawn!" all you want while it happens. You cannot, however, stop an idea whose time has come.

  bishbosh

Apprentice Member

Joined: 3/21/11
Posts: 401

12/06/12 6:38:59 PM#80
Originally posted by OG_Zorvan
Originally posted by bishbosh
Originally posted by Darkcrystal
Originally posted by bishbosh

I have researched quite a few game engines because i am currently looking into making my own casual multiplayer game. hero engine is basically a toy to play around with for people who arent really serious about making games for money.

high quality large scale mmorpgs/games do not work well with one solution fits all stuff like hero engine. im sorry but thats the way it is. 

hero engine uses some weird hero script which probably doesnt give the developer much control over anything and it probably runs slow as shit. 

the whole hero cloud server crap is bullshit. no decent mmorpg or online game will run on servers which they have little control over. 

if the developer doesnt have control over server-client interaction and the mulitplayer code, developer cannot guarantee stability, no hacks , no lag etcc etc

 

if you want to make a big huge mmorpg, you probably cant . stop dreaming.... you would need to build your own complex game engine or pay $500k-$1000k for a proprietary game engine which you would then heavily modify...

 

if you are making a smaller game make your own primittive game engine or use unity3d

 

mmorpgs are a big thing and you need large amounts of capital, experience, skills and manpower to make them.

oH REALLY!  I have my degree in Game design and work as a Dev this is a total  lie, there are plenty of games out there that use Hero and alot of the other Known engines.

 

If you write your own ENGINE great but your a fool,  Most that do fail , they spend to much money on building it and time and then its out of date, if its small scale great go for it. But the way the industry is going, soon you will barely need programmers.... Heck now you barely do besides for Networking and some advance AI, etc..... By the way Programming and Scripting are two different things.....you can get alot more work done at a faster rate with the current Engines, I have worked With Hero, UDK, Unreal there is a difference, Unity , Cry 2 and 3. Plus many many more, to sit there and say this to funny, right now I work with a company that uses Hero and its an MMo. Do your research and you will know which ones use it....

 

Unity also can make a MMo and do fine, its great for IOS and such but just as good with Mmo's heck Unreal can do MMo's it can be done and has, I would not advise it since there are better ones for MMo's Hero being one, but its a great engine.

 

Funny post, I love when gamers think... They know about Game Design when they have no clue..

a degree in game design? is that even a real degree? sorry but respectable universaties dont offer game design degrees...btw im going into my final year of an engineering degree (a proper real mans degree with maths and technology, not some painting arts crap which your can learn on youtube) 

$50 your mmo will fail or it wont even come into frution. im guessing your company is a bunch of friends and you guys think you can make a mmo. good luck with that. 

you are clearly biased as you are already locked into development with hero engine. has repopulation even been released? 

writing your own engine is foolish? this is the most dumb thing i have heard. how about you have a look at what happens in the real world. most big games have been built of in house engines custom made for that game. diablo, starcraft, warcraft, WoW, gw2, battlefield, CoD, halflife even indie games such as minecraft have their own custom engine. wtf are you smoking? 

no serious mmorpg dev or businessman will use these hobby toy engines.

1. first of all UDK/hero engine ask for ~30% of your profits.... that is a huge amount of money. get a proprietary license and pay the ~ < $1 mil fee once off and get access to source code etc etc (i would buy unreal over hero ; track record, superior tech etc)

2. without access to source code you wont have much control over how the game engine works and your game will suck

 

I'm sorry, but you're going to talk about how much you know about game development, then in the same statement recommend Unreal for an mmo?

Now you've gone and lost the plot. Unreal is NOT a good engine for mmos.

You cannot make large open spaces without sufering instability, and it cannot handle large amounts of people online at the same time.

See APB for an example of an Unreal mmo. Even better, see Mortal Online.

tera online runs of unreal engine. one of the smoothest, highest fps mmorpgs i have played while also having excellent graphics. I was getting higher fps then gw2 and rift on tera. unreal in the form of UDK is not good for mmorpgs the unreal engine including source code is excellent for any type of game.

i dont think you really understand what a game engine is or how game related software works. i dont think there is any game engine out there which has good built in multiplayer. developers write their own multipler server client software and generally use the game engine for renedering, physics, creating the game world. multiplayer by nature has to be written speficially for each game if you want to optimise server load, prevent hacks, compensate for latency, minimise lag etc etc...

my whole point is that many engines offer built in multiplayer solutions (eg unity, hero engine, unreal) but no serious game developer uses these built in solutions because they suck.

8 Pages « 1 2 3 4 5 6 7 » Last Search