3D MAZE

Download
TREDDY 3D MAZE
Introduzione al TREDDY 3D MAZE (by Luca Jibo)
TREDDY 3D MAZE A01 INTRO (Written by Luc
Documento Adobe Acrobat 9.2 MB

OLIVETTI M10 - TANDY - KYOCERA KC85 - VirtualT Emulator

TREDDY 3D MAZE

1991 Luca Jibo & Andrea Donadon (Revenant71)

Rev 2019 by Simone Riminucci & Luca Jibo

 

TREDDY 3D MAZE è probabilmente il miglior labirinto 3D creato per OLIVETTI M10

 

Ideato nel novembre 1991 da Luca Jibo e Andrea DONADON (Revenant71).

Andrea DONADON ha disegnato la grafica e gran parte dei labirinti.

  

Realizzato in sole 3 settimane, senza particolari difficoltà nella stesura del programma. La scrittura del codice si presenta con un estetica e un ordine fra le migliori esibite in linguaggio Basic.

 

 

A questo link una bellissima presentazione video in soli 3 minuti!

https://youtu.be/jctFF6T2EoA

 

Nella descrizione trovate link DOWNLOAD per OLIVETTI M10 e istruzioni 

per INSTALLARE e settare l’emulatore “VirtualT” su Mac o Pc

 

 

TREDDY 3D MAZE è stato una sorta di progetto “defaticante”, scritto ad appena 2 mesi dalla realizzazione di SOCCER MANAGER, gioco per OLIVETTI M10 e suoi fratelli cloni (Tandy Trs-80 model 100/102, Kyocera KC85, Nec Pc-8201/8300) che ha richiesto: 1 mese di progettazione, 3 di programmazione, 1 mese di test e tarature, giocando tornei reali, 1 mese di revisione, 6 mesi in totale di intenso coinvolgimento compreso l’adattamento del 2019 all’emulatore “VirtualT” per Mac e Pc.

 

La grafica è stata ben disegnata su carta millimetrata e anche i labirinti disegnati su carta a quadretti.

 

TREDDY 3D MAZE possiede alcune caratteristiche che all’epoca, nel 1991, lo rendevano unico nel suo genere:

 

-        la possibilità di giocare contemporaneamente in due navigando indipendentemente nello stesso ambiente (!)

 

-        3 livelli/dimensioni dei labirinti (16x16  24x24  32x32) 4 labirinti per ogni livello, 12 in totale!  Mappa totale o parziale con localizzazione.

 

-        opzione “cerca e raccogli la chiave prima di trovare l’uscita”

 

Una caratteristica che lo rende tuttora molto originale è la gestione di ogni schema/labirinto. Qui un esempio del primo livello (=matrice 16x16) con un labirinto selezionato a caso dal programma fra i 4 disponibili per ogni livello:

 

 

 

A sinistra la matrice che lo compone, a destra il risultato estetico con chiavi.
 

Lo “0” indica un quadrato nero non calpestabile, “1” identifica un quadrato accessibile del percorso. IL programma sostituisce un punto “1” della matrice percorribile e assegna il numero “2” se il quadrato contiene una chiave da raccogliere (posizionata casualmente in numero proporzionale al numero di giocatori e al livello di gioco) mentre assegna il numero “3” (unico nello schema) se il quadrato corrisponde all’uscita sostituendo uno zero ai bordi.

 

All’inizio del gioco viene scelto un labirinto a caso fra i 4 disponibili per ogni livello e caricato nella matrice che verrà usata in lettura per tutta la partita.

IL metodo di caricamento è una COMBINAZIONE scelta a caso fra TUTTE LE ROTAZIONI e SPECULARITA’ POSSIBILI.

  

In pratica ogni labirinto è rappresentabile in 8 combinazioni differenti di cui una sola viene usata per ogni singola partita.

 

 

La “R” aiuta a identificare la rotazione rappresentata con o senza specularità.

IL labirinto raffigurato è SEMPRE lo stesso ma viene presentato in maniera diversa per impedire di memorizzarne lo schema!

 

L’uscita viene inserita su un lato scelto a caso e la posizione di partenza è sempre sul lato opposto, entrambe in posizioni casuali nelle rispettive righe e colonne. Osservate nelle figure precedenti l’uscita visibile nel lato opposto al punto di partenza rappresentato da un piccolo quadrato nero in una zona percorribile.

 

Le tecniche per creare queste combinazioni casuali sono semplici: inversione della matrice da X,Y a Y,X e lettura dei dati 0,1,0,0,1 lineare o al contrario!

 

Tutto è calcolato casualmente come evidenziato in queste righe del listato:

-        scelta della direzione lettura dati asse X (riga 905)

-        scelta della direzione lettura dati asse Y (riga 910)

-        scelta della specularità (riga 915) ovvero matrice L(A,B) oppure L(B,A)

 

 

In pratica anche se ci fosse un solo labirinto nel programma, non ci sarebbe mai una partita uguale all’altra, sia per le diverse rotazioni/specularità (ben 8!) sia per l’ingresso e l’uscita casuale sui rispettivi lati opposti.

 

Tenendo conto che i labirinti sono 12 e le combinazioni per ciascuno sono 8 si arriva ad avere in pratica 96 differenti labirinti, ognuno con un punto di partenza e arrivo sempre differente.

In sintesi ci sono virtualmente infinite combinazioni diverse ad ogni partita.

 

Ma la caratteristica che lo rende davvero unico nel suo codice/listato è l’algoritmo di compressione dati implementato da SIMONE RIMINUCCI che riduce la dimensione originale da 26 MB a 13 MB mantenendo perfettamente equivalenti le due versioni senza rinunciare a nessuna caratteristica!

 

Versione 26 MB con labirinti scritti in sequenze dati 0,1,0,0,1…

Versione 13 MB con algoritmo di compressione labirinti di Simone Riminucci

 

 In pratica questo labirinto 16x16:

 

diventa una sola riga di programma!

 

oppure questo labirinto 24x24:

 

si riduce ad una stringa alfanumerica scritta così:

 

l’unica differenza è il tempo di caricamento nella matrice a inizio gioco che aumenta da 4 a 15 secondi a seconda della dimensione del labirinto.

 

 In questa immagine ci sono tutti i 12 labirinti compressi in una singola stringa ciascuno!

Gli autori di TREDDY 3D MAZE nel 1990: Luca Jibo & Andrea Donadon

 

Luca Jibo è l’autore di

 

PARTY GAMES

TREDDY 3D MAZE

SOCCER MANAGER

 

per

 

OLIVETTI M10

 

  

Playlist Video originali Olivetti M10 e “VirtualT” Tandy emulator:

https://www.youtube.com/playlist?list=PLi6FwmkTOrvDtoy84-yqLao5LyncMX9i9

  

Luca Jibo è nato lo stesso giorno di Bill Gates. Ha smesso di programmare all’età di 19 anni

 

TREDDY 3D MAZE on OLIVETTI M10 and “VirtualT” emulator Pc/Mac

Max Speed settings for “VirtualT” Tandy emulator

Check VIDEO and DOWNLOAD from here

 

https://youtu.be/phPccPw_cZE