Best ways to track feature implementations and changes to a project?

So im struggling to find a good way to track changes and feature implementations to my project. The way I do things is in my design document I have a list of variables that I want the programmer to implement in the game, that way I can change things myself and customize/tweak things to my liking without having to have them do it, it looks like this:

This is taken from my design document


  • VehicleName[String] - [Implemented, Working]

  • VehicleID[String] - [Implemented, Working] - The ID is just a hardcoded name for something whose name will change in game by the player.

  • VehicleType[Dropdown - Automobile, Seacraft, Locomotive, Aircraft] - [Implemented, Working]

  • VehicleIsSiteVehicle[Checkbox] - If checked, vehicle can be bought from the vehicle market but can only be used in buildings and cannot deliver cargo to other cities.

  • MaximumAmountAllowedToOwn[Int] - The maximum amount of this vehicle the player can own. A value of 0 means there is no limit. This will mainly apply to special vehicles where only a few exist in the world.

  • VehicleCallSign[String] - [New] - This is a callsign for the vehicle, it has to be unique, the player cannot, for example have 2 vehicles with a callsign of A42-363, or whatever they want it to be. - Added 2/9/2020

  • Cost[Float]

  • VehicleSellValueReductionAmount[Float]

  • **ReduceVehicleSellValueAfterDistance[Float] **

  • HasInfiniteRange[Checkbox]

  • HasInfiniteFuelCapacity[Checkbox]

  • VehicleDescription[String]

  • VehicleImageSide[Texture] - The side view may be removed if travel screens never come back.

  • VehicleImageTop[Texture]

  • VehicleTopViewSpriteSize[Float]

  • VehicleMaintenanceBuilding[Array] - Vehicles must be stationed in a building to repair parts, this array specifies which building(s) this vehicle must be at.

    • BuildingNameOrID[String] - This is probably unnecessary since buildings already have an array of vehicles that are only allowed there.

  • VehicleNecessaryParts[Map] - The absolute minimum parts this vehicle needs to function.

    • Amount[Int]

    • PartNameOrID[String]

  • NeededEmployeeJobTitles[Array]

    • JobTitle[Dropdown]

    • EmployeesAmount[Int]

  • ReducePartMarketCostByPercent[Float]

  • SlotsUsed[Float] - How many cargo slots this vehicle uses inside of a cargo vehicle big enough to transport it or building/container.

  • CanAppearInMarket[Checkbox]

  • VehicleWeight[Float] - [New] - Added 3/17/2020

  • WeightLimit[Float] - [New] - The max amount of weight this vehicle can carry. - Added 3/17/2020

  • VehicleEquipment[Array] - [New] - What equipment this vehicle can have.

    • EquipmentNameOrID[String]

    • EquipmentLimit[Int]

    • CanUseSelfAsEquipment[Checkbox] - This is mainly for trains. Multiple locomotive engines can be attached together or at different spots in the car link. - Should probably find a better way to implement this.

  • Accidents[Array] - [New]

    • AccidentName[String]

    • Accident message[String]

    • ReducePartHealthByXAmount[Int]

    • ReducePartWearByXAmount[Int]

    • AccidentHappenChance[Float] - The chance this can happen while in transit.

Now there are like 10 more of these lists in the document and also the mechanics and stuff and im trying to find a way to keep track of whats implemented mechanic wise, but also what in the enumeration list above is implemented and weather or not its reflected in the UI. I dont know if anyone else has this problem or not but its really bothering me, is there some software to track feature implementations or something? I use Trello and HackNPlan but I dont want to enter literally over 300 blueprint items onto those sites boards. idk im tryign to get as organiozed as possible here and im kind of struggling.

Keeping track of things is great, but don’t be a slave to your project management process.
Since this doesn’t fit in your usual way of tracking tasks, figure out another way to track it. If you want to check off 300 items, you should use a checklist. Make a spreadsheet, paste in your items, and put an X in a box every time one is completed, then make one task, “Implement vehicle things task descriptive name” and add a link to your spreadsheet.

But with that many items, I have two other thoughts:

  1. Logically group the set of 300 things into a few sub-tasks which can be done independently of each other
  2. Don’t set up 300 design-oriented variables before testnig, set up as few as possible before testing, then test, then reevaluate whether you actually need them.
    Even as a good designer, you’ll end up changing some, throwing out others, and adding more based on your playtests.
    I’ll swear by iterative development, testing & prototyping should happen as soon as possible.