Project Crawler – Technical Assessment
The following game, denoted with the alias “Project Crawler,” is a Roblox tower-defense game. This technical assessment aims to diagnose the prerequisites for such a game to exist on the Roblox platform. A detailed exploration of the idea can be found here.
Directory of Contents
Types
String
“This is a string.”
Integer
1, 2, 3, 4, 5…
Float
3.14, 1.5, 2.8, 9.7734…
Reference, short “Ref”
Reference to a game asset, website, etc…
Enumerations, short “Enum”
Enumerations are pre-defined finite values that a variable can have.
Rarity
| Enumerations | Abundance - 100% |
|---|---|
| COMMON | Most abundant - 70% |
| UNCOMMON | 15% |
| RARE | 8% |
| EPIC | 3% |
| LEGENDARY | 0.9% |
| MYTHIC - Dungeons | Least abundant - 0.1% |
Hostility
| Enumerations | Likelihood to attack |
|---|---|
| PASSIVE | None even if provoked |
| TRIGGERED | Will if provoked |
| HOSTILE | Will without provoking |
Fighting Style
| Low Distance | High Distance | |
|---|---|---|
| Physical | PL | PH |
| Magic | ML | MH |
Classes
| Class | Fighting Style |
|---|---|
| Tank | PL or PH |
| Damage | ANY |
| Mage | ML or MH |
| Support | ANY |
Luck
Float-based type that is bounded by low of 0, high of 1 and can be any real number.
A luck of 0 has a 0% chance of happening. A luck of 1 has a 100% chance of happening.
Items
Basic Properties:
Weaponry
Inherited basic properties from Items
Additional properties:
- Damage: Integer
Characters
Basic Properties:
- Name: String
- Description: String
- Graphic: Ref
- Rarity: Enum
- HP: Integer
- Fighting Style: Enum
- Class: Class
- Abilities: Enum[]
- Towers: Enum[]
- Damage: Integer
- Luck: Luck
NPCs
Inherited basic properties from Characters
Additional properties:
- Hostility: Enum
Enemies
Inherited basic properties from Characters
Waves
- Gets harder after each one
- More enemies
- More difficult enemies
- More varied enemies
Map design
- Detailed area
- Not overcrowded
- Ambience
- Sound (during build phase)
- Becomes more intense on boss wave
- Dim lighting (light splotches)
- Relatively large
- Clear path
- Clear path for enemies
- Path diverging
The Objective
- Multiple entrys for enemies
- Pathfinding algorithm
Traps
- Map part that you can give you advantage by killing enemies
- Generic but can change depending on map
Character selection
- Before the waves