Tango conference 2008 - Tomasz Stachowiak DDL talk [^H^H^H gamedev talk]

Tom S h3r3tic at remove.mat.uni.torun.pl
Wed Nov 19 12:09:27 PST 2008


Saaa wrote:
> That is some amazing game dev framework!
> How is everything licensed?

Thanks! MIT/BSD. There are licenses in a few spots, but we were too lazy 
to add them everywhere :P


> For instance, I started out with loads of global variables and like almost 
> no knowledge
> about oop and now I better understand modules and oop, things get nicely 
> packaged and
> the global variable list is slinking.

Cool :) I hope you haven't exchanged them for singletons, which are for 
the most part excuses for having globals and pretending not to have them 
:P I usually shoot these on sight (unless they are justified) or replace 
them with thread-local stuff. This said, a few spots in the 'xf' stuff 
uses singletons, mostly because we didn't have the time/will to refactor 
them out ;)


> Everything I made can not do much beyond what it should be doing (opposite 
> the teamh0xf framework)
> but that is what you get from being a one man show and try to focus half of 
> my attention to
> AI research :D

Oh, sweet! Perhaps we'll have someone to bug about AI for Deadlock when 
something is working again ;)


> Why Cg? I used Cg for a bit but went back to GLSL because of its simplicity.

* access to the hot and latest NVidia extensions
* easy porting to DirectX ... just in case
* CgFX
* NVidia tools
* some support for pre-shader NVidia hardware, like the GeForce3


> One last simple thing: In the Molly Rocket talk about immediate-mode guis a 
> comment is made
> about some games not holding true to the convention that releasing the mouse 
> away from the
> clicked button will not result in button click.
> I think that in-game guis should not hold to this convention because of 
> three things:
> 1. it is faster and holding to the convention could become quit annoying
> 2. highlighting the hot buttons is more elaborate in games (well most of the 
> times of course)
> 3. faulty clicks are not that damaging 

Depends ;P I'd take an adaptive approach. Start with the 'normal' 
behavior, release it to testers and ask if they felt that any particular 
widgets/types of buttons should have a different behavior. Then just 
subclass the Button widget and be done with it.


-- 
Tomasz Stachowiak
http://h3.team0xf.com/
h3/h3r3tic on #D freenode


More information about the Digitalmars-d-announce mailing list