I've written up a first draft of my Summer of Code proposal, "Google Summer of Code Proposal: Extending “Light and Shadow” Gameplay and Functionality", and would appreciate any feedback! Please let me know if you think the pacing of the schedule needs work, if the priorities of tasks needs to be changed, or if you have any other feature requests for it!
--
EDIT:
First draft: https://docs.google.com/document/d/1pWsCea_bn8l7agVbbI2ZIfo2eu9oHhfdbdin7gPWjoo/edit?usp=sharing
Second draft: https://docs.google.com/document/d/1lbCFbu3Ya4Iy9_dHlvXHd4tse3bvc7GTxHERnkVpmBI/edit?usp=sharing
Third draft: https://docs.google.com/document/d/1jCgZtg78jGBTu3KNzxFbrDIJ0beEWK-dzr-53P_JN5o/edit?usp=sharing
--
Also putting goals and timeline here in spoiler tags, if people want to review those separately:
Goals:
Timeline:
--
EDIT:
First draft: https://docs.google.com/document/d/1pWsCea_bn8l7agVbbI2ZIfo2eu9oHhfdbdin7gPWjoo/edit?usp=sharing
Second draft: https://docs.google.com/document/d/1lbCFbu3Ya4Iy9_dHlvXHd4tse3bvc7GTxHERnkVpmBI/edit?usp=sharing
Third draft: https://docs.google.com/document/d/1jCgZtg78jGBTu3KNzxFbrDIJ0beEWK-dzr-53P_JN5o/edit?usp=sharing
--
Also putting goals and timeline here in spoiler tags, if people want to review those separately:
Goals:
Core Gameplay
- Capture-the-Flag (CTF) gameplay mechanic -- Players will compete to capture a relevant “McGuffin” (ex. flag) from the other team’s base, and return it to their starting base. Alternatively, the goal can be to kill the enemy faction’s king who resides within the enemy’s base. When a player satisfies this goal their faction wins the round, and the level will be reset
- Factions -- Players, NPCs, and other relevant in-game objects will be given divided into factions (red, black, unaligned). Factions will determine the team of the player and the player’s starting base.
- Bases -- Each faction will have its own base that must be defended from other factions.
- Scoring -- Score is determined by the number of successful flag captures made by each faction
- Map / Level Design -- The level(s) will consist of a finite, somewhat symmetrical world with bases placed at either end. The world will have varying terrain features that can help/hinder players
- Flora and tree generation -- Replace current generated flora and tree assets with themed assets (ex. card-based flora, board game-based trees)
- Players can choose their own faction (ex. from menu or in-game dialog)
- Faction conversion -- Unaligned items can be “taken over” by players to convert them to the same faction as players. This provides some benefit to the player’s faction (ex. converting unaligned flora to faction-specific flora produces faction-friendly NPCs)
- Destructible bases -- Bases and other base buildings / items in the base (ex. turrets) can be damaged by the opposing faction
- Base building -- Players can add onto their base to help defend it, for instance with guard towers / turrets. This can take advantage of the crafting system as well.
- NPC mobs AI and pathing
- Combat System integration for NPCs -- Player can damage and be damaged by NPCs
- Multiplayer support
- Lobbies
- PvP
- Art Asset Creation -- 3D modeling and animating additional assets for the module
- Additional resources -- Ex. ores, that can be found and extracted by players for crafting (For items? Base modifications?) or glyphs (discussed in the Art forum thread)
- Power -- Players can power elements of their base such as weapons
- Weapons have two varieties, the high-power version of which doesn’t work without power but does much more damage when powered than the regular version does when powered
- Procedurally generated maps -- Placement of base position and terrain varies within certain limits, but level is roughly symmetrical
- Custom map support
- Support for more than two factions
- Quest system integration -- Completion of tasks that benefit your faction are built into quest notifications
- Collection quests (ex. Convert 10 flora to your faction’s side) give some additional benefit to your faction
- Victory condition quests are what must be completed for the player’s faction to win the round
- “White Scepter” item (https://forum.terasology.org/threads/las-light-and-shadow-art-discussion.762/page-3): King of the hill-style item that provides a large benefit to the faction / player holding it
- Currency and Vendors -- Players are given money and / or earn it in game to purchase items
- Items and item trees -- Players start off with helpful items (or buy them) and can craft them into better items (ex. equipment, traps)
- Player Improvements
- Individual scores -- Players get individual scores based on their play, such as time with the flag, number of items converted, etc.
- Player levels / rankings
- Custom characters -- Players can pick which avatar they want to play as (ex. different chess pieces)
- Skills -- Certain units have certain skills and abilities, may have prerequisites to being unlocked (ex. player attaining a certain level)
- Commanding and ordering NPCs
- “Command center” minified map / game board
Timeline:
Pre-GSoC (Apr - May):
- Connect with appropriate mentor(s) and community bonding
- Continue to explore code base through appropriate tutorials and issue fixes
- Evaluate current L&S module, seeing what currently implemented, functional
- Relevant PRs to the current L&S module to fix conflicts with develop and master branches
- Review current information on potential project directions and reach out to community about suggested work on L&S
- Initial map design / generation and soliciting feedback / redesigns
- Initial base designs and implementation (red base and black base)
- Implement factions -- player and other in-game objects (ex. NPCs, flora) given specific faction type (red, black, unaligned)
- Begin implementing CTF gameplay
- Adding faction-specific “McGuffin” (flag) to each base
- Changing flag behavior according to player faction
- Can be picked up by player of opposing faction
- Dropped on player death
- When dropped, can be picked up by opposing faction player (added to inventory) or friendly faction player (moved back to spawn point in base)
- Finish implementing CTF gameplay
- Players score when the flag is returned to base
- Level resets on player score
- Implement score and score UI
- End of milestone 1 -- all Core Gameplay mechanics completed
- Begin base building implementation
- Evaluate what additional buildings can be placed within the world and how to craft them (ex. guard towers)
- Begin design / implementation of additional base buildings
- First evaluation
- Continue base building implementation
- Create and implement weapons that can be added to bases / additional base buildings
- Set up a system for allowing bases to be destructible (and repairable)
- Rework flora / tree generation with new L&S-specific assets
- Implement NPC mob spawning, pathing, combat
- Implement NPC AI -- Reactions to opposing faction NPCs, reactions to opposing faction players, reactions to opposing faction bases / buildings
- Create mechanic (ex. specific tool) for player to perform faction conversion (ex. convert unaligned flora to faction-specific flora)
- Determine and implement benefit from faction conversion
- Create and implement “lobby box” for player to choose faction
- End of Milestone 2 -- all secondary goals completed
- Second evaluation
- Implement basics of resource-gathering mechanic (ore)
- Implement basics of power mechanic (ore needed to generate power, which improves weapons)
- Implement individual player scores / rankings / level based on ingame performance
- Implement wearable equipment and equipment crafting / upgrades
- Evaluate current multiplayer support and provide fixes to easy problems, document larger problems
- Investigate procedural map and custom map implementation. Provide as much of a solution as can be developed in this time; document what still needs to be done
- Final additions and code review
- Completing additional documentation and comments where necessary
- Evaluating and documenting what goals were completed, what still needs to be done overall
- End of Milestone 3 -- stretch goals either completed or documented as future possibilities
- Final evaluation
- Final code submission and project summary
Last edited: