Dev:Source/Development/Todo/GameEngine

提供: wiki
移動先: 案内検索

テンプレート: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