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

Campbell Barton ideasman42 at gmail.com
Tue May 18 08:20:12 CEST 2010


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
>> _______________________________________________
>> 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


More information about the Bf-committers mailing list