Planet Invasion
Luka Tsulaia
The goal is to finish single-player turn based strategy game, development of which started in autumn semester of 2018.
The game is about conquering a planet played out as aliens with limited resources. This implies limited resource management also. Graphical direction of the project is pixel-art and low-poly 3D models. You can check last years progress here.
Presentation:
Some screenshots and Images from the last year:
Planet Art
Control Room Environment
Example of UI
Objectives for this semester:
- “Revive” Old project, Upgrade it to Unity v2019.2/v2019.3
- Adjust old prefabs to make good use of new Prefab workflow. More details on this feature in Unity3D Blog post andofficial tutorial video
- Redesign UI system and ingame state system
- Have simple AI system to play against the player
- Fix existing game mechanics as needed
- To have all the Tech Tree descriptions and results (it was partly done last year)
- To have all the descriptions and results of the actions/cards (it was partly done last year)
- Have "News Reports" system as a feedback for player actions
- Have Clearly defined Start/Endgame
- Have at least 2 iterations of the game to test the "fun factor"
Optional
- Have some kind analytics system for gathering analytics from players
- Heuristics/Rules based AI system
- More than one endgame scenarios/winning conditions
- Redesign UI/UX to better use the space and make game flow more intuitive
- Improve UI Color palette (now it is not consistent)
- Add some animations to existing environment
Milestone 1 (27.09)
- Porting old project to Unity v2019.2.x
- Going through old code, refactoring game state system
- Adjusting old resources to new Prefab workflow
For this milestone I've updated Project to 2019.2.6f1. Some packages from asset store and package manager needed upgrade as well. Now Project is runnable with newer version of Unity. There have been some problems with generating level meshes which were simply solved by installing Blender.
I've re-arranged prefabs so that they are now properly nested in each other:
The State System refactoring was a bit trickier. After closer inspection I decided to drop the legacy system altogether and replace it with open source package found here. Main reasoning to do so it that existing system isn't too rigid. It doesn't support keeping the stack of previously opened states. Neither does it support any kind of UI popup mechanism. Instead of keeping UI management and ingame State Management separate, I’ll merge into one.
Milestone 2 (11.10)
MISSED
Milestone 3 (25.10)
- Integrating new UI management system and replacing existing state system with it.
- Writing (as needed) and entering descriptions of actions and tech tree
Results:
- New UI system is now part of the project. I’m still working on moving existing system to new one. Simultaneously I’m pinning down exact graph of transitions
- Some transitions were not obvious, for example jumping to description of tech tree from the results window
- Descriptions for first part of the tech: Attach:planet-invasion-tech.rtf
Some thoughts on descriptions:
- Style of descriptions should be more or less the same. At the moment it’s still mixed bag
- Main approach of is to sound “Sciency”
- They should be not that long, not very short either
- Since there are no other elements, descriptions create the main chunk of the story and atmosphere
- Mentioning “Main Engineer” in one of the tech descriptions had kind of grounding effect
- Consulting with copywriters might speed up the work?
Other Considerations
- Should Player actions have % of failing? If yes, should that be displayed?
- Hard Counters to player actions by AI?
- Decrease effect of resource gathering actions by AI?
- Randomization of gathering actions? Or fixed?
Milestone 4 (8.11)
- Implement dummy AI Code
- Implement "News Reports” system
- Game should be playable at this point
- Further refining and adding of descriptions
Results:
- Added dummy AI code which just chooses to defend some country (blocks player attack), or generate money
- Game now is playable, new state system is fully integrated
- added some descriptions of the action cards
- Added Reports View:
There will be different style of entries for different kind of events. I would assume that adding some kind of icons or images would improve readability as well.
Minor Internal changes:
- Removed Console Pro (Package had issues with current iteration of the editor)
- Added DOTween Free
- Completely removed old state system
Milestone 5 (22.11)
- Improve color palette of UI
- Add minimum amount of feedback to the actions (simple UI animations)
- Further adding of action cards
- Further refining and adding of descriptions
- Add first endgame scenario (winning by eliminating strength of the countries)
- Starting to translate existing descriptions to Estonian for Robotex event
- Bugfixing for Robotex event
Color Palette: For color scheme selection there are variety of different resources, but most of them lack the "preview" functionality. After doing some research, here is some list of most useful resources I've found:
Practical tips on designing UI color scheme: https://refactoringui.com/previews/building-your-color-palette/ Predesigned color scheme list: https://flatuicolors.com/ For checking out selected color scheme: https://cloudflare.design/color/
I've selected the color scheme and will apply through all the screens in the game for the next iteration: $cloudy-blue: #adc1da; $dormitory: #5d73a8; $seaborne: #7aa5cb; $siyah-black: #1d1e19; $american-blue: #3e3d6d; $folkstone-grey: #63677c; $china-blue: #516278; $dark-engine: #3f3f42; $biro-blue: #313c47; $planetarium: #236fa5;
UI changes: Previously selection cards had a shadow and on outline effect on mouse hower. However they didn't look good because of the implementation of the shadow in Unity. I've updated the shadows using additional sprites and now they look better.
Mechanics: Have added "Attack all countries" card and first game over scenario
Milestone 6 (06.12)
- Evaluate results from user testing at Robotex
- Implement the color changes for overall project
- Do the balancing
I've changed overall design, now it's more consistent. Icons are now used for cards.
Comparison of old and new card design:
New design of map:
New card selection view:
Secondary changes:
- Added localization support with synced Google doc document
- Changed UI system (AGAIN)
File used for balancing the game: Attach:planet-invasion-action-cost.xlsx
Thoughts for future:
- Trying different layouts to present information
- Building more complicate tech tree
- Incorporating story elements using variables
- Having feedback (custom sound effects, camera shake) on getting "damage"
Final Build
Video Demo:
Final Build: https://drive.google.com/file/d/1FxfO-hztsSetg5aZw9q5bFFY20lMqjGa/view?usp=sharing