Skip to content

Ventus218/Scala-Game-Engine

Repository files navigation

Scala Game Engine

Logo

Autori

Prova i giochi di esempio!

Space Defender inizio partita Space Defender fine partita

Qui si può trovare l'ultima release, i giochi sono compilati in JAR eseguibili:

  • SpaceDefender.jar
  • StealthGame.jar
  • Trump.jar (Briscola)

Abstract

Si vuole realizzare un semplice game engine. Inoltre verranno realizzati tre giochi diversi, per dimostrare che il framework sia abbastanza general purpose.

Le caratteristiche di base che verranno fornite sono le seguenti:

  • Game loop
  • Supporto a più scene
  • Input e output
  • Design che favorisca l'implementazione all'utilizzatore dei propri oggetti di gioco e relativi comportamenti
  • Componenti built-in pronti all'uso

L'intenzione è quella di utilizzare le seguenti caratteristiche peculiari di scala:

  • Mixin per realizzare quello che normalmente viene implementato con il pattern Component. In modo da fornire una esperienza di sviluppo più intuitiva.
  • DSL per facilitare e rendere più intuitivo il testing dell'engine/game-loop

Componente funzionale del progetto

Siccome si è deciso di sfruttare i mixin che sono un concetto strettamente legato alla programmazione ad oggetti, per permettere la valutazione delle nostre competenze in ambito di programmazione funzionale ci siamo concentrati nell'adottare questo paradigma nella realizzazione dei giochi piuttosto che nel motore di gioco.

Per questo ognuno dei partecipanti al progetto ha realizzato in maniera totalmente autonoma il proprio gioco.

Indice

Documentazione ai giochi sviluppati