| | ___ / | | ___ \
| | | |/ /\ --. | |_/ / __ _ ___ ___ | _| | __/
--. \ | ___ / ` / __|/ _
| | | | /_/ / | |/ / (| _ \ /
_| _| _/ _/ _,|/_|
(Text art Source: http://patorjk.com/software/taag/)
This is boiler-plate code for an open-world first-person shooter game. These scripts work with Unity3D editor 2017.1.1xf1 Ubuntu links below. https://forum.unity3d.com/threads/unity-on-linux-release-notes-and-known-issues.350256/ http://beta.unity3d.com/download/f4fc8fd4067d/public_download.html
Provide compelling gameplay with features borrowed from contemporary FPS games as well as new ideas.
An iterative development cycle will occur at each expansion of this project's scope.
- Tech Demo phase: Base code for new features will be expanded using placeholder assets and content.
- Product phase: Base code will remain largely unchanged, production turning instead toward assets and content.
- Product release: A polished product will be sold. Assets and content may or may not be re-used on next iteration.
| _ \ | | | |
| | | |_____ | | ___ _ __ _ __ ___ ___ _ __ | |
| | | / _ \ \ / / _ \ |/ _ | ' | ' ` _ \ / _ \ ' | |
| |/ / /\ V / / | () | |) | | | | | | / | | | |
|/ _| _/ _|_|_/| ./|| || |_|__|| ||_|
| |
||
0.6.x- Tactical gamemode 0.7.x- Conqeust gamemode
- Transition between ragdoll and up-right states for proper ragdolling.
- Visual hit indicator.
- Arena.cs should replace itself with relevant script upon startup.
- Create TacticalArena.cs
- Allow for multiple rounds, customizable in the menu.
- WeaponPurchase menu (hardcoded values)
- Plantable/Defusable bomb
- Game ends when one team is eliminated or bomb is detonated/defused
- Create ConquestArena.cs
- Control point that changes red, white, or blue according to occupier(s).
- Players choose control point to spawn/respawn at.
- Players choose kit to spawn with.
- Respawns reduce side's reinforcements counter.
- AI attempt to capture command points.
- Discard items from inventory by right-clicking.
- Troubleshoot scroll-views using technique shown in http://answers.unity3d.com/questions/354044/scrollview-notscrolling.html
- Allow right-click functionality for Menu.Button() using technique shown in http://answers.unity3d.com/questions/379163/detect-right-click-on-gui-buttons.html
- Move item between slots in inventory.
- Rock- (Ragdoll or stagger upon headshot)
- Grenade-
- Bow- (Special animations for holding/firing, reusable ammunition)
- Armor- Damage reduction and damage threshold.
- Shield- Large damage threshold.
- Wand- Maps keys to different spells.
- Add/Dismiss follower.
- "Move there" order.
- "Regroup" order.
- Quick Draw slot 1/2/3/4- Equips specified slot.
- Throw item.
- Fireball
- Electric touch(High damage melee.)
- Light beam(Use unity LineRenderer tool)
- Heal self
- Heal other
- Convert stamina to mana
- stamina regen
- Light source
- Give mana- (Establishes link on touch, hold to maintain link.)
- Force field- Create trigger box that converts damage to mana drain.
- Force shield- Magic analogue to shield item. Converts damage to mana drain.
- Force lunge- (Add force in facing direction)
- Force levitate- (negate gravity)
- Max health/stamina/mana buff
- ICEPAWS buff
- Stealth/chameleon
- Force push (With some damage and potentially ragdolling)
- Keep AI from attempting to fire through obstructions.
- Follower AI that protects a leader.
- Formations
- Provide callback argument for AI state transitions.
- Effects(modifies stat)
- Route attack directly to StatHandler.cs
- Perks( Bools that give bonuses when set to true.)
- Make 1-4/D-pad into "quick access" slots that uses an ability's one-shot method.
/ __ \ / ()
| / / ___ _ __ | |_ _ __ _
| | / _ | '_ | | |/ ` |
| _/\ () | | | | | | | (| |
_/_/|| ||| ||_, |
/ |
|/
Contains default kits used in Arena
Contains all maps used in Arena
Contains all items that can be used in user-defined kits.
/ _ \ | | () | | |
/ /\ _ __ | | | | ___ | | _ _ _ __ ___
| _ | '/ _| ' | | __/ _ / | | | | | '/ _
| | | | | | (| | | | | || / (| || || | | | __/
_| |/| ___|| |||__|_|_|_,|_| ___|
global state. SessionEvent.cs- A record for an event to be handled by either the session, arena, or world.
JukeBox.cs- Responsible for loading and playing music from /Resources/Music/
Kit.cs - Contains items to equip and store on an Actor. Loads kits defined in /Resources/Kits.txt configuration file.
CellSaver.cs- Used to automatically create or update /Resources/world.master using open Unity scenes.
Cell.cs- Contains the Actors and Items of a specific Building.cs- A collection of Cells representing rooms in a building. HoloDeck.cs- Creates Holocells to load rooms and contiguous overworld. HoloCell.cs- Renders the items, Actors of a portion of the world. MapRecord.cs- The state of a map with auto-incrementing IDs. Cartographer.cs- Offers a static method that procedurally-generates a new map using the contents of /Resources/world.master
/Quests/- Quest classes inheriting from Quest.cs /Menus/- Menu classes ineriting from Menu.cs MenuManger.cs- Changes the active Menu, handling constructors and some state. /Items/- Item Classes inheriting from Item.cs
EquipSlot.cs- Manages the equipping and use of Actor's weapon slots. PaperDoll.cs- Manages the equipping of the Actor's body with clothes. HitBox.cs- Routes attacks to actor. Inventory.cs- Storage for an Actor's unequipped items. StatHandler.cs- Handles the roleplaying number-crunching of an Actor. SpeechTree.cs- Handles the dialogue state of an NPC Actor. SpeechNode.cs - A single dialogue prompt. Option.cs- A single dialogue option. DeviceManager.cs - Collects input from selected device. ActorInputHandler.cs - Controls Actor according to input from DeviceManager. Damage.cs - A record containing the data of a single attack.