1

Learning Phase Result

I've learned a lot over the last little while about how to use Unity, and some of the software architecture patterns that are used in games.

Where I ended up in terms of functionality:

  • Hexagonal, procedurally generated map
  • First person controller
  • Third person controller
  • Unit spawning, path finding
  • Save/Load Maps

2

Concepts I understand enough now to get by:

  • Textures
  • Unity Lifecycle handlers
  • Camera objects and controllers
  • General UI design elements provided out-of-box by Unity
  • How randomness is used to create more pleasing graphics
  • Why a custom rendering pipeline is important
  • Ray casting works

Beyond this, I think I'll take my usual approach of learning how to do something when I decide I need to know how to do it!

Design

It's finally time for me to start writing down the concept and deciding on some base elements of the game... I've got a lot of ideas, and honestly I think it's all too much.

At the core, the mechanism I want to implement is the ability for the player to 'program' an AI that ends up playing the game on the players behalf. I want the game to PvP focused, allowing players to invade other player's bases in some way. This therefore means that there's a base-building component to the game. There should then be a way to gather resources, or macro manage the base. The micro-management I'd like to be less of a Starcraft experience and heavily relying on the programming aspect, where a group of AI's of some sort are configured to work together to concur the environment.

Element brain-dump:

  • Open, procedurally generated, infinite world
  • Crafting progression
  • Backstory: You're an engineer in a wasteland. Program your robots to gather resources, fight enemies and advance your foothold, or be wiped out
  • Rust inspired progression - kill or be killed sort of thing. Start from nothing and work your way to the end of the tech tree before being squashed
  • Have an element of RPG skill progression that spans death, less punishing than Rust
  • Character trees: Focus on robot programming, focus on gunplay or focus on static base elements
  • FPS gameplay
  • Base requires resource upkeep, all loot stored in base
  • Environment has resources to be gather: Trees, Ores to mine, Oil and gases to extract (Each grants XP to personal gathering tree, or bot-gathering tree)
  • Environment has enemies to fight and loot: monsters, NPC players/bases, bosses. Each will respawn at random around the map. (Killing yourself grants personal attack XP, bot kills grant bot-attack XP)

Implementation Plan:

  • FPS Controller and UI starter
  • Add a basic resource to map generation (Trees)
  • Add ability to gather a resource to player controller
  • Add crafting system base
  • Add build system base
  • Add enemy system base
  • Add some basic enemies to map
  • Add base robot crafting recipe
  • Add base system for programming robots

I'm going to go ahead and assume that this plan is going to vastly change, so I'll leave it nice and brief first! For a project that wasn't personal I would put a lot more thought into this, but screw it this is fun!