Dev:Source/Development/Todo/GameEngine
テンプレート:Dev:2.5/Source/Development/Todo/index
目次
Game Engine
- Resizing of Blender doesn't resize BGE.
- When resizing the player, GPG_Canvas::ResizeWindow does not support changing or keep the previous refresh rate and bytes per pixel. T40544
- "Split Region in 4 Parts" launch BGE only in one of the parts.
- Maximum BGE screen size has one extra pixel (eg. 1025x769). That produces two problems:
- 2Dfilters may work slower (the power of 2 buffer will be 2048x1024 in the above example
- Dome mode is not centralized (slightly noticeable).
- Better access to UV maps: currently you can only access two UV maps to be able to adjust them, we should be able to access any and all UV maps for manipulation.
- Add support for constraints. Currently only the Rigid Body Joint is supported. There is no reason to not support at least all the transforms and more relations. T34132
- Add support for world textures.
- AddObject doesn't respect linked objects local layers in Blenderplayer T45597
GLSL
- Implement vertex transparency in GLSL
Input
- Keyboard: support for non-US keyboards. A current workaround is using PyUSB. T6430 T40614
- Buffered input, with support for queries (isPressed, etc) and keeping track of the order of input T41181
- Flexible interface to hook a python user made logic or library to the event system from ghost/SDL so as to support a wide range of input devices
- Support for output: rumble, force feedback, leds. Again, this should be designed as a flexible wrapper to hook python logic into, because we can't possibly aim to support all kinds of hardware with fringe functionality.
- More consistent interface for joysticks across OS and hardware T41214
Mesh
- Create new geometry dynamically: meshes, vertices and faces
Render
- at this moment the bullet physics engine is being used for culling, this means that the GE does not work without it.
- add the posibility of output opengl renderer to a file (when BGE and blender use the same opengl renderer).
- use skinned mesh for camera frustum calculation T50881
3D Text
- More details in 0890b80ed9343ac
- support for packed font and the <builtin>
- figure why some fonts are displayed in a different size in 3DView/BGE (BLF)
- investigate glitches
- support for multiline
- support for more Blender Font Object options (text alignment, text boxes, ...)
- the text looks very pixelated/aliased
- support for alignment (left, center, right justified...) T41069
- take the color from material instead of object panel T44163
Python API
- automatic generation of documentation
- review the KX_Camera matrix methods (T36607)
- KX_Camera.getScreenRay should have the same options and returns as KX_GameObject.rayCast
- Change AddObject parameter to secons. This breaks backward compatibility, so it should only be addressed in a release where we break things for good (3.x?). (T40402)
- Adds support to AddObject and AddObject actuator to choose that the name of the objects added be equal each other or different (.001, .002, etc)
Logic
- wasn't there a list with things like copy-paste bricks, drag them, etc?
- Constraint Actuator: the current options are limited and sometimes lead to unexpected behaviour. There should be a way to set the coordinates of the constraint: world, parent or local. Related: T18134
- cannot create new vertices or faces in runtime, only existing mesh data
Animation
- rewrite functionality: ResetPhysicsObjectsAnimationIpo resetNoneDynamicObjectToIpo WritePhysicsObjectToAnimationIpo
Physics
- Graphical interface for Vehicle Physics Wrapper
Particles
The Game Engine currently has no Particle system.
- This is an important feature to support as it is essential for:
- visual effects with fuzziness/transparency: fire, smoke, clouds, explosions..
- scenic effects: falling leaves, rolling tumbleweeds..
- surfaces with many strands: grass, fur, hair..
- biologic groups/hordes: ants, fishes, birds, enemies (This starts to overlap with artificial intelligence and group behaviour in the movement and generation definition)
- Some requirements are:
- real time simulation and rendering
- attention to common game techniques, notoriously billboards
- Current workarounds are the Add Object Actuator and AddOns
Audio
Video Texture
- Better API to use webcams as a VideoSource T18634
- Python API documentation - improve, review and add function signatures and descriptions
Techniques / Workflow Support
- Hardware Skinning
- Billboards
- Improve text/script editing: auto-completion, shortcut conventions and other todos for the text editor
Asset management and Packaging
- the current way and limitations of linking and appending do not fit well with the game creation process. It is necessary to:
- re-use and asset with different logic and logic/physics settings
- re-use logic - at this moment logic bricks are strongly tied to an object and it would be preferable to have them more independent
- an overhaul of the asset management would be a big plus and is a current weak point of the GE. This includes:
- browsing locally for an asset (and good outliner support)
- asset sharing within teams and globally (store/market like - having a repository of usable components as building blocks)
- packaging: have a good definition of assets/libraries/components/functionality
Export and Deployment
- cross-building - deploy from one platform to all
- do basic checks, eg for missing resources
- automatically pack the textures into the blend files
- automatically include all linked Blender files
- deploy to web and mobile platforms