SFTtech / SFTtech/openage

Player sub classes

Open
#842 7 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

lang: c++ to-discuss
Dominant language
Python
Stars
14.4k
Forks
1.3k
PR merge metrics
No merged PRs in 30d

Description

Player: Contains information and operations of game Player

  • Player
    // hint: they should have a different data structure or different operations
    • Human Player
    • AI Player
    • Idle Player (for Gaia or multiple independent Gaias) (or even Gaia Player)
    • Dummy Player (usually provided in many modding environments, eg. used as a bank)

Controller: Takes input from a source (eg. gui, AI) and transforms them into game actions

  • Controller
    // hint: they should have a different input source or different generated game actions
    • Human Controller (gui actions to actions)
    • AI Controller (AI algorithms to actions)
      • Scripted Controller (Combines fixed actions and actions from AI algorithms)
    • Empty Controller (do nothing)
Old post

At some point the class Player will become the base class of something like this

  • Player
    • Human Player
    • AI Player
      • Scripted Player (for campaign like stuff)
    • Idle Player (for Gaia or multiple independent Gaias)
    • Dummy Player (usually provided in many modding environments)

Any suggestions on the topic? different tree? other sub classes?

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No files, tests, or entry points are named. Start by locating the existing Player and Controller definitions and reviewing the unresolved design discussion; done would require an agreed subclass model and its implementation.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
game-dev
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.