TODO/General

From UFO:AI

SVN working directory: trunk

The stuff in General is not assigned to a specific version.

But please do only commit stuff to trunk if it's no major change. If it is please ask a project manager before doing that.

Contents

Music & Sounds

  • Atmospheric and music for the missions (the more the better)

Skins/Textures

Maps

  • [done] [high priority] Change Small Hangar facility map piece from 2 landing pads to 1 landing pad.
  • map pieces for variously sized UFOs and their crashed versions. For a list of all UFOs, see Aircraft. See also Mapping/Suggestions#Crash_Sites.
  • map pieces for the various dropships. For a list of all dropships, see Aircraft.
  • convert fixed maps into random maps with two tiles (one for the dropships and one for the rest).
  • map pieces for alien bases
  • Put new tiles for random assembly maps in assembly defintions:
    • vil_h04

See Mapping/Suggestions

Models

Please also have a look at our modelling article.

UFOs

  • [done] Convert UFOs mapped with GTKRadiant from .bsp format to a game-usable model format.
    • As it stands, the UFOs we see on the various maps are in a completely different, non-model format that we can't use anywhere but on maps. That's extremely limiting. We'd have to use static renders of them for everything like the UFOpaedia. And, as long as we don't have a model of a particular UFO, there's no possibility of using it in any kind of air combat. What's the point of having them at all if we can't keep the designs straight? --Winter 14:04, 11 February 2007 (CET)
    • [open] "colon" map (see the gallery for screenshots) - What is planned for this one? It seems to be intended as a alien-base style, but it could just as well be one of those giant orbital habitats. :) In both cases I doubt that we'll need to display it in the geoscape/ufopedia. --Hoehrer 13:23, 11 April 2007 (CEST)
      • I was thinking we could turn that into an alien base with a little work. --Winter 13:25, 11 April 2007 (CEST)

Characters

  • [WIP] [medium priority] Soldier models in human-designed powered armour (This is NOT the Nanocomposite Armour; that is already in-game as alien-derived medium armour).
    • This armour is heavy but compact. It does not have any 'onboard' weapon systems. It should look like it was built with advanced but human technology; its appearance must be practical and significantly different from the alien armours.
      • Male and female models by Pikka have been submitted and are being worked on.
      • The models are already in current svn (soldiers/malepower & soldiers/femalepower) and mostly finished. There still are a few animations missing though. (mainly: biggun, 'standing' aka. 'move', Akimbo pistols WIP, melee, item, panic). --Hoehrer 10:06, 22 November 2007 (CET)
      • [WIP] soldiers/malepower Status - see above --Hoehrer 10:11, 22 November 2007 (CET)
      • [WIP] soldiers/femalepower Status - see above --Hoehrer 10:11, 22 November 2007 (CET)
  • [open] [high priority] Soldier models in heavy alien-derived armour (See Nanocomposite Armour and [1]).
    • This heavy armour is an evolution of [2]. It is heavier, with a fully enclosing airtight helmet and more body coverage. It should still be flexible, however. All parts of the armour must be connected to the torso; it cannot have independent wristbands or boots.
  • [WIP] [high priority] Shevaar ([3]) model wearing light and medium alien armour.
    • What's the status on this, are they _all_ finished? --Hoehrer 10:06, 22 November 2007 (CET)
  • [done] [low priority] Human pilot models in advanced human flight suits.
  • [WIP] [low priority] Alien flying robot model and animations.
    • This robot hovers using conventional compressed-air turbines. It is essentially a skirtless alien hovercraft with a small weapon turret on top. It must look lightweight, well-designed and dangerous.
    • For animation, its movement will be somewhat unstable, but controlled and very quick. The robot's artificial intelligence compensates for the inherent instability of the hovercraft concept.
  • [open] [low priority] fr #1560373 Female medics and scientists currently have male models. We need female and male medics and scientists.
    • [done] Female scientists have been added (heads are still missing though).
    • [open] Female medics
  • [open] [low priority] We need more civilian models like Americans, Inuit and so on
  • [done] [low priority] Small (as in 1x1 sized) robot-drone, which will be used as ET_UGV on the battlescape as an "scout bot" (look behind a corner, search for aliens in the buildings, etc) - needs to have some kind of lamp and visible detectors to save its purpose "feeling"

Items to decorate maps

  • [open] "heli" texture(s) objects/aircraft/heli Preferably at least one 'civilian', one 'news-team' and one 'military' skin - make them as neutral as possible please.
  • radiators
  • desk-lamps
    • [done] One model is located here objects/furniture/desklamp
    • [open] Another desklamp model is available in the patch #1674348 (Desktop lamp model, non-skinned, non-scaled). It needs a texture.
  • flowerpots
  • [WIP] Curtains (see objects/furniture/curtains) -- Hoehrer
  • Plants in general - maps just look empty with not enough plants.
  • Trees, lots of trees (small, big, dried out, etc...).
  • Bushes & shrubs
  • Small patches of grass.
  • Small rocks & boulders for placing in the landscape.
  • Cars, lots of cars.
  • Small fishes (very lowpoly) for aquarium animations (special particle-effect -> mattn)
  • More items/packages for the stores
  • More pictures/posters for walls and billboards

Equipment

Models, textures, etc. for all items marked with 'TODO' in the Equipment section. (Items tagged as "postponed" should not be worked on.)

  • [WIP] [medium priority] TODO/General/IR Goggles - make sure no sunglasses are used in default head-models (at least no green ones) and create some with the new swimming-goggles styled model: IR Goggles --Hoehrer 08:35, 2 May 2007 (CEST)

GTKRadiant

  • [done] We have the skeleton of a plugin for GTKRadiant 1.5 (or higher) at src/tools/gtkradiant. This is C++ instead of C. Currently this plugin does not do much. Just add its functions to the menu. But it should do the filtering for our levelflags that may be set for brushes and entities.
  • Add some more functions to this plugin to make the mapperlife easier
  • [open] Patch GTKRadiant so display transparent (alphatest) and trans33/trans66 surfaces

Reported Bugs

  • [done] (presumely fixed) #1459603 ERROR: maps don`t load
  • [done] #1542759 Aliens die too early (aka Rocket Launcher firing bug)

Code

  • XVI Incorporate overarching XVI system.
  • Map ladders Code and model changes to allow using ladders on maps
  • [open] Aircraft and aircraft item production needs to be recoded as part of the main Production screen, replacing the current 'Other' category as 'Aircraft'.
  • [open] Incorporate Time Unit-loss for injured soldiers.
  • [open] Proposed: Knockdown effect for very damaging hits.
  • [open] Code to handle Alien Containment behaviour during base defence mission - based on difficulty, aliens stored in containment should get free in certain situations and participate in the battle; i know more what to do and how, but this is a long-term task--Zenerka 12:07, 22 January 2007 (CET)
  • [WIP] Get the mac port ready.
    • [done] The dedicated server seems to work.
    • [done] The mapcompiler is functional as well.
    • [WIP] The client is still not working though. (Intel works fine, PPC is running, too but has endian bugs)
  • Merge features (& bugfixes) from projects like quakeforge2 into our engine ... nothing specific, just look around what would help us or makes the game prettier. I think LordHavoc is the person to ask such things. See also the #Engine switch info.
    • Quakeforge2
    • EGL
    • more ...
  • Multiplayer: Inform via broadcast whether chosen team is free (or if teamplay: Check whether there are enough free soldier slots) <Mattn/tlh2000>
  • Multiplayer: (proposed) Point-based setup system.
  • (Proposed) Changes to reaction fire.
  • Improve performance of geoscape code (see Draw_DayAndNight in r_draw.c)
  • Support for 2x2 units such as Phoenix, Triax, Hovernets/Floaters, etc...
  • [open] Incendiary things only do fire damage. It would be nice it those fires would burn longer than one turn.
  • [open] Grenades need a timed explosion secondary fire mode.
  • [open] Improve Ranks and Medals subsystem. I certainly have some ideas and list of things to do about this.--Zenerka 00:08, 6 March 2007 (CET)

Inventory to team assignment

  • [open] aircraft_ struct update: capacities for dropships used to count inventory sizes and storage for storing inventory
  • [open] adding an item to the soldier
    • [open] put item in given container and remove it from base storage
    • [open] if soldier is in aircraft, add this item to aircraft storage as well
  • [open] inventory templates
    • [open] allow to save current soldier inventory as a template
    • [open] allow to equip soldier by picking desired template from the list; when doing that check if the items exists in base storage, block usage of template if no items for hands in base storage
  • [open] unhiring soldier
    • [open] readd inventory to base storage
    • [open] remove inventory from base storage if soldier is assigned to aircraft
    • [open] if soldier is being unhired while being outside the base, destroy his inventory (case: dropship crashing after airfight)
    • [open] if the storage inventory is full at any point in the unhiring processed, drop any remaining items that are not already stored.
  • [open] beginning a mission
    • [open] remove from aircraft storage every item being assigned to soldier; what left become aircraft "floor"
    • [open] open inventory menu for aircraft before entering a mission (button to do this in mission brief screen)
  • [open] dropship returns to the base
    • [open] reload soldiers' weapons (check for item.a, check if such clip is in base storage, reload)
    • [open] if reloading was not possible, give a feedback to user about that (what item is missing, which soldier was not reequipped)
  • [open] when removing or adding soldier to aircraft make sure that aircraft storage is being updated
  • [open] destroying aircraft: destroy aircraft storage as well
  • [open] collecting items from battlefield - surf through soldiers inventory to find items that was being added to soldier during the mission, remove them and put them to the floor - these will be collected by INV_CollectingItems()
  • [open] adding items to aircraft storage updates aircraft capacity - do not allow to put too many things to aircraft

New equipping menu code

  • Soldier equip menu should be per-base, not per-aircraft.
  • Moving a soldier from one aircraft to another means moving inventory assigned to him as well.
    • Perhaps object ownership should be hierarchical: Base (Top of hierarchy) contains aircraft, unassigned equipment (base storage) and unassigned soldiers. Aircraft (Middle of hierarchy) contains assigned soldiers and extra assigned equipment for pre-battle inventory adjustment. Soldier (Bottom of hierarchy) contains assigned equipment.
    • This results in two possible options: Soldiers can be given equipment from one level up the hierarchy (i.e. from Base if unassigned or from Aircraft if assigned), or they can be given equipment based solely on location. Equipment that is already assigned to any soldier should not be available to other soldiers.
  • Menu aircraft -> assign squad should be for assigning soldiers (or UGVs) to aircraft only, without involving equip menu.
  • Additional option for transfer menu: transfer soldier to another base with OR without equipement assigned to this soldier.
  • Winter already made a layout mockup for equip menu.
  • That should solve any reported bug with double items in base, when equipping soldiers in aircraft, and similar.

Research-Code

  • [done] Advanced research dependencies: <Suggested by Winter> "A research article's contents may change depending on the items in storage or the research topics that have already been (or have NOT been) researched. In addition, the topics that a new research topic opens may change depending on the same conditions, possibly resulting in the closing or opening of an entire research branch. This will help improve replayability."
  • [priority low] Additional code for research system and general cleanup/balance of techs - I would like to take care of it--Zenerka 20:49, 15 January 2007 (CET):
    • [open] balance technologies research time
    • [open] manipulations of research time based on amount of labs/scientists/(other?) (seems to be implemented)
    • [open] check and recheck all the dependencies and entries in research.ufo, sort things in the file

Model-Code

  • See also the #Engine switch info.
  • [low priority] [WIP] Add support for OBJ (Wavefront)-format into the engine. (non-animated objects only, OBJ has no support for anim.).
    • Only static models supported by format (without modifications).
    • Basic code is there, but needs some tweaks to display/load correctly. It's currently disabled. See renderer/r_model_obj.c
    • The code has been taken from http://tfc.duke.free.fr/ and modified.
  • [low priority] [WIP] Add support for MD3 format (Quake 3) into the engine.
    • Frame-based animations supported by format.
    • See patch #1553367 (WIP)
    • Static models are supported, animations are still missing IIRC
  • Halflife model (hlmdl) code: [6]
    • Support for skeletal animations by format.
  • MD5 and more model code: [7]
    • Support for skeletal animations by format.
  • Universal model loader information: [8]
  • DPM by Lordhavoc
  • CAL3D
    • See http://home.gna.org/cal3d/ for the library.
    • From the looks of it this is pretty much exactly what would would need in the game.
    • Blender exporter (xml version ".cfg .xaf .xsf .xmf .xrf") exists.
    • Blender importer? (needed?)
  • Collada (.dae) code
    • See [11] (from xreal/q3a engine)
    • The format can do basically anything one can do in 3D ... might be overkill though. Does anybody know if a binary version exists for this format?
    • Blender exporter and importer (both 1.3.1 and 1.4) exist.

Interface add-ons

  • [low priority] Tooltip action with content based on specific values, when moving cursor on the specific node; it could be used in various situations, few examples:
    • [done] Moving cursor to the ammo in inventory menu shows tooltip with names fo the weapons that use this ammo ... vice versa for weapons. As long as the weapons are researched that is.
    • [open] Moving cursor to the hire button (of the employee already hired in another base) in hire menu shows tooltip the base where this employee is hired.
    • [open] Moving cursor to the reaction fire button in HUD shows tooltip informing which weapon and which firemode will be used.
    • [open] Moving cursor to the button "next entry" in UFOpedia shows the name of the next entry, same for previous entry.
    • [open] Moving cursor to the reload button in HUD shows tooltip informing about the amount of TU needed to reload.
  • [open] Rework the input system to allow user-configurable key combinations (such as shift+key or control+key). Currently, they have to be hardcoded.
  • [open] Allow the user to change key bindings in the game menu, rather than having to edit keys.cfg.

Sound & Music features

  • Move-sounds depending on terrain and moving entity (soldier/alien/robot/whatever) (partially done, there are sounds for some terrains)
  • Support for additional background sounds (birds, wind, sirens, barking dogs, etc...) .. i.e. not embedded into the music tracks.
  • Separation of background music into map-specific and general tracks.
  • [WIP] (Zenerka) Actor sounds on being hit/hurt or killed.
    • death sounds code is implemented; all we need now is to get proper sound files and assing them to any team definition (both human and aliens); there are some alien death sounds from Alex Parker in current trunk as well as some human sounds contributed in our patchtracker, storyliners has links and should choose proper sounds

Webpage & Sourceforge

Sourceforge

  • Make a clean list of all releases so far. Something like this:
    • ufoai 2.x
    • ufoai 2.2
    • ufoai 2.1
    • ufoai 2.0
    • ufoai 2.0-RCx
    • ufoai techdemo2
    • ufoai xmas release
    • data
    • tools
  • Also link to each download version from the matching Changelog.

Webpage

  • Finally upgrade forum software and add better spam-filters.

Engine switch

3D Engine switch - Long term goal (2.5 - 3.0?) that requires a lot of refractoring of code (and content)

  • Engines
  • Pro:
    • No matter which engine we choose, we bascially outsource the work that is put into the engine to the developers of the new engine.
    • Support for a lot of different models types (see the different homepages for more info) - including skeletal animation and broader support in 3d-editors.
    • There exists quite some functionality for advanced GUIs in the engines.
    • Avoid common problems with image sizes (e.g the "quartered" background images)
    • Possibly support for breakable maps and easier map-creation?
  • Con:
    • A lot of work (duh) to migrate existing functionality to the new engine.
    • I think network code and the like are still based on the old code (could even count as a Pro)

Other

  • Campaign editor
  • Psionic warfare
  • [done] UFO interceptions. See also the information in TODO/General/Aircraft Items for a more in-deep requirement list.
  • [done] Working random maps
  • FR #1493721: Change of building-selection (building info)
  • Add support for item- and building-upgrades. <Suggested by Winter>
  • Unmanned recon/spy drones that search for alien activity. You'd simply pay X credits to send a UAV drone out to check for UFOs and alien bases and such. <Suggested by Winter>
  • Pilot management (pilot skills) <Suggested by Winter>
  • Radar towers and SAM sites. Just handy unmanned sites you can buy anywhere on the geoscape, and that get bombed to bits by passing aliens with some regularity. <Suggested by Winter>

Installer

  • add UFO:AI to the game-explorer for windows vista - see this wiki article for nsis for more information
project-navigation