Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Gigs #13

Open
deathride58 opened this issue Dec 24, 2022 · 0 comments
Open

Gigs #13

deathride58 opened this issue Dec 24, 2022 · 0 comments

Comments

@deathride58
Copy link
Member

As per Citadel Sector XIV's design doc, and as per mentions in #12, gigs should be featured as part of the MVP, as they're a core focus of the intended main game loop.

Gigs should be implemented as entities, and like contracts, these entities should be fairly abstract (the system should, ideally, be a fully viable replacement for SS14's current way of handling antag objectives, on top of being capable of serving the functionality planned down here). Most or all gig behavior, from individual objectives, to handling gig-related landmarks, and more, should be handled as components. Additionally, gigs as entities should be capable of functioning fully independently of contracts, with contracts merely hooking into a gig's events. This should allow gigs to function as a standalone abstract objective handler at it's core.

The major piece of functionality that should be baked into gigs is the tracking of objectives. Fetching a list of objectives and their status should be as straight-forward as possible. Gigs should also have events available for every status update they're capable of tracking, to make it straight-forward for other entities to subscribe to a gig's updates. It should also be possible to construct a predetermined gig entirely through prototypes.

In order for a gig to be eligible for appearing on a captain's job board, that gig should need a component that defines its properties for the job board. A gig prototype created with the intent of being exclusive to a specific antag role should be unable to appear through the job board.

Job boards should be implemented as either a console available at the Citadel, or as a PDA feature. Job boards should be generated and stored through a component (tied to contracts, though they should be capable of functioning on their own), with the payouts, gig weighting based on tags, and more, being determined through that component's properties. Only captains should be allowed to browse the job board, though the player-facing display of job boards should probably be capable of switching between all job boards that the player is granted access to through contracts. When a gig is selected through the job board, it should be properly generated and initialized, and applied to the contract.

On the player-facing side of things, the content of gigs should be safe to kitchen-sink! However, objectives should ideally be kept simple when first implementing the Cit14-specific gig content. Simple objectives like "mine X amount of materials", "deliver X object to Y landmark", or "disable X ship" would be ideal to start off with. Once gigs are fully implemented, contributors should be given the green light to get wild with the system, even before the MVP is achieved.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant