| name | game-programming-languages |
| version | 2.0.0 |
| description | Game programming languages - C#, C++, GDScript. Learn syntax, patterns,
and engine-specific idioms for professional game development.
|
| sasmp_version | 1.3.0 |
| bonded_agent | 02-game-programmer |
| bond_type | PRIMARY_BOND |
| parameters | [{"name":"language","type":"string","required":false,"validation":{"enum":["csharp","cpp","gdscript","rust","lua"]}},{"name":"engine","type":"string","required":false,"validation":{"enum":["unity","unreal","godot","custom"]}}] |
| retry_policy | {"enabled":true,"max_attempts":3,"backoff":"exponential"} |
| observability | {"log_events":["start","complete","error"],"metrics":["code_quality_score","compilation_time"]} |
Game Programming Languages
C# (Unity)
Easiest to learn, most used for game dev
public class GameEntity : MonoBehaviour
{
[SerializeField] private float _speed = 5f;
[SerializeField] private int _health = 100;
public event Action<int> OnHealthChanged;
public event Action OnDeath;
private Rigidbody _rb;
private bool _isInitialized;
private void Awake()
{
_rb = GetComponent<Rigidbody>();
_isInitialized = true;
}
public void TakeDamage(int amount)
{
if (!_isInitialized) return;
_health = Mathf.Max(0, _health - amount);
OnHealthChanged?.Invoke(_health);
if (_health <= 0)
OnDeath?.Invoke();
}
}
Key Features:
- Object-oriented, managed memory
- LINQ for data queries
- Coroutines for async game logic
- Events and delegates
- Garbage collection (requires optimization)
Learning Path: 2-3 weeks basics, 2-3 months mastery
C++ (Unreal Engine)
Most powerful,