Skip to content
Ibnus Nahiyan Samit edited this page Apr 30, 2025 · 2 revisions

Steel Ascendant Development Wiki

πŸ“‘ Table of Contents

  1. Project Overview
  2. Project Architecture
  3. Development Guidelines
  4. Additional Resources

Project Overview

Steel Ascendant is a 2.5D boss fight game set in a cyberpunk universe. The game features intense combat mechanics, unique boss encounters, and vertical gameplay using a jetpack system.

Key Features

  • πŸš€ Vertical combat with jetpack mechanics
  • 🎯 Play as the Boss against escalating BNS agents
  • 🎨 Cyberpunk-inspired 2.5D visuals

Technologies Used

Technology Version/Details
Unity 6000.0.32f1
Blender 3D Modeling and UV Unwraping
Substance Painter Texturing 3D Models
Illustrator UI & Background Image Development
Mixamo Character Animation
Rider IDE
C# Programming Language
UIToolkit UI Development

Requirements to Run the Project

  • Unity 6000.0.32f1
  • Git installed (for install package)

πŸ—οΈ Project Architecture

Directory Structure

Assets/
β”œβ”€β”€ AddressableAssetsData/
β”œβ”€β”€ Animations/
β”œβ”€β”€ Art/
β”œβ”€β”€ Audio/
β”œβ”€β”€ Cutscene/
β”œβ”€β”€ Environment/
β”œβ”€β”€ Extra/
β”œβ”€β”€ Font/
β”œβ”€β”€ JMO Assets/
β”œβ”€β”€ Language/
β”œβ”€β”€ Materials/
β”œβ”€β”€ Models/
β”œβ”€β”€ ObjectData/
β”œβ”€β”€ PlayerControls.inputactions
β”œβ”€β”€ Post-Processing/
β”œβ”€β”€ Prefabs/
β”œβ”€β”€ Resources/
β”œβ”€β”€ Scenes/
β”œβ”€β”€ Scripts/
β”‚   β”œβ”€β”€ Animation/
β”‚   β”œβ”€β”€ Audio/
β”‚   β”œβ”€β”€ Camera/
β”‚   β”œβ”€β”€ Characters/
β”‚   β”œβ”€β”€ Combat/
β”‚   β”œβ”€β”€ Dialogue/
β”‚   β”œβ”€β”€ Environment/
β”‚   β”œβ”€β”€ Game/
β”‚   β”œβ”€β”€ Input/
β”‚   β”œβ”€β”€ Interface/
β”‚   β”œβ”€β”€ Scene/
β”‚   β”œβ”€β”€ UI/
β”‚   β”œβ”€β”€ Weapon/
β”œβ”€β”€ Settings/
β”œβ”€β”€ Shaders/
β”œβ”€β”€ Sprite/
β”œβ”€β”€ Textures/
β”œβ”€β”€ UI/
β”œβ”€β”€ UI Toolkit/

Core Systems Implementation

1. Character Systems

  • Boss (Player): Assets/Scripts/Characters/BossController.cs (or similar)
  • Heroes (AI):
    • Assets/Scripts/Characters/HeroAI.cs
  • Hero Base: Assets/Scripts/Characters/Hero.cs

2. Game Management

  • Game Manager: Assets/Scripts/Game/GameManager.cs
  • Level Manager: Assets/Scripts/Game/LevelManager.cs
  • Scene Management:
    • Assets/Scripts/Scene/SceneManager.cs
    • Assets/Scripts/Game/MainMenuLoader.cs
    • Assets/Scripts/Game/SplashScreenLoader.cs
  • Dialogue System
    • Assets/Scripts/Dialogue/DialogueManager.cs

3. Combat Systems

  • Shooting: Assets/Scripts/Combat/ShootingController.cs
  • Health: Assets/Scripts/Combat/Health.cs
  • Special Abilities:
    • Assets/Scripts/Combat/Shield.cs
    • Assets/Scripts/Combat/Dash.cs
  • Projectiles: Assets/Scripts/Combat/Bullet.cs

4. Input System

  • Input Manager: Assets/Scripts/Input/InputManager.cs
  • Input Actions: Assets/PlayerControls.inputactions
  • Input Switching: Assets/Scripts/Input/SwitchInput.cs

5. UI Systems

  • Crosshair: Assets/Scripts/Game/CrossHair.cs
  • HUD: Assets/Scripts/UI/HUD.cs
  • Main Menu: Assets/Scripts/UI/MainMenu.cs
  • Pause Menu: Assets/Scripts/UI/PauseMenu.cs
  • Options Menu: Assets/Scripts/UI/OptionsMenu.cs
  • Level Selection: Assets/Scripts/UI/LevelSelectMenu.cs
  • Game Over Menu: Assets/Scripts/UI/GameOver.cs
  • Game Win Menu: Assets/Scripts/UI/GameWin.cs

6. Audio System

  • Audio Manager: Assets/Scripts/Audio/SoundManager.cs

7. Environment

  • Environmental Scripts: Assets/Scripts/Environment/

8. Animation

  • Animation Controllers: Assets/Scripts/Animation/

9. Camera

  • Cinemachine Target: Assets/Scripts/Camera/

10. Weapon Systems

  • Weapon Data: Assets/Scripts/Weapon/

Code Style

// Class naming convention
public class PlayerController : MonoBehaviour
{
    // Private fields with underscore prefix
    private float _moveSpeed;
    
    // Public properties with PascalCase
    public float Health { get; private set; }
    
    // Method naming convention
    private void HandleMovement()
    {
        // Implementation
    }
}

Best Practices

  1. Component Organization

    • Keep components modular and single-responsibility
    • Implement proper dependency injection
  2. Performance Optimization

    • Use Addressable for Scene loading
    • Implement proper memory management
    • Optimize physics calculations
  3. Debugging

    • Use Unity's Debug.Log for development

Version Control

  • Branch naming: feature/, bugfix/, hotfix/

Asset Guidelines

  • Naming conventions
  • File organization
  • Import settings

Code Standards

  • C# coding conventions
  • Unity-specific best practices
  • Documentation requirements
  • Performance considerations

πŸ“š Additional Resources

Documentation