Short: Arkanoid like PAL game almost finished Author: smregattin@fastwebnet.it (Stefano Maria Regattin) Uploader: smregattin fastwebnet it (Stefano Maria Regattin) Type: game/actio Version: 20230507 Requires: Any Classic Amiga (emulated) Architecture: m68k-amigaos Lord Year 2023, May 7th, Sunday This archive retains an Arkanoid like game named Mattonite and its levels editor named MattoniteEditor. The reason for this upload is the optional use of the game font drawer for the game font if it will not be found into your FONTS: drawer, hopeing that now with this correption the game will run correctly under Amikit! You can put the game drawer anywhere you like but you cannot move the data drawers outside this game drawer. It is better that you install the font for this game, named Data70 just clicking on the InstallFont.Execute icon. I have enclosed in this archive the source codes of this game and of its levels editor, that you can modify or improve with AMOS Professional 2.0; if you create a new game starting from these source codes, let me know via e-mail and don't forget to mention me in your creation. I have enclosed the plain text version of the source codes for those that are interested of these and don't have a copy of AMOS Professional 2.0. The following is a brief description of the levels editor: there is the bricks area, the rainbow area and the gadgets area. In the bricks area you see at start a wall of red bricks. In the rainbow area you see two markers (each composed by an horizontal white line and followed by a horizontal black line) that state the begin and the end of the rainbow to be created. In the gadgets area you find the following buttons: Brick<>Level<>LevelBonus<>Quit Rainbow Load Save Major/Minor line You can click with the LEFT MOUSE BUTTON on an arrow to the right of the brick to change it and successfully drawing it in the bricks area. The arrows to the right of the level and of the level bonus indicator can be clicked either with LEFT or the RIGHT MOUSE BUTTONS to change their values slowly or quickly respectively. The rainbow button permits to create a new rainbow. The arrow key buttons to the right of the rainbow button are to change the position of the current rainbow marker. You can change the position of the rainbow markers using the LEFT or the RIGHT MOUSE BUTTONS for the lower or for the higher respectively, clicking in the rainbow area; the last clicked will became the current one. You can select the marker clicking with the LEFT MOUSE BUTTON on Major or Minor, depending that is active the major marker or the minor marker. First try to load a level with the load button; depending of the successful loading or not of the current level, you can modify an existing level or a new one. When you have done the level, save it with the save button and leave the editor by clicking the Quit button; All this with the LEFT MOUSE BUTTON. Now comes the description of the bonus bricks: ab -> adds a ball in the game field b+ -> adds to you a bar b- -> subs to you a bar b? -> adds or subs to you a bar B+ -> enlarges the bar B- -> reduces the bar B? -> enlarges or reduces the bar D -> duck switch G -> glue switch L+ -> turns on or powerups the laser L- -> powerdowns or turns off the laser L? -> turns on or powerups or powerdowns or turns off the laser N -> jumps to the next level P+ -> adds 100 points P- -> subs 100 points P? -> adds or subs 100 points R+ -> turns on the bottom row R- -> turns off the bottom row R? -> turns on or off the bottom row S+ -> incs the active balls velocity S- -> decs the active balls velocity S? -> incs or decs the active balls velocity V+ -> speedups the bar V- -> slowdowns the bar V? -> speedups or slowdowns the bar X -> the balls bounce no more against the bricks y+ -> pulldowns the bar y- -> pullups the bar y? -> pullups or pulldowns the bar ? -> one of the above bonus bricks randomly selected; if the choice falls on P+, P- or P?, the points added or subtracted are 200 A new feature is the ability by option to show the closest score but greater than yours, choosen from the top hundred (or less) staying, instead showing only the highest score previously recorded. This game was unplayable under WinUAE that emulates an Amiga with a 68040 CPU; so I have added the option slow down correctly the game by enabling the video syncronization. Now you can choose to have coloured bonus bricks instead of the grey ones, for a better recognition of these. Now the game is double buffered! Now the source codes are commented in english! I have created the game music but it gives problems, so it is suspended for now. I have removed the old Mattonite files that were the ones started with MattoniteOld. I have changed the credits' word Developing to Development. I have adapted all for an incoming baddy new entry: the Enemy One; it is not present in the game yet, it will be activated in future game updates. Now is all ready for the Enemy One baddies new entry. Now there is a little piece of music as option for the game. Now the little piece of music is almost correctly repeated. Now the Enemy One passes in game from one side to the other after one minute of playing, it shoots and can be hitted. Now all the problems brought by the Enemy One should be solved, particular attention I have taken for the rotation of this: it rotates clockwise coming from the left and counterclockwise coming from right. Now the better or best score goes correctly with your score if one of this has reached the first place. Removed a bug of the persistence of the image of several deleted bricks during the game: now the situation should be better; there was also an error in the better score updating: now this should be fixed. Removed a bug of the persistence of the hitted bricks redrawing. Removed a bug of the persistence of the firing of the Enemy One after it has been hitted. The Data70 font underscore char has been lowered. Now the boings and the mortal boings can rotate toward left or toward right. The Data70 font underscore char has been lowered. The Data70 font tilde char has been raised. Now you can listen to one of two (boring) music randomly choosen instead of listen to the sound effects. There were a bad sound management for the bricks hitted by the laser ray; now it is correct. If you have choosen to listen to the music and you have entered into a following level, you should hear this instead of erroneous silence. Now the Enemy One bullet velocity is fixed. Now the redrawing of the empty spaces by balls happens no more. Now the bricks are cleared before entering the following level. Now you should leave the game correctly if the Enemy One has hitted the bars several times. I have changed my e-mail in the credits. I have updated the Data70 font. I have reduced the Enemy One bullet speed and I have changed the variable PALLINE in _BARRE. I have disabled the continuous playing of the background motive by the Every instructions, leaving its playing controlled inside the game; now the raw sample of the background motive has been converted (by SamplesMaster, one proggy of mine in italian on AMINET, sorry!) into an IFF sample, the program was already able to load it, this because I have enclosed (and forgotten to use) the IFF samples load routine taken from the SamplesMaster (Again, yes!) source code. I have updated the Internet location of my site in the credits. I have reduced the Enemy One bullet speed to the minimum possible because it was too high; I have aborted the bricks redrawing when you complete or exit the game or you loose a bar. Now if the Enemy One is hitted while it is firing, the firing will be aborted to avoid a division by zero error. Now if you have a ball that has a wide bouncing angle due a bar side hit and you enter a new level, the bouncing angle is reset to the initial state. Now the options requester is graphically at its best! Now the third in game music should be better. Now the bar enlarging is edges bounded. Now the Enemy One bullet speed should be not so high and the third in game music should be played correctly. Corrected a typing error from the credits. Now the third in game music should not give problems. Now the brick explosions shpuld be better. Now the hitted bricks redrawing in no more so annoying. Now is changed a group of colours from light green to orange, then it has been remade the first kind of tiles and it has been inserted a choice request panel for the audio. I have rearranged the game source code eliminating some bugs; now the objects are more visible as the result for the improvements. I have changed the shapes of the two and three hit bricks. I have correpted the bonus and bricks counting screen update. Now the different screen fade effects are sixteen. Now there is the fourth module made by me for the game. Now the bricks drawing after the first game should be performed correctly. Now all the on screen message shoyld not give trails; I have also increased the balls initial speed because on not accellerated AMIGA the movements are too slow. Now all the musics problems should be gone! Added an old med module made by me for the game; improved the three flashing colours. Improved the fourth med module. Redesigned the levels and added one of these. Now the lighting bricks should have a resistence to ball hits from 1 to 8. Added a med module, the sixth. Correpted the bricks redrawing routine and removed the unused array variable IMMAGINIESPLOSIONEMATTONCINI(). I have tested the game on the Amikit distribution I have on my PC and the game stops irreparably searching the Data70 font; so I have lowered the value of the fonts search variable hopeing that the game runs here too! Now the game font loading should be successful under Amikit also! Performed few correptions. Improved the game font search procedure and correpted the text into the second options. Redrawed the brick explosions and created a duration for the no bouncing balls effect. NOTE: The game needs med.library or medplayer.library to play the med modules, otherwise avoid the MUSIC option or the game will crash! At end watch my sites to the following Web addresses: http://www.stefanomaria.altervista.org http://www.esseemmeerre.altervista.org Or look for my sources on: http://www.github.com The following is the same text in italian. Anno Del Signore 2023, maggio 7, domenica Questo archivio contiene un gioco tipo Arkanoid che si chiama Mattonite ed il suo editore dei livelli che si chiama MattoniteEditor. La ragione di questo caricamento è l'uso opzionale del cassetto Fonts del gioco per la fonte del gioco se il gioco non la troverà nel cassetto FONTS:, sperando che ora questo giri correttamente in Amikit! conteggio delle fonti di carattere sperando che ora il gioco parta sotto Amikit. Potere mettere il cassetto di questo gioco dove volete, ma non potete spostare i cassetti dei dati fuori dal cassetto di questo gioco. E' meglio che installate la fonte di caratteri per questo gioco, che si chiama Data70 giusto cliccando sull'icona InstallFont.Execute. Ho incluso in questo archivio i codici sorgenti di questo gioco e del suo editore di livelli, che potete modificare o migliorare con AMOS Professional 2.0; se create un nuovo gioco partendo da questi codici sorgenti, fatemelo sapere per posta elettronica e non dimenticate di menzionarmi nella vostra creazione. Ho incluso i codici sorgenti in formato testo per quelli che sono interessati a questi e non hanno una copia di AMOS Professional 2.0. Quella che segue è una breve descrizione dell'editore di livelli: C'è l'area dei mattoni, l'area dell'arcobaleno (rainbow) e l'area dei bottoni. Nell'area dei mattoni si vede all'inizio un muro di mattoni rossi. Nell'area dell'arcobaleno si vedono due marcatori (ognuno formato da una linea bianca e da una linea nera orizzontali) che indicano l'inizio e la fine dell'arcobaleno che verrà creato. Nell'area dei bottoni trovate i seguenti pulsanti: Mattone<>Livello<>BonusLivello<>Quit(esci) Rainbow(arcobaleno) Load(carica) Save(salva) Major/Minor line(linea maggiore/minore) Potete cliccare con il TASTO SINISTRO DEL MOUSE su una freccia a destra del mattone per cambiarlo e per disegnarlo con nell'area dei mattoni. Le frecce alla destra degli indicatori del livello e del bonus per lo stesso possono essere cliccate con il TASTO SINISTRO O DESTRO DEL MOUSE per cambiarne i valori rispettivamente in modo lento o veloce. Il pulsante Rainbow permette di creare un nuovo arcobaleno. I tasti freccia alla destra del pulsante Rainbow sono per cambiare la posizione del marcatore corrente. Potete cambiare la posizione dei marcatori dell'arcobaleno usando i TASTI SINISTRO E DESTRO DEL MOUSE per il più in basso e per quello più in altorispettivamente, cliccando nell'area dell'arcobaleno; l'ultimo cliccato sarà quello attivo. Potete selezionare il marcatore cliccando con il TASTO SINISTRO DEL MOUSE su Major o Minor, a seconda che sia attivo il marcatore maggiore o quello minore. Per prima cosa provate a caricare un livello con il pulsante Load; a seconda che ci riusciate o meno, potete modificare un livello esistente od uno nuovo. Quando avete finito il livello, salvatelo con il pulsante Save ed uscite dall'editore cliccando il pulsante Quit; tutto cio' il TASTO SINISTRO DEL MOUSE. Ora segue la descrizione dei mattoncini di potenziamento: ab -> aggiunge una pallina nel campo di gioco b+ -> ti dà una barra b- -> ti toglie una barra b? -> ti dà o ti toglie una barra B+ -> allarga la barra B- -> riduce la barra B? -> allarga o riduce la barra D -> attiva o disattiva il papero G -> attiva o disattiva l'effetto colla L+ -> attiva o potenzia il laser L- -> impoverisce o disattiva il laser L? -> attiva o potenzia o impoverisce o disattiva il laser N -> salta al livello successivo P+ -> ti dà 100 punti P- -> ti toglie 100 punti P? -> ti dà o ti toglie 100 punti R+ -> attiva la riga in basso R- -> disattiva la riga in basso R? -> attiva o disattiva la riga in basso S+ -> aumenta la velocità delle palline attive S- -> riduce la velocità delle palline attive S? -> aumenta o riduce la velocità delle palline attive V+ -> velocizza la barra V- -> rallenta la barra V? -> velocizza o rallenta la barra X -> le palline non rimbalzano più contro i mattoncini y+ -> fa scendere la barra y- -> fa salire la barra y? -> fa salire o scendere la barra ? -> seleziona casualmente uno dei mattoncini di potenziamento precedenti; se la scelta cade su P+, P- or P?, i punti aggiunti o sottratti sono 200 Una nuova caratteristica è la possibilità, con un'opzione, di mostrare il punteggio, preso tra i cento (o meno) presenti, più vicino al vostro punteggio ma maggiore, invece di mostrare il punteggio massimo registrato. Questo gioco era ingiocabile con WinUAE che emula un Amiga con processore 68040; così ho aggiunto un'opzione per rallentarlo correttamente grazie alla abilitazione della sincronizzazione del video. Ora potete scegliere di avere i mattoncini di potenziamento colorati invece di quelli grigi, per un migliore riconoscimento degli stessi. Ora lo schermo del gioco è sdoppiato (Double Buffer)! Ora i codici sorgenti sono commentati in inglese! Ho creato la musica del gioco ma dà troppi problemi, per ora è sospesa. Ho rimosso i file di Mattonite vecchio, cioé tutti quelli che iniziavano con MattoniteOld. Ho cambiato nei crediti la parola Developing in Development. Ho adattato tutto per un nuovo arrivato ostile: il Nemico Uno; non è ancora presente nel gioco, lo sarà nei prossimi aggiornamenti dello stesso. Ora è tutto pronto per l'entrata in gioco dei cattivi Nemico Uno. Ora c'è una musichetta come opzione per il gioco. Ora la musichetta viene più o meno ripetuta correttamente. Ora il Nemico Uno passa sullo schermo dopo un minuto di gioco, spara e può essere colpito. Ora i problemi portati dal Nemico Uno dovrebbero essere risolti, ho preso cura particolare per la rotazione di questo: ruota in senso orario venendo da sinistra ed in senso antiorario venendo da destra. Ora il migliore punteggio relativo o assoluto và correttamente con il punteggio se questo ha raggiunto la prima posizione. Rimosso un baco della persistenza della immagine di alcuni mattoncini cancellati: ora la situazione dovrebbe essere migliore; c'era anche un'errore nell'aggiornamento del miglior punteggio: ora questo dovrebbe essere fissato. Rimosso un baco della persistenza del ridisegno dei mattoncini colpiti. Rimosso un baco nella persistenza dello sparo del Nemico Uno dopo che questo è stato colpito. Abbassato il carattere trattino basso nella fonte di caratteri Data70. Ora i boing ed i boing mortali possono ruotare verso destra o verso sinistra. Abbassato il carattere trattino basso nella fonte di caratteri Data70. Alzato il carattere tilde nella fonte di caratteri Data70. Ora potete ascoltare una di due (noiose) musiche scelte casualmente invece di ascoltare gli effetti sonori. C'era una cattiva gestione del suono dei mattoncini colpiti dal raggio laser; ora la gestione è corretta. Se avete scelto di sentire la musica e siete passati al livello successivo, dovreste sentirla invece di un erroneo silenzio. Ora la velocità del proiettile del Nemico Uno è fissa. Ora il ridisegno dei mattoncini con le palline non avviene più. Ora i mattoncini sono cancellati prima di accedere al livello successivo. Ora dovreste lasciare il gioco correttamente se il Nemico Uno colpisce la barra più volte. Ho modificato il mio indirizzo di posta elettronica nei crediti. Ho aggiornato la fonte di caratteri Data70. Ho ridotto la velocità del proiettile del Nemico Uno e ho rinominato la variabile PALLINE in _BARRE. Ho disabilitato l'esecuzione continua del motivo di sottofondo fatta con le istruzioni Every, lasciando che la sua esecuzione venga controllata internamente dal gioco; ora il suono raw del motivo di sottofondo è stato convertito (con SamplesMaster, uno dei miei programmi su Aminet in italiano) in un suono IFF, il programma era già in grado di caricarlo, questo perché avevo già incluso (e dimenticato di usare) le routine di caricamento del suono IFF prese dal codice sorgente di SamplesMaster (sì, ancora!). Ho aggiornato la locazione su Internet del mio sito nei crediti. Ho ridotto la velocità del proiettile del Nemico Uno al minimo possibile perché era troppo alta; ho annullato il ridisegno dei mattoncini quando completate o uscite dal gioco o perdete una barra. Ora se il Nemico Uno viene colpito mentre sta sparando, lo sparo viene annullato per evitare un'errore di divisione di zero. Ora se avete una pallina che rimbalzava con un'angolo ampio per aver colpito i bordi della barra ed entrate in un nuovo livello, l'angolo di rimbalzo verrà impostato al valore iniziale. Ora il pannello delle opzioni è graficamente al suo meglio! Ora la terza musica per il gioco dovrebbe essere migliore. Ora l'allargamento della barra è ristretto all'area di gioco. Ora la velocità del proiettile del Nemico Uno non dovrebbe essere troppo alta e la terza musica per il gioco dovrebbe venire suonata correttamente. Corretto un'errore di digitazione nei crediti. Ora la terza musica nel gioco non dovrebbe dare più problemi. Ora le esplosioni dei mattoncini dovrebbero errere migliori. Ora il ridisegno dei mattoncini colpiti non è più così fastidioso. Ora è cambiato il gruppo di colori verde chiaro in arancione, poi ho ridisegnato il primo tipo di piastrelle e per finire ho aggiunto un pannello per la scelta dell'audio. Ho riarrangiato il codice sorgente del gioco eliminando alcuni bachi; ora gli oggetti sono più visibili per i miglioramenti apportati. Ho cambiato le forme dei mattoncini da colpire due o tre volte. Ho corretto l'aggiornamento dello schermo nel conteggio del bonus e dei mattoncini rimasti. Ora i differenti effetti di dissolvenza dello schermo sono sedici. Ora c'è il quarto modulo fatto da me per il gioco. Ora il ridisegno dei mattoncini dopo la prima partita dovrebbe venire eseguito correttamente. Ora i messaggi sullo schermo non dovrebbero avere più strascichi; ho anche aumentato il valore iniziale della velocità delle palline perché sugli AMIGA non accellerati il movimenti sono troppo lenti. Ora tutti i problemi legati alle musiche dovrebbero essersene andati! Aggiunto un vecchio modulo med fatto da me per il gioco; migliorati i tre colori lampeggianti. Migliorato il quarto modulo med. Ridisegnati i livelli ed aggiunto uno a questi. Ora i mattoncini lampeggianti hanno una resistenza ai colpi delle palline che và da 1 a 8. Aggiunto un modulo med, il sesto. Corretta la routine di ridisegno dei mattoncini ed eliminata la variabile multipla IMMAGINIESPLOSIONEMATTONCINI() che era inutilizzata. Ho provato il gioco nella distribuzione Amikit che ho sul mio PC ed il gioco si blocca irreparabilmente sulla ricerca della fonte Data70; per cui ho ridotto il valore della variabile che conta le fonti sperando che il gioco funzioni anche qui! Ora il caricamento della fonte per il gioco dovrebbe riuscire anche sotto Amikit! Eseguite poche correzioni. Migliorata la procedura di selezione della fonte di caratteri per il gioco e corretto il testo delle opzioni secondarie. Ridisegnate le esplosioni dei mattoncini e creata una durata nel l'effetto del non rimbalzo delle palline. NOTA: il gioco abbisogna la med.library o la medplayer.library per suonare i moduli med, altrimenti evitate l'opzione MUSIC o il gioco si bloccherà! Per finire guardate i miei siti ai seguenti indirizzi Web: http://www.stefanomaria.altervista.org http://www.esseemmeerre.altervista.org o guardate i miei sorgenti su: http://www.github.com Ciao!