| 149 posts found | |
|---|---|
|
12/07/12 7:55:26 AM#101
Originally posted by Quizzical
There are plugins available for Unity3d that allow you to create your own shaders.. Check this webdemo of a some very nice terrain shaders.. i picked this up last night. http://www.stobierski.pl/unity/Terrain_WebPlayer/WebPlayer.html tho this is kind of getting away from the hero engine discussion, but you can also write your own shaders in HeroEngine 2 its one of the new features. |
|
Originally posted by Quizzical It doesn't matter if the number is made up. If you want to write your own engine, go for it. Almost everything I have ever read from developers about writing great 3D game engines from the ground up, is that it's a monumental undertaking. I'm really not sure what your point is here. You seem to believe that everyone is better off writing their own engine rather than licensing one, which is clearly *not true* for a lot of companies, especially indy developers who don't have the resources of a fully funded game company. So where is your robust 3D MMO engine? I'd like to take a look at it since you fancy yourself an expert. |
|
|
12/07/12 1:05:07 PM#103
Originally posted by Caldrin Here's apparently what the Hero Engine says about doing shaders: http://hewiki.heroengine.com/wiki/Shader They start by saying there are two kinds of shaders. Well, there are two kinds of shaders that the Hero Engine will let you use. There are actually six kinds of shaders, but the Hero Engine won't let you touch hull, domain, geometry, or compute shaders. That's presumably simply because they're limited to DirectX 9.0c. But still, that means modern 3D graphics is off-limits. I'm guessing that their list of "variables" allowed is the DirectX equivalent of OpenGL uniforms. If they're actually the equivalent of OpenGL variables, then egad, that's useless. But if they only allow certain ones--and artificially make a lot of types off-limits, then that seems awfully restrictive. I suppose that you could probably repurpose some for things that have nothing to do with the variable name, but that's something of a kludge and having variable names that have nothing to do with the meaning or purpose of the variable is rather than opposite of good coding practices. As for the Unity Engine, here's what they have to say: http://docs.unity3d.com/Documentation/Manual/Shaders.html They still offer the basic vertex and fragment shaders, though I'm not sure what amount of customizability they give you there. They also offer surface shaders, which are supposed to be more customizable and allow tessellation. Here's what they say about surface shaders: http://docs.unity3d.com/Documentation/Components/SL-SurfaceShaderTessellation.html They seem to focus mostly on how to compute the tessellation degree. In OpenGL, the work there would mostly be done in vertex shaders; I'm guessing that it's the same for DirectX. They give examples, but not explicit, so I have no idea if you can do much with it. They compute the tessellation degree by calling a function without showing you the function, so I have no idea what the function does. They talk about making the tessellation depend on distance or edge length, but not curvature or boundary status, and you'll be completely crippled if you can't make it depend on those last two. Not being able to use curvature just means that you'll sometimes have to tessellate a lot more than necessary in some places in order to get adequate tessellation in others, which means your code will be poorly-optimized. Having nothing at all about a boundary is far more problematic, as that means you can't attach tessellated surfaces to each other. That means you can't use tessellation to do anything complex unless you tessellate the whole thing in one go, which would be a nightmare to set up. That would make things much harder than necessary, which defeats the point of licensing a game engine. Well, the alternative is to just accept that you're going to have a lot of graphical artifacting when different surfaces tessellate a common boundary differently, but that's also undesirable. I also don't see an explicit homeomorphism between the simplicial manifold with boundary given in the vertex data and the manifold with boundary that you're actually trying to draw. (Well, there's no hard rule that they have to be manifolds, but that will usually make your life easier.) It looks like they're relying on a texture for that, and the texture isn't explicitly given. For irregular shapes like faces, that's kind of what you have to do. But if you want to draw a more regular shape like a sphere or cylinder? You could create a texture for it, but it's wildly inefficient. And again, if you want to attach surfaces to each other along their boundaries to create more complex shapes, details in how texture filtering works will probably give you graphical artifacting. That's not a problem with how texture filtering works; it's a problem of using it for things that it isn't meant for. |
|
|
12/07/12 1:27:03 PM#104
Modern Graphics are not an issue for most gamers, anything on Par with WoW graphics, or Elderscrolls Online graphics or SWTOR graphics is more than sufficient for an MMO. Moderns, tesselations and the such, are good for Single Player games. I do not want to be upgrading Computer every time a new MMO comes out. And you would be making the same mistake as all of the MMO's who advertised "next generation" MMO did, limitiong your player base, creating frustration for people, and bad word of mouth from the onset of launch. MMO's do not need latest graphics to be great. If you bargaining card is your latst Graphics then I know intuitivelly as a player based on previous experiences that you have no substance or good gameplay in your game. Or at least I know that i will not be having fun because I will be fighting with the performance issues instead of enjoying the gameplay, which comes down to not having a good gameplay anyways from a player's perspective. What I want in MMO is a good representation of things not a realistic representation of things as to strike a balance between Gameplay and Performance without me having to upgrade to the latest OS (I hear Microsoft wants to offer DirectX 11.1 only on Windows 8) or Gear...forget it, too much hassle for most players. And I am not about to turn my PC in ot a Smartphone either with Windows 8...no way. Just jumping in to give a perspective. |
|
|
12/07/12 1:42:29 PM#105
Originally posted by asmkm22 No, if you read that, it confirms absolutely nothing of what you've spouted. The engine SWToR has couldn't even be called HeroEngine at the time they purchased it, it was loose and buggy bits of unoptimized code. By the time the HeroEngine was actually made, EAware had already butchered and cobbled the not-even-alpha code they purchased into a whole different monstrosity. Even further, as stated in that link ( make sure to read the comment section as well as the article, as the HeroEngine devs did give replies ), HeroEngine devs were eventually locked out of SWToR develoopment and when patches, updates, and fixes for HeroEngine were made, EAware got none of them by choice. EAware could have accepted help from the HeroEngine devs, but didn't. Calling SWToR's engine HeroEngine is an insult and disgrace to the actual HeroEngine devs work. If it were me in charge of HeroEngine, I'd have demanded EAware to remove my product's name from theirs. EA CEO John Riccitiello's on future microtransactions: "When you are six hours into playing Battlefield and you run out of ammo in your clip, and we ask you for a dollar to reload, you're really not very price sensitive at that point in time...We're not gouging, but we're charging." |
|
|
12/07/12 2:18:45 PM#106
Originally posted by OG_Zorvan That's always going to happen when you fork the source code to customize things yourself. You change the way the game engine wants things structured to fit your game, and then any changes made to the "standard" version of the game engine assume the previous structure and don't fit your version of it. But you have to do it anyway unless you want the version you're using to be poorly optimized because the standard version can't customize things for every particular game. |
|
|
12/07/12 4:49:51 PM#107
Originally posted by JC-Smith you have to release your game to the public before you make this claim. no one expects a developer to criticise their own work publicly. Â in terms of released games, hero engine doesnt really have a great history. no doubt it is easy to use, allows multiple people to work on the same thing at the same time in real time and has plenty of built in assets and networking but personally i would go about making an mmorpg using it. heck i wouldnt go about making an mmorpg as an indie unless it was something very simple (eg. 2d, turn based, text based or just plain simple) |
|
|
12/07/12 6:26:36 PM#108
Why are you guys so worried about these engines? I mean...Tbh the hardest part is actually getting/making the art assets o.o Obv just art assets because its friggin fun to make sound effects...*whacks a watermelon* @_@ ''/\/\'' Posted using Iphone bunni |
|
|
12/07/12 6:34:38 PM#109
Originally posted by bishbosh So you think CCP were in the wrong to go about making EVE: Online and now there newest MMO in development? You think the creators of Dark Fall were in the wrong? You think it's wrong for Us to be making Greed Monger? You think it's wrong for JC-Smith and his team to be making The Repopulation (I've personally worked with them for a week or 2, GREAT group of guys!)? There are plenty of Indies making MMOs... Yes just as many if not more fail but oh well They learned Lessions which they can go on and use on future games! Lead Programmer |
|
|
12/07/12 7:45:40 PM#110
Originally posted by Suraknar It's not about producing AAA quality graphics. That's unnecessary for a low-budget indie game. It's probably also impractical, as a low budget doesn't let you produce the large quantities of high quality artwork that an AAA game demands. Rather: 1) It's about making developers' lives easier by letting them use the right tool for the job. If a building project calls for the use of both a hammer and a screwdriver, you may be able to get by with just one of the two. In a pinch, a sturdy screwdriver can be used as a hammer, or the "claw" part of a claw hammer can be used as a screwdriver for larger screws. But it will sure make your life easier if you have both the hammer and the screwdriver available. 2) It's about optimizing performance by offloading the work that video cards are good at onto the video card rather than having to do it on the processor instead. Any image that you can compute on a video card, you could just as well compute on a processor (up to minor rounding errors) without using any sort of 3D API. The drawback of this is an enormous performance hit. Rather than frames per second, you'd likely be looking at seconds per frame. Depending on what you want to do, in some cases, it could even be minutes per frame. For a game, that's a non-starter. The entire point of having a video card is that it's optimized to be very, very good at some things that x86 (and ARM) processors are terrible at. x86 processors are optimized for doing a large number of operations sequentially with low latency, and to still perform well with a lot of branching. Video cards completely choke on that sort of workload. Rather, video cards are very good at situations that are extremely parallel and ask for you to perform exactly the same instructions in exactly the same order on many different pieces of data at the same time. For the sorts of data that video cards are good at, you may realistically see improvement of two orders of magnitude (i.e., speed up by a factor of 100) by doing the computations on the GPU rather than the CPU. Even if you're pairing an ultra-high-end $1000+ processor with a $60 video card, the video card may still commonly be an order of magnitude faster. But that's only if you you're able to have the video card process the data. Never mind tessellation for a moment; that requires understanding of some advanced mathematics, and even most AAA developers don't have the necessary expertise in-house. Instead, let's talk about geometry shaders. There are two very important things that geometry shaders do: they let you see an entire primitive (typically a triangle) all at once, rather than only one vertex at a time. And they can emit new primitives, rather than requiring all vertices, edges, and triangles to be created by the processor and fed to the video card. The latter lets you have one triangle come in, and then pass it through. Or one triangle comes in, and then two triangles go out. Or zero. Or 17. Or any other number up to the cap (which I think is 64 in OpenGL 4.2). And the shader can be aware of all of the triangles that you're going to output at once, rather than having to process them one at a time. So what would you use that for? For one, it lets you mostly handle particle effects on the GPU, with the CPU only handing the video card some token data to get started. Or if you ever want to draw the same scene from more than one perspective (e.g., for stereoscopic 3D, Eyefinity without assuming that the monitor screens all lie in the same plane in real life, or a split-screen multiplayer game), that lets you save a ton of work. More generally, geometry shaders are like mesmers in Guild Wars: they seem useless at first, but they end up providing a very elegant solution to all sorts of weird problems. And yet, if they had never existed, people wouldn't realize that they were missing and ought to be there. Developers who are still using DirectX 9.0c likely don't realize that they're making things much harder on themselves than necessary. And then, yes, the newer APIs can produce better quality graphics. But that's largely because if you can do the same thing as before while putting a lighter load on your hardware, then that frees up resources to do more than you could before. ----- So let's talk about hardware compatibility. Tessellation requires DirectX 11 or later, or OpenGL 4.0 or later. That means video cards from roughly the last three years. But even if your game is designed around tessellation, it's not that hard to port it back to DirectX 10 or OpenGL 3.2. (Well, I only know that for OpenGL, but I'd assume it's the same for DirectX.) You can tessellate your data once on the processor before uploading it to the video card. Doing tessellation properly means that you need so little vertex data that even if tessellating it before uploading it increases the size of the vertex data buffers by a factor of 100, that's still basically a rounding error. Now maybe you need hundreds of KB instead of only several KB of video memory. If you're using geometry shaders much, then porting that back to DirectX 9.0c is probably impractical, or at least more trouble than it's worth. But that means your game requires a video card from roughly sometime in the last 6 years. If you're starting a project today and think you'll take 3 years to finish it, then by the time it launches, it will require a video card from sometime in the last 9 years. Is that really such an onerous hardware requirement? Even if you could port it back further to make it playable on older hardware, would the older hardware have the level of performance necessary to run your game? People who would have bought a GeForce 7900 GTX or Radeon HD 1900 XT tend not to be the sort of people who would still be using the same video card a decade later. Rather, the older hardware that might still be in use would be low end stuff like a GeForce 6150 SE that can't run most modern DirectX 9.0c games at playable frame rates, either. As for operating systems, DirectX 10 and 11 are both compatible with Windows Vista, 7, and 8, and presumably future versions, too. You mention DirectX 11.1, but using 11.1 is just stupid for anything beyond a tech demo. I'm not advocating that for real games. DirectX 10 does mean you lose compatibility with Windows XP, but if that bothers you, you can use OpenGL 3.2 instead and get compatibility with Windows XP, Vista, 7, Linux, Mac OS X, and likely soon Google Android. Maybe being incompatible with Windows XP is a problem today. Think it will still be a problem three years from now, when you hope to finish your game if you start today? |
|
|
12/07/12 7:53:25 PM#111
Originally posted by MindTrigger Would my game engine be better than the Hero Engine for making Greed Monger, The Repopulation, or any other game besides my own? Nope. Not even close. They probably wouldn't be able to do much with my game engine. Artists would be completely stuck, as mine produces artwork by typing out source code without any sort of graphical interface. Even with full access to the source code, comments that assume that the reader understands, say, homology groups make perfect sense to me but would be completely baffling to anyone who doesn't. Furthermore, some capabilities that most games need are completely missing from my game engine, and not going to be added. For example, loading textures from a hard drive. But you know what my game engine is better than Hero Engine for? My game. Because that's exactly what it's designed for. I want to do a bunch of stuff that Hero Engine won't allow, but my game engine does. This isn't peculiar to me, either; an awful lot of game engines that are designed for some particular game are the best engine for that particular game, or at least, far better than any off-the-shelf game engine that doesn't give you full access to modify the source code. |
|
|
12/07/12 7:55:02 PM#112
Originally posted by Castillle There's a lot of truth to that, though it depends on what you're doing. If you're trying to create a purely text-based game, then no, creating the art assets isn't that hard. But that's not what you meant. |
|
|
12/07/12 7:57:52 PM#113
Originally posted by JamesP It's kind of like being asked to evaluate NFL draft picks on draft day, and saying that you'd rather wait about a decade to see how good the players end up being in the NFL before you give teams their draft grades. Have there ever been any good games that used the Hero Engine without having full access to the source code? As far as I'm aware, no. Will there ever be? Find me in a decade and I can give you a better answer than I can today. |
|
|
12/07/12 9:27:19 PM#114
Originally posted by JamesP i really dont know how you would define indie or non indie but the people who were making eve and darkfall seem to have a fairly strong engineering base. eve and darkfall use their own game engines and server technnologies. eve was an extremely well thought out practial and feasible mmorpg --> - very few assets ( art, models, textures) due to space theme - no story cutscenes and cgi stuff - simple, slow paced combat - no/minimal animation requirements i cant say is wrong for you to make greed monger or above and beyond studios to make repopulation but i dont recommend tackling huge projects such as mmorpgs unless you have the knowledge and experience and business mindset required. i have no idea what you guys are capable of but choosing an unproven engine, surrendering server control to a third party and the forfeiting 35% of your profits makes it hard for me to take you guys seriously. dont get me wrong, i would like for you guys to succeed, i really hope everything works out fine for you guys and i harbor no ill wishes i just dont find the whole idea of herocloud and small groups of inexperienced dudes making mmorpgs very promising. having fun and learning lessons is great but it means nothing to an end user. just a few questions: - what are you doing about hackers? - herocloud servers have provide enough bandwidth, how are you ensuring they will? - do you know what server hardware is being used and can you prove that it is good enough? - have you tested your servers with the targetted number of concurrent users? - how are you dealing with latency (do u have client side prediction or something in place) |
|
|
12/07/12 9:58:39 PM#115
Originally posted by bishbosh You have to have an awful lot of stuff in place before you can meaningfully test server capabilities. If you're launching a game next week, then yeah, you need to have answers to all of those questions by now. But if the first beta is a year or two away, the game could easily be in a state where the most you can do is have plans that you're fully aware are unlikely to survive contact with reality. |
|
|
12/07/12 10:03:04 PM#116
Originally posted by Suraknar Don't read too much into criticism with pre-made engines. They are industry standard for a very good reason. Namely, building a game engine up from scratch is very time intensive, which means expensive to do. I offered criticism for Hero Cloud not because I think building it yourself is a better choice, just that a lot of people go into this not realize just how monumental a task creating a game really is, regardless of the engine used. |
|
|
12/07/12 10:22:04 PM#117
I would use Unity or Unreal 3 rather than the hero engine, hell I prob wouldnt even bother if I had to use it. It still doesnt support muticore/threads by default, alot of processes are kinda backward because features have been slapped in badly, rather than the engine being designed with things in mind from the ground up. It's kinda like a house that was built with no doors, windows or plumbing, then had these whacked in a year or two later by bazza the tradie for a few slabs of beer. In short, its utter crap. |
|
|
12/07/12 10:29:39 PM#118
Originally posted by Quizzical any good multiplayer is built with multiplayer in consideration right from the start. from the looks of repopulation they easily have enough stuff in the game to test servers. all you need is players in an area performing actions and seeing if the server can handle relaying/processing information between clients to each other assuming authoratative server model is being used. this should really be done asap and im sure most multiplayer games are subject to such testing asap. maybe swtor wouldnt have been so crap if they taken server/multiplayer capabilities seriosulsly right from the go. |
|
|
12/07/12 10:33:14 PM#119
Originally posted by asmkm22 Licensing game engines may be common, but launching an MMORPG on what is basically a trial version of a game engine that doesn't let you touch the source code? Have any games done that and succeeded, ever? ----- As for my own engine, it's not AAA graphics quality by any means. Here's a few screenshots I just took: Looks decent enough to my eyes, especially for a game with exactly zero artists working on it. The weird cylinder in all of the screenshots is my placeholder character for use in testing collision detection, and won't be a part of the final game. Also, at around 300 KB, each of those screenshots is larger than the entire game itself is at the moment. |
|
|
12/07/12 10:34:54 PM#120
Originally posted by Quizzical opengl or directx? also is directx free to use? |
|