Timeline for Messaging/Event System in Generic Game Engine? Yay or nay?
Current License: CC BY-SA 3.0
8 events
when toggle format | what | by | license | comment | |
---|---|---|---|---|---|
Dec 2, 2012 at 20:47 | comment | added | Trevor Powell | @Sean Middleditch Again, please feel free to post your own answer. | |
Dec 2, 2012 at 18:47 | comment | added | Sean Middleditch | How have I been abusive? I just said I disagree and that you're defining "engine" differently than most people. Maybe your teams define engine to be a small piece of tech, but most people consider an entire package like Unreal or CryTek to be an "engine", do they not? | |
Dec 2, 2012 at 11:55 | comment | added | Trevor Powell | @Sean Middleditch I've been a senior engine team programmer at three different major studios, and was lead developer and architect at one of them. My opinions are not 'arbitrary' or 'narrow', but come from many years of real-world industry experience. If you have a different opinion from mine, that's fine. But post it in your own answer. There's no need to get abusive in comments on mine. Thanks. | |
Dec 2, 2012 at 9:41 | comment | added | Sean Middleditch | You seem to have a surprisingly narrow and arbitrary definition of what an engine is. Engines are usually not "a library", but rather a collection of libraries. Hardware abstraction is handled largely by the OS and development platform. Engines can include AI, GUI support, debugging features, and various other services, and their implementations thereof are the key differences between engines. What you're talking about is something like XNA, which is not generally called a game engine in its own right. An engine's job is to help game devs get quality work done efficiently, not to be pure. :) | |
Dec 2, 2012 at 8:05 | comment | added | Trevor Powell | Look. An engine serves to connect game code to hardware. And often, to a data pipeline as well. A rendering system does that. A sound system does that. A file-handling system does that. A network system does that. A memory system does that. An event system? If it's not connected to anything in the rest of the engine, then all it does is connect game code to other game code. It's this weird disconnected system that's just sitting randomly in the middle of an unrelated library. It's sloppy library architecture. | |
Dec 1, 2012 at 22:53 | comment | added | Sean Middleditch | I'm not in agreement here. By that logic, the entire engine shouldn't exist - every last piece of the engine serves to implement a game. Given that just about every game can make use if messaging, and the lack of a messaging system in engines like Unity is one of the biggest usability problems with said engines, I'd lean toward providing "common services" like messaging that games can use. Especially as writing an efficient, flexible messaging system with UI-friendly metadata is non-trivial and hardly game-specific. | |
Dec 1, 2012 at 8:39 | history | edited | Trevor Powell | CC BY-SA 3.0 |
Clarified the key question, to make it look less like I was presenting two mutually exclusive options.
|
Dec 1, 2012 at 8:33 | history | answered | Trevor Powell | CC BY-SA 3.0 |