Nel terzo episodio della serie dedicata allo sviluppo di videogiochi in Delphi con Castle Game Engine, il motore di gioco gratuito, open source e cross-platform per giochi 2D e 3D scritto in Object Pascal, entriamo finalmente nel mondo tridimensionale. Nel primo episodio abbiamo configurato l’ambiente e fatto volare il biplano di “FlyDown”; nel secondo episodio abbiamo imparato a organizzare schermate e mondo di gioco con view e viewport.

In questa puntata ci immergiamo nel 3D, lavorando con l’editor visuale, il codice Object Pascal e la documentazione sempre aperta, e con l’aiuto di Claude Code dove serve. 😅

Partiamo dall’editor: creeremo un progetto, aggiungeremo un TCastleViewport 3D con camera, luci e un piano di appoggio, e costruiremo l’arena con le primitive (box, sfere, cilindri). Passeremo poi ai modelli glTF: con TCastleScene caricheremo un modello anche scaricandolo direttamente dall’editor.

Passeremo poi alla parte fisica: TCastleRigidBody e i collider (TCastleBoxCollider per gli oggetti dinamici, TCastleMeshCollider per l’ambiente statico), la simulazione direttamente nell’editor e l’uso di LinearVelocity. Infine si passa al codice: guida da tastiera con Press e Update, spinte con ApplyImpulse, un behavior personalizzato derivato da TCastleBehavior che dà all’oggetto tridimensionale il suo comportamento, la selezione di un oggetto con il mouse tramite TransformUnderMouse e un indicatore 3D di direzione e forza.

Il perimetro esatto della demo lo definiremo in diretta, in base ai tempi: seguiremo un tutorial che è abbastanza ricco e cercheremo di coprirlo per intero, rimandando eventuali approfondimenti alla puntata successiva. 😉

Cosa faremo durante la live

  • Dove eravamo rimasti: riepilogo degli Episodi 1 e 2.
  • L’arena 3D nell’editor: viewport 3D, camera, luci, primitive e navigazione.
  • Modelli glTF: TCastleScene, importazione del modello.
  • Fisica nell’editor: rigid body, collider, simulazione e LinearVelocity.
  • Muovere il personaggio da codice: tastiera, Update, ApplyImpulse.
  • Behavior personalizzato: TCastleBehavior, AddBehavior e FindBehavior.
  • Mouse e indicatore 3D: selezione con TransformUnderMouse, direzione e forza.

Argomenti e tecnologie trattate

  • Castle Game Engine (editor, viewport 3D, camera, luci, scene)
  • Delphi e il linguaggio Object Pascal
  • Modelli 3D glTF e integrazione con Sketchfab
  • Fisica a corpi rigidi (rigid body, collider, impulsi)
  • Behavior, input da tastiera e mouse
  • Sviluppo assistito con Claude Code

Prerequisiti

Conoscenza di base di Delphi o di Object Pascal. Aver seguito il primo e il secondo episodio aiuta, ma non è indispensabile: ogni concetto viene introdotto prima di usarlo, e non servono conoscenze pregresse di grafica 3D.