Revision as of 18:36, 24 June 2011 by Kildor (talk | contribs) (phalanx crafts)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Git working directory: root

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.


2D artwork

  • [open] We must find GPL'd replacements for a long list of textures. See forum which tracks the changes.
  • [open] Alternate skins for existing civilians, scientists, pilots, etc.
  • [open] We need normalmaps, specular maps, glow maps, etc. for a lot of our existing artwork. See Artwork for more details and use the forums to coordinate work.

3D models (other than maps)

  • [open] We need models for the geoscape indicating specific mission types:
    • [open] Story-related mission
    • [open] Crashed ufo
    • [open] Crashed dropship/interceptor
    • [open] Alien Recon mission
    • [open] Alien XVI mission
    • [open] Alien Harvest mission
    • [open] Alien terror attack
    • [open] Alien base building mission
  • [open] We need various character models that are animated
    • [WIP] Several soldier models with a unified style, in several different armors. Currently being done by Origin and it's best if the models are all built by one author.
    • [open] Civilians in all shapes and sizes
    • [open] Alternate scientists' models/heads
    • [open] Small 1x1 robot to be used as a scout drone
  • [open] Hyperion-class Armed Dropship
  • [open] Human-Alien Hybrid Missile (as aircraft weapon, I think)



Equipment interface and team handling

  • [open] equip screen before mission start, after map load, which will allow to adjust soldiers' equipment after reading mission briefing
    • [done] Allow spawning actors after the map was loaded
  • [WIP] extend team limit from 8 actors to some higher but reasonable value (that includes HUD updating)

Map code

  • [open] code to spawn a light on the map, which will be used for example with flares
    • That code is already there - spawn a server side edict that will spawn a particle for each client where at least one actor can see this edict. you can also use some triggers to use touch functions (to be able to execute different actions as soon as an actor enters a given grid field) --Mattn 19:41, 17 August 2008 (UTC)
  • [open] nextmap mission trigger (to immediately start new map after "finishing" first one) - useful for situations where we need to have a mission with more than 8 levels

LUA driven AI

  • [done] find targets
  • [WIP] shoot targets
  • [open] handle approaching far away enemies or when enemies are not seen
  • [open] better grenade handling
  • [open] hiding
  • [open] civilian ai

Music & Sounds

  • Atmospheric background noise for the missions (the more the better)
  • New music tracks for the geoscape and the battlescape
  • [WIP] Replace sounds from this list with gpled ones

Code Cleanup

  • Reduce sideeffects by global variables
  • Reduce sideeffects by interal cvar usage that is invisible to the caller (using a function should be mean to fully read the function, understand it, and handle the sideeffects)
  • Functions should "only" do what their names imply
  • [done] Every function in src/client/campaign should only be called inside of that dir (except one global init function that is called from cl_game_campaign.c). E.g. a skirmish or multiplayer game shouldn't know anything about techs.
    • once this is done, the game mode code should go into dynamic libraries - like the game.dll we have for tactical missions already.


  • [open] mission briefings at mission selection (to re-equip soldiers and decide whether you want to do that mission or not BEFORE you send your craft)
  • [WIP] Off-base Installations, which can be placed on the geoscape to provide specialised functions
    • [open] Include UFO Yard into uforecovery dialog
    • [done] Distance penalty for disassembling UFOs
    • [open] Transfer UFOs between UFO Yards (The structure can handle this already)
  • [WIP] Generate soldier names depending on their nation of origin. Change team_humans.ufo so it defines names per nation rather than per class. --Cmdrquan 23:11, 15 February 2008 (EDT)
  • [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)
  • [done] Get the mac port ready.
    • [done] The dedicated server seems to work.
    • [done] The mapcompiler is functional as well.
    • [done] The client is still not working though. (Intel works fine, PPC is running, too but has endian bugs)
  • [done] 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.
  • [done]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)


  • [WIP] recode the algorithm medipack works - medipack cannot heal the soldiers so they are full HP after returning to base
    • I'll try to work on this. I propose, as first step, to limit the maximum healable dameage to 2/3 the maximum. I'd like your ideas for further steps. --Alinour 16 Jan 2008
    • I think every HP won during battle with medikits should be lost at the end of the battle: medikit is not permanent healing. IMO, we should count 'real' HP and medikit 'HP' in a separate way, and removing medikit 'HP' after battle (with a minimum of 5 'real' HP if the soldier is not dead during battle to avoid him to die). Healing will then take place in hospital -- Kracken 08:33, 18 January 2008 (CET)
      • The "lost" part aside (which may or may not be a good idea): I think counting the "medikit HPs" is a good idea, we could then even prevent using medikits again and again and again ... which is not really believable if it gets overused IMO. Maybe a discussion in the mailing list is a good idea here though. I think this needs to be designed very carefully so it doesn't get too complex but still remains believable/realistic :) --Hoehrer 16:11, 18 January 2008 (CET)
      • I would make medkits also "run out of charges", eg max 3 uses. Additionally, if "real" HP has dropped to 0 or below, give heavy stats penatlies and/or lower TU to emphasize that the actor is barely holding on and only still fighting because the alternative is death (of course, after the mission ends, set real HP to 1). --Stedevil 06:57, 18 May 2008 (CEST)
    • see also discussion on forum: Medikits--Kracken 16:16, 7 February 2008 (CET)
  • extension container
  • [open] fix/finish equipments
    • [open] fuel pod (aircraft)
      • [open] reduces the operational range instead of increasing it
      • [open] can be equipped to antimatter powered craft and works on it
      • [open] doesn't blind anybody anymore
    • [open] incendiary weapons (incendiary grenade, 25mm IC grenades, IC rocket)
      • [open] fire effect should stay more than one round
      • [open] fire should hurt
    • [open] smoke grenade
      • [open] smoke effect should stay more than one round
      • [open] smoke should decrease visibility (missing Visibility System)

Inventory to team assignment

  • [open] each object that can wear, use, store items should get its own equipment container (that is NOT related to a global linked list)
  • [open] capacity can be calculated for each of the above mentioned equipment container because the all use the same data structure just with a different size
  • [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] 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] soldiers can reequip themselves by using items from aircraft equipment container - but this costs TUs when we are already in the tactical mission
    • [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] destroying an aircraft will destroy its storage as well - as it's an equipment container that is stored in the aircraft_t data
  • [open] adding items to aircraft storage updates aircraft capacity - do not allow to put too many things to aircraft (see the above mentioned capacity function for all the equipment containers)

New equipping menu code

  • Soldier equip menu should not be dependent from any aircraft - equipment should be stored at the soldier and thus only the soldier is needed to equip him (and the storage equipment container of course)
  • Additional option for transfer menu: transfer soldier to another base with (default) OR without equipment assigned to this soldier (just move the soldiers equipment container back into the base the soldier is currently in, or the aircraft the soldier is currently assigned to [if any] in case the base equipment container is full).


  • [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


  • [low priority] [WIP] Add support for MD3 format (Quake 3) into the engine.
    • Frame-based animations supported by format.
    • Static models are supported, animations are still missing IIRC
  • Halflife model (hlmdl) code: [1]
    • Support for skeletal animations by format.
  • Universal model loader information: [2]
  • DPM by Lordhavoc

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.

Pathfinding and Tracing

  • [WIP] Support hovering/flying units
  • [done] Support areas that are only reachable when crouching
  • [open] Support more accurate model tracing to determine pathfinding
  • [open] Support accurate pathfinding for 2x2 actors

Webpage & 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.


  • 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>
  • [WIP] Pilot management (pilot skills) -- Malick
  • [open] "civilian" teams, which can fight against aliens, like soldiers
  • [open] knockdown effect for very damaged soldiers
  • [open] Incorporate UFO_CONDOR (UFO -- Corrupter to the game - we already have model and one map with that UFO
  • [open] Incorporate flare (base/models/weapons/flare/) into the game (scripts entry, UFOpaedia article)
  • [open] Add tutorials