gamedevlists-design Mailing List for gamedev (Page 4)
Brought to you by:
vexxed72
You can subscribe to this list here.
2001 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(10) |
Oct
(1) |
Nov
(37) |
Dec
|
---|---|---|---|---|---|---|---|---|---|---|---|---|
2002 |
Jan
(1) |
Feb
|
Mar
(5) |
Apr
|
May
|
Jun
(15) |
Jul
(38) |
Aug
|
Sep
(3) |
Oct
|
Nov
(1) |
Dec
|
2003 |
Jan
(6) |
Feb
(60) |
Mar
|
Apr
(41) |
May
|
Jun
(3) |
Jul
(19) |
Aug
(15) |
Sep
|
Oct
(11) |
Nov
|
Dec
(12) |
2004 |
Jan
(15) |
Feb
|
Mar
(6) |
Apr
|
May
|
Jun
(9) |
Jul
|
Aug
|
Sep
(2) |
Oct
|
Nov
|
Dec
|
2005 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(8) |
Nov
|
Dec
|
2006 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2007 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Tom H. <to...@ve...> - 2003-08-20 22:10:45
|
At 07:56 AM 8/20/2003, you wrote: >Oh yeah, and don't give up the day job just yet - the uptake rate on even >the best games is horribly low. :-( This is true for most games, and not quitting your day job is good advice. However, there are pure shareware companies (Popcap for example) pulling down enough revenue each year to be running ~20 person companies on it. Obviously this isn't easy, and the majority of shareware games out there make hundreds per month, a decent number make thousands, and very few makes tens of thousands ;) As for the original post, you should look at what the games from Popcap and GameHouse do to promote upsell as they're probably the most successful in this area and they're often working on this stuff to tweak it to get better results. Tom |
From: Tom F. <to...@mu...> - 2003-08-20 15:14:56
|
IMHO, let the user have one complete play through the demo before = giving them nag screens. If you nag them too early, they just get annoyed. If = they only play the demo once, they weren't going to buy the full game = anyway. But if they play the game a _second_ time... then it's worth telling them = about the cool things in the full version. Oh yeah, and don't give up the day job just yet - the uptake rate on = even the best games is horribly low. :-( *cough* need any beta-testers? *cough* :-) Tom Forsyth - Muckyfoot bloke and Microsoft MVP. This email is the product of your deranged imagination, and does not in any way imply existence of the author. > -----Original Message----- > From: Ignacio Casta=F1o [mailto:cas...@ya...] > Sent: 20 August 2003 15:10 > To: gam...@li... > Subject: [GD-Design] demo vs complete game >=20 >=20 > Hi, >=20 > I'm finishing a small game that I've been working on, that=20 > I'm planing to > sell online, and I'm wondering which should be the=20 > differences between the > demo and the registered game. For example here a few ideas: >=20 > - Offering new features: new levels, and new options (fullscreen, > highscores, etc). > - Displaying nag screens, and reminders. > - Limiting the play count. >=20 > I would like to hear other ideas and to know which of those=20 > techniques are > more effective in order to sell a game. >=20 > Thanks in advance, >=20 > -- > Ignacio Casta=F1o > cas...@ya... |
From: Gareth L. <GL...@cl...> - 2003-08-20 15:11:54
|
The best (In my opinion ofcource) is not to cripple, and not to time, = and not too many "buy me" screens. You want to give them an enjoyable time, long enough to want more, but = not too long to feel they have gotten it all. Duke Nukem and Doom got the balance right, they each had (IIRC) 3 sections and the first was free. So if your game is level based, just limit the number of free levels = IMO > -----Original Message----- > From: Ignacio Casta=F1o [mailto:cas...@ya...] > Sent: 20 August 2003 15:10 > To: gam...@li... > Subject: [GD-Design] demo vs complete game >=20 >=20 > Hi, >=20 > I'm finishing a small game that I've been working on, that=20 > I'm planing to > sell online, and I'm wondering which should be the=20 > differences between the > demo and the registered game. For example here a few ideas: >=20 > - Offering new features: new levels, and new options (fullscreen, > highscores, etc). > - Displaying nag screens, and reminders. > - Limiting the play count. >=20 > I would like to hear other ideas and to know which of those=20 > techniques are > more effective in order to sell a game. >=20 > Thanks in advance, >=20 > -- > Ignacio Casta=F1o > cas...@ya... >=20 >=20 >=20 > ------------------------------------------------------- > This SF.net email is sponsored by Dice.com. > Did you know that Dice has over 25,000 tech jobs available today? = From > careers in IT to Engineering to Tech Sales, Dice has tech=20 > jobs from the > best hiring companies. http://www.dice.com/index.epl?rel_code=3D104 > _______________________________________________ > Gamedevlists-design mailing list > Gam...@li... > https://lists.sourceforge.net/lists/listinfo/gamedevlists-design > Archives: > http://sourceforge.net/mailarchive/forum.php?forum_id=3D556 >=20 |
From: Brian H. <ho...@py...> - 2003-08-20 15:10:39
|
> - Offering new features: new levels, and new options (fullscreen, > highscores, etc) Additional content is always a good thing. I would be leery of making fullscreen a registered-only version, since it affects satisfaction of the demo version. Highscores are similar in that respect. > Displaying nag screens, and reminders Yes, but not to the degree such that the game is no longer enjoyable. Nag them when they're anxious but not actively trying to play the game, e.g. during startup, exit, highscores, in between levels, etc. > Limiting the play count. Yes. There is an art to this however -- set the count too low, and they may not get addicted to it enough. Set the count too high, and they may play it out and get bored before it kicks in. The general #s I've used are 10-20 sessions. Also, limit the number of games they can play during a session, e.g. 4 games and then it quits (with a nag screen). Many players will bypass the play count limit by never shutting down the game. > I would like to hear other ideas and to know which of those > techniques are more effective in order to sell a game. It depends on the type of game. Brian |
From: <cas...@ya...> - 2003-08-20 14:24:19
|
Hi, I'm finishing a small game that I've been working on, that I'm planing to sell online, and I'm wondering which should be the differences between the demo and the registered game. For example here a few ideas: - Offering new features: new levels, and new options (fullscreen, highscores, etc). - Displaying nag screens, and reminders. - Limiting the play count. I would like to hear other ideas and to know which of those techniques are more effective in order to sell a game. Thanks in advance, -- Ignacio Castaño cas...@ya... |
From: mitea <mi...@bb...> - 2003-07-18 19:51:27
|
Sure, shoot away! ---------------------------------- Peace and love, Tweety mi...@bb... - twe...@us... YahooID: tweety_04_01 > -----Original Message----- > From: gam...@li... > [mailto:gam...@li...] On > Behalf Of Brian Hook > Sent: Friday, July 18, 2003 7:10 PM > To: gam...@li... > Subject: [GD-Design] About Face 2.0 > > > I've been playing a lot of games recently, and by and large most of > them have atrocious user interfaces -- Zelda: Legend of the > Wind Waker > has come the closest to having a very well done interface + > transparent tutorial. > > I finally got around to reading About Face 2.0, which is a highly > recommended book on user interaction design, and I just thought I'd > put in my recommendation to those of you interested in doing > intuitive > interfaces. > > Brian > > > > > ------------------------------------------------------- > This SF.net email is sponsored by: VM Ware > With VMware you can run multiple operating systems on a > single machine. > WITHOUT REBOOTING! Mix Linux / Windows / Novell virtual > machines at the > same time. Free trial click here: http://www.vmware.com/wl/offer/345/0 > _______________________________________________ > Gamedevlists-design mailing list > Gam...@li... > https://lists.sourceforge.net/lists/listinfo/gamedevlists-design > Archives: > http://sourceforge.net/mailarchive/forum.php?forum_idU6 > |
From: Brian H. <bri...@py...> - 2003-07-18 16:10:16
|
I've been playing a lot of games recently, and by and large most of them have atrocious user interfaces -- Zelda: Legend of the Wind Waker has come the closest to having a very well done interface + transparent tutorial. I finally got around to reading About Face 2.0, which is a highly recommended book on user interaction design, and I just thought I'd put in my recommendation to those of you interested in doing intuitive interfaces. Brian |
From: Mark W. <mw...@cs...> - 2003-07-07 06:10:52
|
As for book suggestions, I really recommend "Game Coding Complete", by Mike McShaffry, which was very recently (within the last month or so) released. The ISBN is 1-932111-75-1. Despite the name, it doesn't attempt the impossible feat of living up to its title. It does however cover many of the "big picture" design and organization issues in games (eg, what to put in the main loop), logistical code (eg, resource caching/management), and software engineering "best practices", which is stuff that most "general" game dev books focusing on implementation of graphics, algorithms, etc. don't cover much, if at all. While it's Windows/DirectX-specific in terms of the exposition and example code, pretty much every concept discussed is relevant across multiple platforms, too. And, there's a lot of funny anecdotes in it as well. =) -- Mark At 03:38 AM 7/2/2003, di...@di... wrote: >Thanx for answers. Maybe you can give me also some suggestions for the >first part of my questions. > >Also thanx for the book tip. Are there any other books on software >design that you can recommend? Especially concerning games :-) > >Best regards > >Dirk > > >------------------------------------------------------- >This SF.Net email sponsored by: Free pre-built ASP.NET sites including >Data Reports, E-commerce, Portals, and Forums are available now. >Download today and enter to win an XBOX or Visual Studio .NET. >http://aspnet.click-url.com/go/psa00100006ave/direct;at.asp_061203_01/01 >_______________________________________________ >Gamedevlists-design mailing list >Gam...@li... >https://lists.sourceforge.net/lists/listinfo/gamedevlists-design >Archives: >http://sourceforge.net/mailarchive/forum.php?forum_id=556 -- Mark Wang | "There are two things to come out of mailto:mw...@cs... | Berkeley, LSD and BSD. We don't http://www.markwang.com/ | believe this to be a coincidence." AIM:markwang99 YIM:mwang_1999 | -- Jeremy S. Anderson |
From: Gareth L. <GL...@cl...> - 2003-07-03 09:41:36
|
> Thanx for your honest words. To clear things up let me tell > you what I do: Sure, like I said, I assumed you were a hobbist, but wasn't sure. > I work at a university and we research about emotions in > motion and my task > is to write some kind of API that could be used in a game > environment. What you really want to do is write it totally renderer neutral. Assuming you are talking about emotions in the skeleton animation sense, then make your API use hooks into the 'game' allowing your matrices to be set and queried. One thing you might want to look into is Granny by http://www.radgametools.com/ (I haven't actually seen the sdk though) > The > reason I asked was to get an idea how games are implemented > by professionals > and not hobbist. Okie. > So maybe we forget the question and maybe you allow me to ask > again but in a > different way. > What is a renderer? Well, to me (personally) a renderer is the low level part of the graphics engine that handles the actual submission of the graphics (faces/verts/materials etc) to the graphics card. A renderer might (but doesn't always) include culling, animation etc. It's lower level than what I assume you want to be working on. What you want are hooks into your system to allow the glue code between your API and the renderer to query the matrices. > And how is it implemented in a common > way? I don't think there is a 'common' way. > What classes > and functions contains the render module normally? E.g: Is a > class that > represents a TriMesh part of the renderer module? Yes, typically mesh/vertex array/vertex buffer/shader/material are bits of the renderer, sometimes animation/animation set/pvs are also, but often they are written in a layer above the renderer. > > Best regards > > Dirk ________________________ Regards, Gareth Lewin Programmer, Sudeki http://www.xbox.com/Sudeki |
From: Dirk G. <di...@di...> - 2003-07-02 17:36:29
|
Thanx for your honest words. To clear things up let me tell you what I do: I work at a university and we research about emotions in motion and my task is to write some kind of API that could be used in a game environment. The reason I asked was to get an idea how games are implemented by professionals and not hobbist. So maybe we forget the question and maybe you allow me to ask again but in a different way. What is a renderer? And how is it implemented in a common way? What classes and functions contains the render module normally? E.g: Is a class that represents a TriMesh part of the renderer module? Best regards Dirk ----- Original Message ----- From: "Garett Bass" <gt...@st...> To: <gam...@li...> Sent: Tuesday, July 01, 2003 7:38 PM Subject: RE: [GD-Design] Designing a renderer > Dirk wrote: > > > E.g: Let's say we have a base class IRenderer which is > > implemented by two derived class COGLRendererImpl and > > CDXRendererImpl. Both derived classes implement a virtual > > function IRenderer::Init(...). The arguments vary with > > the OS. On a Windows platform you have to pass the HWND > > for the window, on a Linux system that could be totally > > different. > > I don't know how others handle this, but I have a windowing system > abstraction layer that hides all the platform specifics such as window > handles and such, and just lets me create, size, move windows. One subclass > of the window class is a 3D context window, which can be sized and moved, > and can be initialized with a specific pixel format. This should be Linux > friendly since the platform implementation details are hidden. > > I don't expose any private variables in the class header, instead I handle > all of the platform specifics within the .cpp files using maps to associate > data with the interface classes as needed. In Win32 there is very little > that must be stored aside from the hwnd and hdc, just about everything else > can be queried from the Win32 API. > > I don't know enough about Direct3D to design for it, but OpenGL makes this > easy because my 3D context window can handle all wgl* specifics like > MakeCurrent and SwapBuffers, and otherwise I can just call OpenGL functions > anywhere in my code and the current context receives them automagically. > > YMMV, > Garett Bass > gt...@st... > > > > ------------------------------------------------------- > This SF.Net email sponsored by: Free pre-built ASP.NET sites including > Data Reports, E-commerce, Portals, and Forums are available now. > Download today and enter to win an XBOX or Visual Studio .NET. > http://aspnet.click-url.com/go/psa00100006ave/direct;at.asp_061203_01/01 > _______________________________________________ > Gamedevlists-design mailing list > Gam...@li... > https://lists.sourceforge.net/lists/listinfo/gamedevlists-design > Archives: > http://sourceforge.net/mailarchive/forum.php?forum_id=556 |
From: Jamie F. <ja...@qu...> - 2003-07-02 14:26:50
|
couldn't agree more :) J -----Original Message----- From: gam...@li... [mailto:gam...@li...]On Behalf Of Gareth Lewin Sent: 02 July 2003 14:13 To: gam...@li... Subject: RE: [GD-Design] Designing a renderer (And with little effort, Jamie and myself bring us back to game design, sort of) Yes, one of the problems hobby projects have is the lack of proffesionalism. Normally there is no game design, there is no goal, and thus no completion. The other type of hobby projects that fail (Like a lot of my own) are because they are too grand in scope, so even if they have a very well written design (game design I mean) they never get done. Thus the IOTDs on flipcode which are "I finished my first game, it's a bomberman/tetris/quake clone" impress me way more than "I implemented an engine with the following list of buzzwords". Ofcourse each case is differant. So when asked how to get into the industry, I tell them to design(see:)) a simple game and make it, from start to end, make sure it's finished, that will impress your potential employers more :) > -----Original Message----- > From: Jamie Fowlston [mailto:ja...@qu...] > Sent: 02 July 2003 13:47 > To: gam...@li... > Subject: RE: [GD-Design] Designing a renderer > > > True. I tend to think the main problem with hobby projects is > that you set > out to write an engine with no idea of what you want it to > actually _do_, > and so it all becomes a fairly meaningless exercise in what > flavour of code > you fancy that month.... > > Yeah, i thought it was about game design too :) > > J > > > -----Original Message----- > From: gam...@li... > [mailto:gam...@li...]On Behalf Of > Gareth Lewin > Sent: 02 July 2003 12:17 > To: gam...@li... > Subject: RE: [GD-Design] Designing a renderer > > > Yes, but your requirements are differant to the standard. The > original email > talked about linux/windows and not about consoles. > > Also, I made the (maybe incorrect) assumption that he is a > hobbyist, and > spending time R&Ding an OGL and DX renderer is (in my > opinion) silly and a > waste of time. The reality is that a lot of hobbyists spend a > lot of type > working on cross platform stuff when in reality their work > will only ever be > run on a single platform, instead of utilising that same time > in a more > constructive (in my subjective opinion) way. > > As you well know, the real differant between > ps/2,xbox/dx/ogl/cube etc is > the high and the low ends (the syntax is differant, and low level > optimizations are differant) but the basics are the same, and > stuff you > learn with just a single platform are applicable everywhere. > ________________________ > Regards, Gareth Lewin > Programmer, Sudeki > http://www.xbox.com/Sudeki > > P.S. Isn't this list about game design, not software design ? :) > > > -----Original Message----- > > From: Jamie Fowlston [mailto:ja...@qu...] > > Sent: 02 July 2003 12:08 > > To: gam...@li... > > Subject: RE: [GD-Design] Designing a renderer > > > > > > Hmm, we support multiple platforms, and haven't found OGL solves our > > problems on PS2 & Xbox :) > > > > Doing both on Windows is a good exercise for your > > architecture, to test you > > can really have different drivers. > > > > Jamie > > > > > > -----Original Message----- > > From: gam...@li... > > [mailto:gam...@li...]On Behalf Of > > Gareth Lewin > > Sent: 02 July 2003 10:12 > > To: gam...@li... > > Subject: RE: [GD-Design] Designing a renderer > > > > > > Sorry to ask a stupid question, but why implement both an > OGL and a DX > > renderer ? Either your product is windows only, in which case > > DirectX or > > OpenGL are good, or you want to support multiple platforms, > > and in that case > > OGL solves all your problems. > > > > Spending time on keeping two distint rendering engines up to > > date is a waste > > of time, and now days there is no clear advantage to that > > that I can see. > > > > > -----Original Message----- > > > From: Dirk Gregorius [mailto:di...@di...] > > > Sent: 01 July 2003 10:19 > > > To: gam...@li... > > > Subject: [GD-Design] Designing a renderer > > > > > > > > > Hi, > > > > > > I am wondering how you implement your render interfaces? On > > > what abstraction > > > level is a renderer normally implemented - what are the > > > typical functions > > > and classes? Do you pass a renderer reference to all > > > renderable entities? > > > And how is platform independence achieved - do you use > > > polymorphism or for > > > example the "Bridge" pattern - that by its definition > > > seperates abstraction > > > and implementation? Maybe you can give me some tips. > > > > > > One thing that I really don't understand is how to implement the > > > initialisation such that it works platform independent? E.g: > > > Let's say we > > > have a base class IRenderer which is implemented by two > > derived class > > > COGLRendererImpl and CDXRendererImpl. Both derived classes > > implement a > > > virtual function IRenderer::Init(...). The arguments vary > > > with the OS. On a > > > Windows platform you have to pass the HWND for the window, on > > > a Linux system > > > that could be totally different. What is the best to handle this? > > > > > > Hopefully I could make myself clear. Every help is appreciated!! > > > > > > Best regards > > > > > > > > > Dirk > > > > > > > > > > > > ------------------------------------------------------- > > > This SF.Net email sponsored by: Free pre-built ASP.NET > > sites including > > > Data Reports, E-commerce, Portals, and Forums are available now. > > > Download today and enter to win an XBOX or Visual Studio .NET. > > > http://aspnet.click-url.com/go/psa00100006ave/direct;at.asp_06 > > 1203_01/01 > > _______________________________________________ > > Gamedevlists-design mailing list > > Gam...@li... > > https://lists.sourceforge.net/lists/listinfo/gamedevlists-design > > Archives: > > http://sourceforge.net/mailarchive/forum.php?forum_id=556 > > > > > > ------------------------------------------------------- > > This SF.Net email sponsored by: Free pre-built ASP.NET > sites including > > Data Reports, E-commerce, Portals, and Forums are available now. > > Download today and enter to win an XBOX or Visual Studio .NET. > > http://aspnet.click-url.com/go/psa00100006ave/direct;at.asp_06 > 1203_01/01 > _______________________________________________ > Gamedevlists-design mailing list > Gam...@li... > https://lists.sourceforge.net/lists/listinfo/gamedevlists-design > Archives: > http://sourceforge.net/mailarchive/forum.php?forum_id=556 > > > > ------------------------------------------------------- > This SF.Net email sponsored by: Free pre-built ASP.NET sites including > Data Reports, E-commerce, Portals, and Forums are available now. > Download today and enter to win an XBOX or Visual Studio .NET. > http://aspnet.click-url.com/go/psa00100006ave/direct;at.asp_06 > 1203_01/01 > _______________________________________________ > Gamedevlists-design mailing list > Gam...@li... > https://lists.sourceforge.net/lists/listinfo/gamedevlists-design > Archives: > http://sourceforge.net/mailarchive/forum.php?forum_id=556 > > > ------------------------------------------------------- > This SF.Net email sponsored by: Free pre-built ASP.NET sites including > Data Reports, E-commerce, Portals, and Forums are available now. > Download today and enter to win an XBOX or Visual Studio .NET. > http://aspnet.click-url.com/go/psa00100006ave/direct;at.asp_06 > 1203_01/01 > _______________________________________________ > Gamedevlists-design mailing list > Gam...@li... > https://lists.sourceforge.net/lists/listinfo/gamedevlists-design > Archives: > http://sourceforge.net/mailarchive/forum.php?forum_id=556 > > > > ------------------------------------------------------- > This SF.Net email sponsored by: Free pre-built ASP.NET sites including > Data Reports, E-commerce, Portals, and Forums are available now. > Download today and enter to win an XBOX or Visual Studio .NET. > http://aspnet.click-url.com/go/psa00100006ave/direct;at.asp_06 > 1203_01/01 > _______________________________________________ > Gamedevlists-design mailing list > Gam...@li... > https://lists.sourceforge.net/lists/listinfo/gamedevlists-design > Archives: > http://sourceforge.net/mailarchive/forum.php?forum_id=556 > ------------------------------------------------------- This SF.Net email sponsored by: Free pre-built ASP.NET sites including Data Reports, E-commerce, Portals, and Forums are available now. Download today and enter to win an XBOX or Visual Studio .NET. http://aspnet.click-url.com/go/psa00100006ave/direct;at.asp_061203_01/01 _______________________________________________ Gamedevlists-design mailing list Gam...@li... https://lists.sourceforge.net/lists/listinfo/gamedevlists-design Archives: http://sourceforge.net/mailarchive/forum.php?forum_id=556 |
From: Gareth L. <GL...@cl...> - 2003-07-02 13:13:18
|
(And with little effort, Jamie and myself bring us back to game design, sort of) Yes, one of the problems hobby projects have is the lack of proffesionalism. Normally there is no game design, there is no goal, and thus no completion. The other type of hobby projects that fail (Like a lot of my own) are because they are too grand in scope, so even if they have a very well written design (game design I mean) they never get done. Thus the IOTDs on flipcode which are "I finished my first game, it's a bomberman/tetris/quake clone" impress me way more than "I implemented an engine with the following list of buzzwords". Ofcourse each case is differant. So when asked how to get into the industry, I tell them to design(see:)) a simple game and make it, from start to end, make sure it's finished, that will impress your potential employers more :) > -----Original Message----- > From: Jamie Fowlston [mailto:ja...@qu...] > Sent: 02 July 2003 13:47 > To: gam...@li... > Subject: RE: [GD-Design] Designing a renderer > > > True. I tend to think the main problem with hobby projects is > that you set > out to write an engine with no idea of what you want it to > actually _do_, > and so it all becomes a fairly meaningless exercise in what > flavour of code > you fancy that month.... > > Yeah, i thought it was about game design too :) > > J > > > -----Original Message----- > From: gam...@li... > [mailto:gam...@li...]On Behalf Of > Gareth Lewin > Sent: 02 July 2003 12:17 > To: gam...@li... > Subject: RE: [GD-Design] Designing a renderer > > > Yes, but your requirements are differant to the standard. The > original email > talked about linux/windows and not about consoles. > > Also, I made the (maybe incorrect) assumption that he is a > hobbyist, and > spending time R&Ding an OGL and DX renderer is (in my > opinion) silly and a > waste of time. The reality is that a lot of hobbyists spend a > lot of type > working on cross platform stuff when in reality their work > will only ever be > run on a single platform, instead of utilising that same time > in a more > constructive (in my subjective opinion) way. > > As you well know, the real differant between > ps/2,xbox/dx/ogl/cube etc is > the high and the low ends (the syntax is differant, and low level > optimizations are differant) but the basics are the same, and > stuff you > learn with just a single platform are applicable everywhere. > ________________________ > Regards, Gareth Lewin > Programmer, Sudeki > http://www.xbox.com/Sudeki > > P.S. Isn't this list about game design, not software design ? :) > > > -----Original Message----- > > From: Jamie Fowlston [mailto:ja...@qu...] > > Sent: 02 July 2003 12:08 > > To: gam...@li... > > Subject: RE: [GD-Design] Designing a renderer > > > > > > Hmm, we support multiple platforms, and haven't found OGL solves our > > problems on PS2 & Xbox :) > > > > Doing both on Windows is a good exercise for your > > architecture, to test you > > can really have different drivers. > > > > Jamie > > > > > > -----Original Message----- > > From: gam...@li... > > [mailto:gam...@li...]On Behalf Of > > Gareth Lewin > > Sent: 02 July 2003 10:12 > > To: gam...@li... > > Subject: RE: [GD-Design] Designing a renderer > > > > > > Sorry to ask a stupid question, but why implement both an > OGL and a DX > > renderer ? Either your product is windows only, in which case > > DirectX or > > OpenGL are good, or you want to support multiple platforms, > > and in that case > > OGL solves all your problems. > > > > Spending time on keeping two distint rendering engines up to > > date is a waste > > of time, and now days there is no clear advantage to that > > that I can see. > > > > > -----Original Message----- > > > From: Dirk Gregorius [mailto:di...@di...] > > > Sent: 01 July 2003 10:19 > > > To: gam...@li... > > > Subject: [GD-Design] Designing a renderer > > > > > > > > > Hi, > > > > > > I am wondering how you implement your render interfaces? On > > > what abstraction > > > level is a renderer normally implemented - what are the > > > typical functions > > > and classes? Do you pass a renderer reference to all > > > renderable entities? > > > And how is platform independence achieved - do you use > > > polymorphism or for > > > example the "Bridge" pattern - that by its definition > > > seperates abstraction > > > and implementation? Maybe you can give me some tips. > > > > > > One thing that I really don't understand is how to implement the > > > initialisation such that it works platform independent? E.g: > > > Let's say we > > > have a base class IRenderer which is implemented by two > > derived class > > > COGLRendererImpl and CDXRendererImpl. Both derived classes > > implement a > > > virtual function IRenderer::Init(...). The arguments vary > > > with the OS. On a > > > Windows platform you have to pass the HWND for the window, on > > > a Linux system > > > that could be totally different. What is the best to handle this? > > > > > > Hopefully I could make myself clear. Every help is appreciated!! > > > > > > Best regards > > > > > > > > > Dirk > > > > > > > > > > > > ------------------------------------------------------- > > > This SF.Net email sponsored by: Free pre-built ASP.NET > > sites including > > > Data Reports, E-commerce, Portals, and Forums are available now. > > > Download today and enter to win an XBOX or Visual Studio .NET. > > > http://aspnet.click-url.com/go/psa00100006ave/direct;at.asp_06 > > 1203_01/01 > > _______________________________________________ > > Gamedevlists-design mailing list > > Gam...@li... > > https://lists.sourceforge.net/lists/listinfo/gamedevlists-design > > Archives: > > http://sourceforge.net/mailarchive/forum.php?forum_id=556 > > > > > > ------------------------------------------------------- > > This SF.Net email sponsored by: Free pre-built ASP.NET > sites including > > Data Reports, E-commerce, Portals, and Forums are available now. > > Download today and enter to win an XBOX or Visual Studio .NET. > > http://aspnet.click-url.com/go/psa00100006ave/direct;at.asp_06 > 1203_01/01 > _______________________________________________ > Gamedevlists-design mailing list > Gam...@li... > https://lists.sourceforge.net/lists/listinfo/gamedevlists-design > Archives: > http://sourceforge.net/mailarchive/forum.php?forum_id=556 > > > > ------------------------------------------------------- > This SF.Net email sponsored by: Free pre-built ASP.NET sites including > Data Reports, E-commerce, Portals, and Forums are available now. > Download today and enter to win an XBOX or Visual Studio .NET. > http://aspnet.click-url.com/go/psa00100006ave/direct;at.asp_06 > 1203_01/01 > _______________________________________________ > Gamedevlists-design mailing list > Gam...@li... > https://lists.sourceforge.net/lists/listinfo/gamedevlists-design > Archives: > http://sourceforge.net/mailarchive/forum.php?forum_id=556 > > > ------------------------------------------------------- > This SF.Net email sponsored by: Free pre-built ASP.NET sites including > Data Reports, E-commerce, Portals, and Forums are available now. > Download today and enter to win an XBOX or Visual Studio .NET. > http://aspnet.click-url.com/go/psa00100006ave/direct;at.asp_06 > 1203_01/01 > _______________________________________________ > Gamedevlists-design mailing list > Gam...@li... > https://lists.sourceforge.net/lists/listinfo/gamedevlists-design > Archives: > http://sourceforge.net/mailarchive/forum.php?forum_id=556 > > > > ------------------------------------------------------- > This SF.Net email sponsored by: Free pre-built ASP.NET sites including > Data Reports, E-commerce, Portals, and Forums are available now. > Download today and enter to win an XBOX or Visual Studio .NET. > http://aspnet.click-url.com/go/psa00100006ave/direct;at.asp_06 > 1203_01/01 > _______________________________________________ > Gamedevlists-design mailing list > Gam...@li... > https://lists.sourceforge.net/lists/listinfo/gamedevlists-design > Archives: > http://sourceforge.net/mailarchive/forum.php?forum_id=556 > |
From: Jamie F. <ja...@qu...> - 2003-07-02 12:47:50
|
True. I tend to think the main problem with hobby projects is that you set out to write an engine with no idea of what you want it to actually _do_, and so it all becomes a fairly meaningless exercise in what flavour of code you fancy that month.... Yeah, i thought it was about game design too :) J -----Original Message----- From: gam...@li... [mailto:gam...@li...]On Behalf Of Gareth Lewin Sent: 02 July 2003 12:17 To: gam...@li... Subject: RE: [GD-Design] Designing a renderer Yes, but your requirements are differant to the standard. The original email talked about linux/windows and not about consoles. Also, I made the (maybe incorrect) assumption that he is a hobbyist, and spending time R&Ding an OGL and DX renderer is (in my opinion) silly and a waste of time. The reality is that a lot of hobbyists spend a lot of type working on cross platform stuff when in reality their work will only ever be run on a single platform, instead of utilising that same time in a more constructive (in my subjective opinion) way. As you well know, the real differant between ps/2,xbox/dx/ogl/cube etc is the high and the low ends (the syntax is differant, and low level optimizations are differant) but the basics are the same, and stuff you learn with just a single platform are applicable everywhere. ________________________ Regards, Gareth Lewin Programmer, Sudeki http://www.xbox.com/Sudeki P.S. Isn't this list about game design, not software design ? :) > -----Original Message----- > From: Jamie Fowlston [mailto:ja...@qu...] > Sent: 02 July 2003 12:08 > To: gam...@li... > Subject: RE: [GD-Design] Designing a renderer > > > Hmm, we support multiple platforms, and haven't found OGL solves our > problems on PS2 & Xbox :) > > Doing both on Windows is a good exercise for your > architecture, to test you > can really have different drivers. > > Jamie > > > -----Original Message----- > From: gam...@li... > [mailto:gam...@li...]On Behalf Of > Gareth Lewin > Sent: 02 July 2003 10:12 > To: gam...@li... > Subject: RE: [GD-Design] Designing a renderer > > > Sorry to ask a stupid question, but why implement both an OGL and a DX > renderer ? Either your product is windows only, in which case > DirectX or > OpenGL are good, or you want to support multiple platforms, > and in that case > OGL solves all your problems. > > Spending time on keeping two distint rendering engines up to > date is a waste > of time, and now days there is no clear advantage to that > that I can see. > > > -----Original Message----- > > From: Dirk Gregorius [mailto:di...@di...] > > Sent: 01 July 2003 10:19 > > To: gam...@li... > > Subject: [GD-Design] Designing a renderer > > > > > > Hi, > > > > I am wondering how you implement your render interfaces? On > > what abstraction > > level is a renderer normally implemented - what are the > > typical functions > > and classes? Do you pass a renderer reference to all > > renderable entities? > > And how is platform independence achieved - do you use > > polymorphism or for > > example the "Bridge" pattern - that by its definition > > seperates abstraction > > and implementation? Maybe you can give me some tips. > > > > One thing that I really don't understand is how to implement the > > initialisation such that it works platform independent? E.g: > > Let's say we > > have a base class IRenderer which is implemented by two > derived class > > COGLRendererImpl and CDXRendererImpl. Both derived classes > implement a > > virtual function IRenderer::Init(...). The arguments vary > > with the OS. On a > > Windows platform you have to pass the HWND for the window, on > > a Linux system > > that could be totally different. What is the best to handle this? > > > > Hopefully I could make myself clear. Every help is appreciated!! > > > > Best regards > > > > > > Dirk > > > > > > > > ------------------------------------------------------- > > This SF.Net email sponsored by: Free pre-built ASP.NET > sites including > > Data Reports, E-commerce, Portals, and Forums are available now. > > Download today and enter to win an XBOX or Visual Studio .NET. > > http://aspnet.click-url.com/go/psa00100006ave/direct;at.asp_06 > 1203_01/01 > _______________________________________________ > Gamedevlists-design mailing list > Gam...@li... > https://lists.sourceforge.net/lists/listinfo/gamedevlists-design > Archives: > http://sourceforge.net/mailarchive/forum.php?forum_id=556 > > > ------------------------------------------------------- > This SF.Net email sponsored by: Free pre-built ASP.NET sites including > Data Reports, E-commerce, Portals, and Forums are available now. > Download today and enter to win an XBOX or Visual Studio .NET. > http://aspnet.click-url.com/go/psa00100006ave/direct;at.asp_06 1203_01/01 _______________________________________________ Gamedevlists-design mailing list Gam...@li... https://lists.sourceforge.net/lists/listinfo/gamedevlists-design Archives: http://sourceforge.net/mailarchive/forum.php?forum_id=556 ------------------------------------------------------- This SF.Net email sponsored by: Free pre-built ASP.NET sites including Data Reports, E-commerce, Portals, and Forums are available now. Download today and enter to win an XBOX or Visual Studio .NET. http://aspnet.click-url.com/go/psa00100006ave/direct;at.asp_061203_01/01 _______________________________________________ Gamedevlists-design mailing list Gam...@li... https://lists.sourceforge.net/lists/listinfo/gamedevlists-design Archives: http://sourceforge.net/mailarchive/forum.php?forum_id=556 ------------------------------------------------------- This SF.Net email sponsored by: Free pre-built ASP.NET sites including Data Reports, E-commerce, Portals, and Forums are available now. Download today and enter to win an XBOX or Visual Studio .NET. http://aspnet.click-url.com/go/psa00100006ave/direct;at.asp_061203_01/01 _______________________________________________ Gamedevlists-design mailing list Gam...@li... https://lists.sourceforge.net/lists/listinfo/gamedevlists-design Archives: http://sourceforge.net/mailarchive/forum.php?forum_id=556 |
From: Gareth L. <GL...@cl...> - 2003-07-02 11:17:36
|
Yes, but your requirements are differant to the standard. The original email talked about linux/windows and not about consoles. Also, I made the (maybe incorrect) assumption that he is a hobbyist, and spending time R&Ding an OGL and DX renderer is (in my opinion) silly and a waste of time. The reality is that a lot of hobbyists spend a lot of type working on cross platform stuff when in reality their work will only ever be run on a single platform, instead of utilising that same time in a more constructive (in my subjective opinion) way. As you well know, the real differant between ps/2,xbox/dx/ogl/cube etc is the high and the low ends (the syntax is differant, and low level optimizations are differant) but the basics are the same, and stuff you learn with just a single platform are applicable everywhere. ________________________ Regards, Gareth Lewin Programmer, Sudeki http://www.xbox.com/Sudeki P.S. Isn't this list about game design, not software design ? :) > -----Original Message----- > From: Jamie Fowlston [mailto:ja...@qu...] > Sent: 02 July 2003 12:08 > To: gam...@li... > Subject: RE: [GD-Design] Designing a renderer > > > Hmm, we support multiple platforms, and haven't found OGL solves our > problems on PS2 & Xbox :) > > Doing both on Windows is a good exercise for your > architecture, to test you > can really have different drivers. > > Jamie > > > -----Original Message----- > From: gam...@li... > [mailto:gam...@li...]On Behalf Of > Gareth Lewin > Sent: 02 July 2003 10:12 > To: gam...@li... > Subject: RE: [GD-Design] Designing a renderer > > > Sorry to ask a stupid question, but why implement both an OGL and a DX > renderer ? Either your product is windows only, in which case > DirectX or > OpenGL are good, or you want to support multiple platforms, > and in that case > OGL solves all your problems. > > Spending time on keeping two distint rendering engines up to > date is a waste > of time, and now days there is no clear advantage to that > that I can see. > > > -----Original Message----- > > From: Dirk Gregorius [mailto:di...@di...] > > Sent: 01 July 2003 10:19 > > To: gam...@li... > > Subject: [GD-Design] Designing a renderer > > > > > > Hi, > > > > I am wondering how you implement your render interfaces? On > > what abstraction > > level is a renderer normally implemented - what are the > > typical functions > > and classes? Do you pass a renderer reference to all > > renderable entities? > > And how is platform independence achieved - do you use > > polymorphism or for > > example the "Bridge" pattern - that by its definition > > seperates abstraction > > and implementation? Maybe you can give me some tips. > > > > One thing that I really don't understand is how to implement the > > initialisation such that it works platform independent? E.g: > > Let's say we > > have a base class IRenderer which is implemented by two > derived class > > COGLRendererImpl and CDXRendererImpl. Both derived classes > implement a > > virtual function IRenderer::Init(...). The arguments vary > > with the OS. On a > > Windows platform you have to pass the HWND for the window, on > > a Linux system > > that could be totally different. What is the best to handle this? > > > > Hopefully I could make myself clear. Every help is appreciated!! > > > > Best regards > > > > > > Dirk > > > > > > > > ------------------------------------------------------- > > This SF.Net email sponsored by: Free pre-built ASP.NET > sites including > > Data Reports, E-commerce, Portals, and Forums are available now. > > Download today and enter to win an XBOX or Visual Studio .NET. > > http://aspnet.click-url.com/go/psa00100006ave/direct;at.asp_06 > 1203_01/01 > _______________________________________________ > Gamedevlists-design mailing list > Gam...@li... > https://lists.sourceforge.net/lists/listinfo/gamedevlists-design > Archives: > http://sourceforge.net/mailarchive/forum.php?forum_id=556 > > > ------------------------------------------------------- > This SF.Net email sponsored by: Free pre-built ASP.NET sites including > Data Reports, E-commerce, Portals, and Forums are available now. > Download today and enter to win an XBOX or Visual Studio .NET. > http://aspnet.click-url.com/go/psa00100006ave/direct;at.asp_06 1203_01/01 _______________________________________________ Gamedevlists-design mailing list Gam...@li... https://lists.sourceforge.net/lists/listinfo/gamedevlists-design Archives: http://sourceforge.net/mailarchive/forum.php?forum_id=556 ------------------------------------------------------- This SF.Net email sponsored by: Free pre-built ASP.NET sites including Data Reports, E-commerce, Portals, and Forums are available now. Download today and enter to win an XBOX or Visual Studio .NET. http://aspnet.click-url.com/go/psa00100006ave/direct;at.asp_061203_01/01 _______________________________________________ Gamedevlists-design mailing list Gam...@li... https://lists.sourceforge.net/lists/listinfo/gamedevlists-design Archives: http://sourceforge.net/mailarchive/forum.php?forum_id=556 |
From: Jamie F. <ja...@qu...> - 2003-07-02 11:08:51
|
Hmm, we support multiple platforms, and haven't found OGL solves our problems on PS2 & Xbox :) Doing both on Windows is a good exercise for your architecture, to test you can really have different drivers. Jamie -----Original Message----- From: gam...@li... [mailto:gam...@li...]On Behalf Of Gareth Lewin Sent: 02 July 2003 10:12 To: gam...@li... Subject: RE: [GD-Design] Designing a renderer Sorry to ask a stupid question, but why implement both an OGL and a DX renderer ? Either your product is windows only, in which case DirectX or OpenGL are good, or you want to support multiple platforms, and in that case OGL solves all your problems. Spending time on keeping two distint rendering engines up to date is a waste of time, and now days there is no clear advantage to that that I can see. > -----Original Message----- > From: Dirk Gregorius [mailto:di...@di...] > Sent: 01 July 2003 10:19 > To: gam...@li... > Subject: [GD-Design] Designing a renderer > > > Hi, > > I am wondering how you implement your render interfaces? On > what abstraction > level is a renderer normally implemented - what are the > typical functions > and classes? Do you pass a renderer reference to all > renderable entities? > And how is platform independence achieved - do you use > polymorphism or for > example the "Bridge" pattern - that by its definition > seperates abstraction > and implementation? Maybe you can give me some tips. > > One thing that I really don't understand is how to implement the > initialisation such that it works platform independent? E.g: > Let's say we > have a base class IRenderer which is implemented by two derived class > COGLRendererImpl and CDXRendererImpl. Both derived classes implement a > virtual function IRenderer::Init(...). The arguments vary > with the OS. On a > Windows platform you have to pass the HWND for the window, on > a Linux system > that could be totally different. What is the best to handle this? > > Hopefully I could make myself clear. Every help is appreciated!! > > Best regards > > > Dirk > > > > ------------------------------------------------------- > This SF.Net email sponsored by: Free pre-built ASP.NET sites including > Data Reports, E-commerce, Portals, and Forums are available now. > Download today and enter to win an XBOX or Visual Studio .NET. > http://aspnet.click-url.com/go/psa00100006ave/direct;at.asp_06 1203_01/01 _______________________________________________ Gamedevlists-design mailing list Gam...@li... https://lists.sourceforge.net/lists/listinfo/gamedevlists-design Archives: http://sourceforge.net/mailarchive/forum.php?forum_id=556 ------------------------------------------------------- This SF.Net email sponsored by: Free pre-built ASP.NET sites including Data Reports, E-commerce, Portals, and Forums are available now. Download today and enter to win an XBOX or Visual Studio .NET. http://aspnet.click-url.com/go/psa00100006ave/direct;at.asp_061203_01/01 _______________________________________________ Gamedevlists-design mailing list Gam...@li... https://lists.sourceforge.net/lists/listinfo/gamedevlists-design Archives: http://sourceforge.net/mailarchive/forum.php?forum_id=556 |
From: <di...@di...> - 2003-07-02 10:40:16
|
Thanx for answers. Maybe you can give me also some suggestions for the first part of my questions. Also thanx for the book tip. Are there any other books on software design that you can recommend? Especially concerning games :-) Best regards Dirk |
From: Gareth L. <GL...@cl...> - 2003-07-02 09:26:26
|
Sorry to ask a stupid question, but why implement both an OGL and a DX renderer ? Either your product is windows only, in which case DirectX or OpenGL are good, or you want to support multiple platforms, and in that case OGL solves all your problems. Spending time on keeping two distint rendering engines up to date is a waste of time, and now days there is no clear advantage to that that I can see. > -----Original Message----- > From: Dirk Gregorius [mailto:di...@di...] > Sent: 01 July 2003 10:19 > To: gam...@li... > Subject: [GD-Design] Designing a renderer > > > Hi, > > I am wondering how you implement your render interfaces? On > what abstraction > level is a renderer normally implemented - what are the > typical functions > and classes? Do you pass a renderer reference to all > renderable entities? > And how is platform independence achieved - do you use > polymorphism or for > example the "Bridge" pattern - that by its definition > seperates abstraction > and implementation? Maybe you can give me some tips. > > One thing that I really don't understand is how to implement the > initialisation such that it works platform independent? E.g: > Let's say we > have a base class IRenderer which is implemented by two derived class > COGLRendererImpl and CDXRendererImpl. Both derived classes implement a > virtual function IRenderer::Init(...). The arguments vary > with the OS. On a > Windows platform you have to pass the HWND for the window, on > a Linux system > that could be totally different. What is the best to handle this? > > Hopefully I could make myself clear. Every help is appreciated!! > > Best regards > > > Dirk > > > > ------------------------------------------------------- > This SF.Net email sponsored by: Free pre-built ASP.NET sites including > Data Reports, E-commerce, Portals, and Forums are available now. > Download today and enter to win an XBOX or Visual Studio .NET. > http://aspnet.click-url.com/go/psa00100006ave/direct;at.asp_06 1203_01/01 _______________________________________________ Gamedevlists-design mailing list Gam...@li... https://lists.sourceforge.net/lists/listinfo/gamedevlists-design Archives: http://sourceforge.net/mailarchive/forum.php?forum_id=556 |
From: <Ja...@Co...> - 2003-07-02 09:20:05
|
We don't pass in the HWND to our renderer but rather let it use Win32 API calls to get the HWND. We pass in the title string of the window from our main app to the renderer init function. This is ignored for those renderers that don't need it. Another option is to pass in argc, argv like variables to the Init of the renderer. Jake -----Original Message----- From: Timur Davidenko [mailto:ti...@cr...] Sent: 02 July 2003 08:35 To: gam...@li... Subject: RE: [GD-Design] Designing a renderer Actually HWND is a simple handle and can be passed just as a void*, Sure you can make more general abstraction and create OS independed Window class, but OSes can differ greatly and its hard to get it right at start. If i would want to make stuff simple, some common initialzation structure like struct RendererInitParams { void *hwnd; .. some other stuff. } then DX renderer can be only on windows platform so it is compiled with windows headers, simple cast void *hwnd into HWND internally. in OGL renderer you can used defines to see OS and use either windows code and use void *hwnd, or if its Linux ignore this value. Not a most generic solution in the world, but its fast to get running and actually quite flexible, considering that you dont have 300 different OSes arround. and getting universal portable window class other all OSes and Consoles are a task by itelf and you should consider do you really want to spent time on this. _________________________________ Timur Davidenko. Crytek Studios (http://www.crytek.com) -----Original Message----- From: Dirk Gregorius [mailto:di...@di...] Sent: Tuesday, July 01, 2003 11:19 AM To: gam...@li... Subject: [GD-Design] Designing a renderer Hi, I am wondering how you implement your render interfaces? On what abstraction level is a renderer normally implemented - what are the typical functions and classes? Do you pass a renderer reference to all renderable entities? And how is platform independence achieved - do you use polymorphism or for example the "Bridge" pattern - that by its definition seperates abstraction and implementation? Maybe you can give me some tips. One thing that I really don't understand is how to implement the initialisation such that it works platform independent? E.g: Let's say we have a base class IRenderer which is implemented by two derived class COGLRendererImpl and CDXRendererImpl. Both derived classes implement a virtual function IRenderer::Init(...). The arguments vary with the OS. On a Windows platform you have to pass the HWND for the window, on a Linux system that could be totally different. What is the best to handle this? Hopefully I could make myself clear. Every help is appreciated!! Best regards Dirk ------------------------------------------------------- This SF.Net email sponsored by: Free pre-built ASP.NET sites including Data Reports, E-commerce, Portals, and Forums are available now. Download today and enter to win an XBOX or Visual Studio .NET. http://aspnet.click-url.com/go/psa00100006ave/direct;at.asp_061203_01/01 _______________________________________________ Gamedevlists-design mailing list Gam...@li... https://lists.sourceforge.net/lists/listinfo/gamedevlists-design Archives: http://sourceforge.net/mailarchive/forum.php?forum_id=556 ------------------------------------------------------- This SF.Net email sponsored by: Free pre-built ASP.NET sites including Data Reports, E-commerce, Portals, and Forums are available now. Download today and enter to win an XBOX or Visual Studio .NET. http://aspnet.click-url.com/go/psa00100006ave/direct;at.asp_061203_01/01 _______________________________________________ Gamedevlists-design mailing list Gam...@li... https://lists.sourceforge.net/lists/listinfo/gamedevlists-design Archives: http://sourceforge.net/mailarchive/forum.php?forum_idU6 |
From: Timur D. <ti...@cr...> - 2003-07-02 09:05:13
|
Actually HWND is a simple handle and can be passed just as a void*, Sure you can make more general abstraction and create OS independed = Window class, but OSes can differ greatly and its hard to get it right = at start. If i would want to make stuff simple, some common initialzation = structure like struct RendererInitParams { void *hwnd; .. some other stuff.=20 } then DX renderer can be only on windows platform so it is compiled with windows headers, simple cast void *hwnd into HWND = internally. in OGL renderer you can used defines to see OS and use either windows = code and use void *hwnd, or if its Linux ignore this value. Not a most generic solution in the world, but its fast to get running = and actually quite flexible, considering that you dont have 300 = different OSes arround. and getting universal portable window class other all OSes and Consoles = are a task by itelf and you should consider do you really want to spent = time on this. _________________________________ Timur Davidenko. Crytek Studios (http://www.crytek.com) -----Original Message----- From: Dirk Gregorius [mailto:di...@di...] Sent: Tuesday, July 01, 2003 11:19 AM To: gam...@li... Subject: [GD-Design] Designing a renderer Hi, I am wondering how you implement your render interfaces? On what = abstraction level is a renderer normally implemented - what are the typical = functions and classes? Do you pass a renderer reference to all renderable = entities? And how is platform independence achieved - do you use polymorphism or = for example the "Bridge" pattern - that by its definition seperates = abstraction and implementation? Maybe you can give me some tips. One thing that I really don't understand is how to implement the initialisation such that it works platform independent? E.g: Let's say = we have a base class IRenderer which is implemented by two derived class COGLRendererImpl and CDXRendererImpl. Both derived classes implement a virtual function IRenderer::Init(...). The arguments vary with the OS. = On a Windows platform you have to pass the HWND for the window, on a Linux = system that could be totally different. What is the best to handle this? Hopefully I could make myself clear. Every help is appreciated!! Best regards Dirk ------------------------------------------------------- This SF.Net email sponsored by: Free pre-built ASP.NET sites including Data Reports, E-commerce, Portals, and Forums are available now. Download today and enter to win an XBOX or Visual Studio .NET. http://aspnet.click-url.com/go/psa00100006ave/direct;at.asp_061203_01/01 _______________________________________________ Gamedevlists-design mailing list Gam...@li... https://lists.sourceforge.net/lists/listinfo/gamedevlists-design Archives: http://sourceforge.net/mailarchive/forum.php?forum_id=3D556 |
From: Garett B. <gt...@st...> - 2003-07-02 01:30:14
|
<rant> > The book does hit a bunch of my pet-peeves though. > Such as the prefixing of all classes with ap*. > Damnit, just throw everything into an ap namespace. > That's what namespaces are for. Here here! It always irks me to see a prefix used in place of proper namespacing. Maybe I'm taking it too far, but I have nested namespaces in my project and it allows me to use clear, concise, one-word method names. Nouns, verbs, adjectives... C++ is a language, use it like one. > I know some compilers don't handle namespaces well, > but there are easy work-arounds. Best work around: Use a better compiler. If your compiler can't handle namespaces properly, then maybe it isn't a C++ compiler after all. </rant> > So in conclusion, keep iterating and check out Applied C++... I will definitely look into it. Thx for the recommendation. Regards, Garett Bass |
From: Parveen K. <pk...@al...> - 2003-07-01 23:55:59
|
On Tue, 2003-07-01 at 14:50, Ivan Galic wrote: > > > function IRenderer::Init(...). The arguments vary with > > > the OS. On a Windows platform you have to pass the HWND > > > for the window, on a Linux system that could be totally > > > different. >=20 > Yes, so that's why you have to abstract window creation, too. So you'd ha= ve > a class for creating a window, and two implementations - one for windows, > and one for linux. Take a look at OGRE for a good engine design: >=20 > ogre.sourceforge.net >=20 > -Ivan I'm not sure if I'd call OGRE a good engine design. It does abstract away a bunch of stuff fairly well. I'm not sure how algorithms, such as shadows and different shaders, fit into the whole mix. My advice would be to: for (;;) { Design(); Code(); Refactor(); } You're not going to get it right the 1st time. And you probably won't get it completely right the 8th time. Just keep the iterations short and keep cranking out code. I'm reading Applied C++ at the moment. http://www3.addall.com/New/compare.cgi?isbn=3D0321108949 It's a pretty decent read. They go through designing and coding an image manipulation program. So a lot of the issues they cover, you will run into when designing your renderer. <rant> The book does hit a bunch of my pet-peeves though. Such as the prefixing of all classes with ap*. Damnit, just throw everything into an ap namespace. That's what namespaces are for. I know some compilers don't handle namespaces well, but there are easy work-arounds. </rant> My current side-project is designing an STL-like engine. And using traits classes to configure the renderer for different APIs and windowing systems. Similiar to how std::string is an instantiation of basic_string<class charT, class traits, class Allocator>. And have algorithms for shadows, fog, and shading work like STL algorithms. I'm not sure how this turned into me pimping the meandering design of my own engine. So in conclusion, keep iterating and check out Applied C++ but as per usual, read with a grain of salt. --=20 Parveen Kaler <pk...@al...> |
From: Ivan G. <dea...@ga...> - 2003-07-01 22:46:43
|
> > function IRenderer::Init(...). The arguments vary with > > the OS. On a Windows platform you have to pass the HWND > > for the window, on a Linux system that could be totally > > different. Yes, so that's why you have to abstract window creation, too. So you'd have a class for creating a window, and two implementations - one for windows, and one for linux. Take a look at OGRE for a good engine design: ogre.sourceforge.net -Ivan |
From: Garett B. <gt...@st...> - 2003-07-01 17:48:52
|
Dirk wrote: > E.g: Let's say we have a base class IRenderer which is > implemented by two derived class COGLRendererImpl and > CDXRendererImpl. Both derived classes implement a virtual > function IRenderer::Init(...). The arguments vary with > the OS. On a Windows platform you have to pass the HWND > for the window, on a Linux system that could be totally > different. I don't know how others handle this, but I have a windowing system abstraction layer that hides all the platform specifics such as window handles and such, and just lets me create, size, move windows. One subclass of the window class is a 3D context window, which can be sized and moved, and can be initialized with a specific pixel format. This should be Linux friendly since the platform implementation details are hidden. I don't expose any private variables in the class header, instead I handle all of the platform specifics within the .cpp files using maps to associate data with the interface classes as needed. In Win32 there is very little that must be stored aside from the hwnd and hdc, just about everything else can be queried from the Win32 API. I don't know enough about Direct3D to design for it, but OpenGL makes this easy because my 3D context window can handle all wgl* specifics like MakeCurrent and SwapBuffers, and otherwise I can just call OpenGL functions anywhere in my code and the current context receives them automagically. YMMV, Garett Bass gt...@st... |
From: Dirk G. <di...@di...> - 2003-07-01 09:18:46
|
Hi, I am wondering how you implement your render interfaces? On what abstraction level is a renderer normally implemented - what are the typical functions and classes? Do you pass a renderer reference to all renderable entities? And how is platform independence achieved - do you use polymorphism or for example the "Bridge" pattern - that by its definition seperates abstraction and implementation? Maybe you can give me some tips. One thing that I really don't understand is how to implement the initialisation such that it works platform independent? E.g: Let's say we have a base class IRenderer which is implemented by two derived class COGLRendererImpl and CDXRendererImpl. Both derived classes implement a virtual function IRenderer::Init(...). The arguments vary with the OS. On a Windows platform you have to pass the HWND for the window, on a Linux system that could be totally different. What is the best to handle this? Hopefully I could make myself clear. Every help is appreciated!! Best regards Dirk |
From: Nalin S. <ns...@vs...> - 2003-06-05 10:25:35
|
- Hi... Is there anyone here whose tried usingthe Serious Sam SDK to program their own opponent AIs ? Would appreciate pointers to code/discussions on the same; especially with regard to opponents that chase the player from the beginning to the end of the level appearing intermittently to attack the player and decrease his health. Regards, Nalin PS: Ryze.com is not a site I own or have any association with; it's a networking site where I am a member and where one can register oneself and search for people, send them messages and network with them. There is no gain construing to me from this except that I'd get to meet more people and exchange/share views/ideas/experiences with them. Do Check it out. PPS: You too Jan... with your passion for checking things out and warning the community in general against things you think they should avoid... maybe you'll like it too... and maybe you'll be able to find more people in the community you can connect with. ---- Original Message ----- From: "Jan Ekholm" <ch...@in...> To: <gam...@li...> Cc: <gam...@li...> Sent: Thursday, June 05, 2003 1:59 PM Subject: Re: [GD-Design] OT - Game Development Professionals Network > On Thu, 5 Jun 2003, Nalin Savara wrote: > > >Hi, > > > >This is Nalin Savara here. > > > >I"ve just created a network on Ryze.com (see: http://www.ryze.com ) which is > >a premier business network site that's called "GameDevPros" or the "Game > >Development Professionals Network" to serve as an online meeting place for > >game development professionals of all backgrounds to network, meet and > >discuss and exchange ideas and opportunities and support each other in > >meeting challenges. > > Pointing my browser to http://www.ryze.com/ I saw nothing that had > anything to do with games, not even a single mention of the word "game". > Seems to just be some kind of blog. Seems you also *must* register to get > anything. Avoid. > > -- > Crowley was in Hell's bad books. Not that Hell has any other kind. > -- Terry Pratchett & Neil Gaiman, Good Omens > > > > > > ------------------------------------------------------- > This SF.net email is sponsored by: Etnus, makers of TotalView, The best > thread debugger on the planet. Designed with thread debugging features > you've never dreamed of, try TotalView 6 free at www.etnus.com. > _______________________________________________ > Gamedevlists-design mailing list > Gam...@li... > https://lists.sourceforge.net/lists/listinfo/gamedevlists-design > Archives: > http://sourceforge.net/mailarchive/forum.php?forum_id=556 |