[Bf-committers] Proposal for Python Game Engine module re-shuffling

Campbell Barton ideasman42 at gmail.com
Tue May 18 08:25:43 CEST 2010


On Tue, May 18, 2010 at 8:20 AM, Campbell Barton <ideasman42 at gmail.com> wrote:
> On Tue, May 18, 2010 at 1:56 AM, Dalai Felinto <dfelinto at gmail.com> wrote:
>> Re-Reply :)
>>
>>>bge.events mostly stores constants for keyboard/mouse, so I think this is an OK name to keep (has 2 event conversion func's too)
>> I like bge.events, the one doesn't tell me much is bge.types (not a
>> big issue though, it's as (un)uniformative as GameTypes so it's fine)
> python has a types module, we have bpy.types too, (2.4x has
> Blender.Types), You don't normally need to access this directly but
> for documenting classes its useful.
>
>>>re: moving mouse/kb out not sure of this. --
>> my suggestion was to move out of logic (not out of types) into events.
>> bge.logic.keyboard, bge.logic.mouse were added in 2.5 (from Mitchell's
>> patch). Again not a big issue, only an initial thought I had when the
>> patch was committed.
>>
>>> re: VideoTexture...
>>> VideoTexture --> bge.video ?
>>>  is it likely we ever have non-texture video in the bge? :)
>> Maybe :) but either way I use the VideoTexture module for everything
>> but videos ;) - webcamera, local images, integration with bgl (using
>> bindid) . . . So nowadays (and in the future) I don't think the module
>> will be concentrated in videos. Benoit would know better of course.
> Can be called bge.texture (which happens to support video :) ), see
> what Benoit thinks.
>
>> Re: Constants:
>> I also dislike how all the constants are in Gamelogic. Would it be
>> possible to move them to bge.constants without breaking old files
>> (e.g. marking bge.logic.KX_INPUT_JUST_RELEASED as deprecated)?
>> Otherwise at first thought I would leave this for any real re-design
>> in the future (2.5 breaks already a lot of things, not sure we should
>> make more unecessarly).
> It would break files so, ignore this for now.
>
>> I hope we can get more user feedback on that matter.
>> Regards,
>> Dalai
>>
>> 2010/5/17 Campbell Barton <ideasman42 at gmail.com>:
>>> Hi Dalai
>>>
>>> bge.events mostly stores constants for keyboard/mouse, so I think this
>>> is an OK name to keep (has 2 event conversion func's too)
>>> re: moving mouse/kb out not sure of this.
>>>
>>> One think I don't like about bge.logic is all the constants stored in it
>>> eg:
>>> http://www.blender.org/documentation/250PythonDoc/bge.logic.html#constraint-actuator
>>> bpy api avoids this py using strings everywhere, but the BGE api
>>> hardly changed since blender 2.4x and I dont propose a rewrite.
>>>
>>> perhaps bge.constants.* ?
>>>
>>> Could also have bge.utils, similar to bpy.utils, but think a proposal
>>> should be written up if we are going to do more then just renaming a
>>> few modules.
>>>
>>> Once we have these modules its tempting to `improve` other parts of the api
>>> eg: bge.logic.setPhysicsTicRate(10) --> bge.logic.physics_tic_rate = 10
>>> ..there are many areas where the api could have get/sets removed as
>>> has been the direction of blenders rna api.
>>>
>>>
>>> re: VideoTexture...
>>> VideoTexture --> bge.video ?
>>>  is it likely we ever have non-texture video in the bge? :)
>>>
>>> On Mon, May 17, 2010 at 4:26 PM, Dalai Felinto <dfelinto at gmail.com> wrote:
>>>> Hi Campbell,
>>>>
>>>> I like:
>>>> bge.logic
>>>> bge.events (maybe we should move bge.logic.mouse/keyboard to here as well)
>>>> bge.render
>>>> bge.constraints
>>>>
>>>> I don't think tell much about the module:
>>>> bge.types
>>>>
>>>> I miss:
>>>> Video Texture :)
>>>> what should it be?
>>>> - bge.texture
>>>> - bge.dynamictexture
>>>> - bge.videotexture (the module is far from be only for video though)
>>>> - ...?
>>>>
>>>> Nice work on the conversion btw :)
>>>> Dalai
>>>>
>>>> 2010/5/17 Campbell Barton <ideasman42 at gmail.com>:
>>>>> Last night while converting epydocs over to sphinx I realized we
>>>>> didn't agree on renaming modules yet.
>>>>>
>>>>> Hows this sound?
>>>>>
>>>>> * 'bge', base module, fits with 'bpy' & 'bgl'
>>>>> * GameLogic --> bge.logic
>>>>> * GameTypes --> bge.types
>>>>> * GameKeys --> bge.events # includes mouse events, could also call it
>>>>> bge.keys, don't have a strong opinion here.
>>>>> * Rasterizer --> bge.render # rasterizer is a bit if a mouthful
>>>>> * PhysicsConstraints --> bge.constraints
>>>>>
>>>>> Modules: mathutils, geometry, bgl and blf will remain standalone.
>>>>>
>>>>> --
>>>>> - Campbell
>>>>> _______________________________________________
>>>>> Bf-committers mailing list
>>>>> Bf-committers at blender.org
>>>>> http://lists.blender.org/mailman/listinfo/bf-committers
>>>>>
>>>> _______________________________________________
>>>> Bf-committers mailing list
>>>> Bf-committers at blender.org
>>>> http://lists.blender.org/mailman/listinfo/bf-committers
>>>>
>>>
>>>
>>>
>>> --
>>> - Campbell

2 more small TODO's if anyones interested (from 2.4x).
value = fcurve.evaluate(time)
coord = texture.evaluate(vector)

we don't need these now but these come in handy for all sorts of scripts.


More information about the Bf-committers mailing list