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

Saaa empty at needmail.com
Thu Nov 20 02:44:24 PST 2008


>> 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
Ok, Let me look that up...
You need to publish the license if you use the software.
something like:

license.txt
derived software license
..
..

This software made use of team0xf software framework
MIT license
..
..

?

>
>
>> 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 ;)
Erm, googling tells me that a singleton is a the object of a class which 
doesn't
permit a second object derived from it.
I think I have no classes which only have one object :)
I have a globals.d which used to contain a lot of variables (and arrays).
But now most arrays have become arrays of object and are declared in
the class description module.
The template I use a lot is like this:

module project.xclass.d

enum X{ NAME1, NAM2}

x xs[X.max+1]; //or keep it dynamic and init with ~

void init()
{
xs[X.NAME1] = new Xchild1( 1,2,3);
xs[X.NAME2] = new Xchild2( 1,2,3);
}

void iterate()
{
// do stuff which need the xs
}

abstract class x
{
}

>
>
>> 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 ;)

I'd love to research a 'equal knowledge' problem which might even lead to a
publication ; )
( meaning: bug me anytime you want)

>
>
>> 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
Ok, fair enough :D NVidia really has a great set of tools (and 
website/resources)
For me it would be too much work, I don't really have the time to write
videocard specific shaders.
>
>
>> 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.
Yeah, did the same here (2 testers that is :D). Although I try not to ask
anything and just keep quiet and watch them play.

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




More information about the Digitalmars-d-announce mailing list