laverdet / xxscreeps

Other
71 stars 16 forks source link

Roadmap / Status / Where & How to contribute #52

Open thmsndk opened 2 years ago

thmsndk commented 2 years ago

This is currently a draft / work in progress.

This is a roadmap & attempt to highlight where you could start contributing to bring xxscreeps to feature parity with the official & private servers

Writing tests to verify the functionality we expect is one of the main places you could contribute. Once the tests are in place you can decide if you want to fully implement them as welll.

See https://github.com/laverdet/xxscreeps#getting-started and https://github.com/laverdet/xxscreeps#contributing as well

example of writing tests

TOC

Game TOC

Status Feature Test Coverage Notes
RCL 0
    Road pathfinder tests with roads
    Container
    Flag
(✔)     construction site lots of tests missing in regards to if a creep can build csites. range, resource, safemode, obstacles RCL and such
RCL 1
    Controller
    Spawn 100 test verifies spawn direction, setting direction, cancel spawning, selecting extensions for energy, renewing TTL, destroy, unclaim
RCL 2
    Extension x 5
    Rampart #35
    ConstructedWall
RCL 3
    Extension x 10
    Tower
RCL 4
    Extension x 20
    Storage
RCL 5
Extension x 30
    Tower x 2
    Link x 2
RCL 6
    Lab x3
    Terminal
    Extractor
    Link x3
    Extension x 40
RCL 7
    Can build 2 spawns
    Can loose structures due to RCL downgrade
    Extension x 50
    Extensions contains 100 capacity
    Factory
    Lab x6
    Tower x 3
    Link x 4
    Spawn x 2
RCL 8
    Extension x 60
    Extensions contains 200 capacity
    Can build 3 spawns
    Nuke
    Nuker
    Lab x10
    Tower x 6
    Observer 100 test verifies observer visibility, range and RCL levels, seems complete
    Link x 6
    Power power is not yet implemented https://github.com/laverdet/xxscreeps/pull/53#issuecomment-993101930, #53
    Power Spawn https://github.com/laverdet/xxscreeps/pull/53#issuecomment-993101930
    PowerCreep https://github.com/laverdet/xxscreeps/pull/53#issuecomment-993101930
    Power Bank https://github.com/laverdet/xxscreeps/pull/53#issuecomment-993101930
    Spawn x 3
Game Api
    Room
    Pathfinder
    Constants
    market
    room visuals The overmind dashboard completely renders, as well as dotted lines and circles.
    map visuals #17
    creep tests following, swapping, but what is swapping second? and swapping fast?, safemode, edge fatique, pull. need to verify if we are missing some test cases. perhaps clarify some of them.
    creep movement An experimental / changed movement implementation has been made
Misc Features
    Tombstone
    Downgrade of RCL #33 should disable structures you can't build like spawn, extension, tower, labs
    Safe Mode #40 adds a bunch of tests in regards to safemode
    inactive buildings extensions, spawns, towers due to RCL downgrades
    GCL Based on the overview, we are not gaining GCL
    Map
    invaders
    construction site stomping
    simultaneous actions simultaneous actions article
    Deposit
    Mineral
    Resource ? tests are present that verify the store works with all resource constants,
    Ruin
    Source
    Source increase on claim/reservation and decrease on expiration/unclaim MMO has sources increase to 3000 on claim, check this.
    InvaderCore strongholds
    Keeper Lair
    Portal
    Event Log #39 project card
    Bots
    caravans
    auth tokens
    multiple shards
    cross shard portals
    WASM
    MODS / hooks Everything is a mod in this implementation, question is if the proper hooks are in place, the backend seems to need a refactor
    ability to override constants

Client Support TOC

Status Feature Test Coverage Notes
Connection with tokens
Connection with username
Market
Market history
market history /api/user/money-history?page=0
Market orders
404 /api/game/market/orders-index
404 /api/game/market/orders?resourceType=energy&shard=null
404 /api/game/market/stats?resourceType=energy&shard=null
Market my orders
404 /api/game/market/my-orders
Decorations
show your decorations 404 /api/user/decorations/inventory
something with your themes? 404 /api/user/decorations/themes
room decorations 404 /api/game/room-decorations?room=W5N8&shard=shard0
room decorations 404 /api/game/room-decorations
room decorations 404 /api/game/room-decorations?shard=shard0
Leaderboard
Messages
show messages 404 /api/user/messages/index
Overview
room overview 404 GET /api/game/room-overview?interval=8&room=W45N17&shard=shard0
get terrain / room rendering 404 /api/game/room-terrain?encoded=true should return error
get terrain 404 /api/game/room-terrain?encoded=true&shard=shard0
GET /api/leaderboard/find?mode=world&username=thmsn returns an empty list
GET /api/leaderboard/find?mode=power&username=thmsn returns an empty list
GET /api/leaderboard/seasons returns empty seasons
Stats https://github.com/laverdet/xxscreeps/projects/1#card-63686778
404 /api/user/overview?interval=8&statName=energyHarvested
toggle steam user profile visibility /api/user/set-steam-visible
Replay Room History 404 GET /room-history?room=W45N17&time=33416800

Backend / Api TOC

Status Feature Test Coverage Notes
map pngs? 404 /assets/map/W9N11.png?etag=nothing
404 /api/game/world-size?shard=null

[CLI] TOC

Status Explanation TOC

Explanation
Done
(✔) Done? - needs verification
Not Done

Notes

This might be interesting to use https://github.com/haadcode/roadmap-generator example: https://github.com/haadcode/roadmap-generator/blob/master/example/ROADMAP.md#implement-new-project-management-model