Amiga Blast Magazine #4
LEGGI ORIGINALE
SCARICA ORIGINALE
Benvenuti al quarto numero di Amiga Blast.
In questo numero troverete tantissime novità ed anche delle belle recensioni.
Contribuite anche voi ad Amiga Blast (Vedere Come Contribuire ad Amiga Blast )
Ora navigate nella rivista.
Stiamo Crescendo
L’Orgoglio Di Essere Tra I Più Grandi (Parte 4)
L’Amiga meglio di un PC o un Mac? Probabilmente. (Parte 4)
Continuiamo con le tecniche di Texture Mapping
Implementiamo le TagLists in Blitz Basic.
Basi di OOP e sue implementazioni in AmigaE (Parte 3)
Uniamo la grafica 3D a quella 2D.
Recensioni
Un programma di drawing 2D e di Image Processing.
Ecco come creare titoli multimediali facilmente.
Un gioco di strategia e astuzia.
Un Authoring System per creare avventure grafiche.
L’Angolo Su VISCorp
Che ruolo giocherà VISCorp nel futuro di Amiga?
NOTA BENE
Tutto il materiale in quesa rivista e’ di Pubblico Dominio, potrete quindi scaricarvi: grafica, sorgenti e usarli per i vostri giochi o i vostri programmi!!!
Gli articoli rimarranno però (C)Copyright di Amiga Blast!
L’Opinione dell’Editore
STIAMO CRESCENDO
Amiga ha avuto e sempre avrà una storia singolare, anomala rispetto a quella di tutti gli altri computer: l’utente Amiga è sempre stato diverso rispetto agli utenti di altre macchine. Chi usa Amiga conosce profondamente la sua macchina e quello che essa nasconde “sotto” il case, sa come funzionano molte parti del Sistema Operativo e, cosa più importante, cerca di programmare qualcosa.
Non è un caso che Aminet sua la più grande banca dati di programmi di pubblico dominio del mondo: chi ama Amiga programma per passione e desidera che il maggior numero di utenti sfruttino i loro programmi: ed è anche per questo che ormai il parco software PD e Shareware è ricco di produzioni di livello professionale, acquistabili per poco e che su altre piattaforme costerebbero anche quattro/cinque volte di più.
Le iniziative degli utenti Amiga non si limitano alla creazione di software: riviste (come anche Amiga Blast), produzioni, gruppi di discussione e tante altre novità sono sempre all’ordine del giorno.
Ed anche qui in Italia, la scena Amiga sta crescendo considerevolmente.
E’ da poco nato, ma crese rapidamente, l’AGI, Amiga Group Italia, che si pone come scopo la creazione di una “rete” di supporto per gli utenti Amiga, un luogo di incontro per gli sviluppatori e gli utilizzatori, ma anche un punto di riferimento per coloro che stanno cercando aiuto e informazioni.
Già in molte città esiste una “filiale” di AGI, e in molte altre verrà presto aperta. Noi della redazione di Amiga Blast ci stiamo anche occupando di creare un punto di riferimento WWW con tutti gli indirizzi degli sviluppatori Amiga sia in Italia che all’estero.
Amiga sta crescendo ancora. E continuerà a crescere, anche in luce delle ottime notizie che ormai continuano a giungere da più parti sul futuro della nostra amatissima macchina.
L’Orgoglio Di Essere Tra I Più Grandi (Parte 4)
Nel Tempio Della Instabilità
Il miglior modo di giudicare un Sistema Operativo è di valutare l’affidabilità delle applicazioni create per esso. La produttività non è data solo dalla complessità di un determinato programma, ma da quanto questo possa essere effettivamente utilizzato produttivamente.
Più complessi sono i programmi, maggiore è la possibilità che nascondano errori. Più solido è il Sistema Operativo, minori sono le possibilità che questi errori possano causare un blocco completo della macchina.
In fondo, l’utilizzo a livello professionale di un computer si limita a questo: ad utilizzare un computer per elaborare e creare informazioni, cercando di evitare di dover fare il lavoro due volte, nel caso di situazioni critiche.
Per le nostre analisi, valuteremo effettivamente “su strada” un genere di programmi molto in uso sia su Amiga che nel mondo PC: i Word Processor.
Microsoft Word Per Windows (Versione 7)
Non si poteva che analizzare questo pacchetto di videoscrittura, essendo il più diffuso e apprezzato. La versione 7 di Word non presenta particolari novità rispetto alla precedente, se non la gestione dei nomi estesi (a proposito, sapete come gestisce i nomi estesi Windows?) e la completa ricompilazione a 32 Bit (anche se non so bene questo che cosa possa significare).
Una delle maggiori pecche di Word è la perdita di memoria mentre esegue numerose operazioni (ad esempio tramite una macro). Personalmente, ho visto spessissimo Word bloccarsi perchè non aveva più memoria a sufficienza per continuare a lavorare: operazioni massicce di taglia e incolla possono effettivamente portare ad una notevole perdita di memoria… e la gestione “ottimizzata” della memoria da parte di Windows, certo non aiuta.
Chi utilizza Word per lavorare tutto il giorno, è costretto a uscire da Windows periodicamente per permettere un refresh completo della memoria.
Naturalmente questo incide notevolmente nella produttività finale.
Una seconda considerazione andrebbe fatta sull’effettivo utilizzo dei moltissimi tool offerti da Word: personalmente conosco solo un decimo della reale capacità del programma, poichè molte delle sue funzioni non mi servono praticamente mai. Tutte queste funzioni, però, ci sono e “pesano” sul Sistema stesso, e noi siamo costretti ad acquistare macchine potenti e ricche di memoria.
In conclusione, ritengo Word un buon pacchetto… un po’ troppo pompato dal punto di vista delle prestazioni… molte delle quali sicuramente inutili. Quando avevo Word 2 per Windows, le cose erano meno complicate, con meno problemi e richiedeva sicuramente una macchina con meno potenza.
Final Writer 4 per Amiga
Final Writer è un prodotto scritto da Softwood, un pacchetto di videoscrittura piccolo, versatile e molto potente. Con “piccolo” non intendevo dire che le sue capacità siano inferiori a quelle di Word, ma che non richede super macchine per funzionare. La versione 4 di Final Writer è robustissima, non ho mai incontrato alcun problema nell’utilizzarla, nè mai i miei script ARexx sono riusciti a bloccare il Sistema.
Probabilmente, Final Writer non presenta tutte le capacità e le funzioni offerte dal prodotto Microsoft, ma quelle essenziali ci sono veramente tutte e poi, con un sistema multitasking come è Amiga, è comunque sempre possibile caricare un programma di grafica di interfacciare con Final Writer, oppure si puo’ sempre creare un programma in ARexx che esegua delle operazioni molto complesse.
In definitiva, Final Writer non è un programma pieno di “chicche” come lo è Word, ma, sul lungo termine, si rivela senza dubbio essere molto più versatile, potente ed espandibile.
L’articolo di questo mese si conclude qui. Pensate alle migliaia di applicazioni che esistono per Windows che non fanno nemmeno la metà delle operazioni possibili dalle controparti software per Amiga… eppure costano dieci volte tanto. Oppure guardate le applicazioni come Word, ultra pompati, ma decisamente inutili se non si possiede una macchina particolarmente potente e comunque, fermi e rigidi nella loro inespandibilità. Dall’altra parte ci sono i programmi per Amiga, semplici, compatti, veloci e molto potenti ed economici.
Come al solito, alla qualità non corrisponde il prezzo, o meglio… la qualità non sta quasi mai dalla parte di Microsoft.
FILLED VECTORS (PARTE 3)
CLIPPING
Viene usato quando una faccia esce dalla zona visibile dello screen. Con questa routine e’ possibile disegnare solo i pezzi del poligono interni allo screen ed eliminare quelli esterni.
Esempio:
Poligono da disegnare :
/\ / \ / \ / \ / \ \ / \ / \ / \ / \/Schermo:
+---------+ | | | | | | | | | | | | | | | | +---------+Somma:
/\ / \ +/----\---+ / \ | /| \ | \| / | \ / | |\ / | | \ / | | \/ | | | +---------+Uso del clipping:
+/----\---+ / \ | | \ | | / | \ / | |\ / | | \ / | | \/ | | | +---------+Per tagliare le parti esterne allo screen e’ necessario prendere in considerazione una linea del poligono alla volta, controllare le coordinate dei 2 punti e, nel caso in cui solo un punto esca dallo screen, calcolare le intersezioni con lo screen.
Esistono alcuni casi in cui e’ inutile disegnare una linea:
- entrambi i punti escono dallo screen
- la linea e’ orizzontale
Se la linea e’ orizzontale e’ inutile disegnarla, facciamo un esempio pratico:
---------- | | | | | | | | | | | | ----------Il blitter riempe una zona di memoria iniziando quando trova un pixel e finendo quando ne trova un altro. Nell’esempio avremo il poligono perfettamente riempito solo con le due linee verticali.
Ecco il sorgente in codice assembler 68020+
move.l #X0,d0 move.l #Y0,d2 move.l #X1,d1 move.l #Y1,d3
- START CLIPPING
Clip:
cmp.l d2,d3 ; se y1 = y2 -> NON DISEGNARE LINEA
bne.s Continua
NO_LINEA:
rts- VOGLIO X0 < X1
Continua:
cmp.l d0,d1
bgt.s X0MinoreX1
exg.l d0,d1
exg.l d2,d3
X0MinoreX1:- CONTROLLO LATO SINISTRO tst.l d0
bpl.s NOClippingSinistro ; se d0 positivo allora no clip. sinistro tst.l d1 ; d0 < 0 , d1 < 0 FUORI SCREEN
bmi.s NO_LINEA** CLIPPING SINISTRO
ClipSinistro:moveq #0,d4 moveq #0,d5 move.w d1,d4 ; d4 = x1 sub.w d0,d4 ; d4 = x1 - x0 move.w d3,d5 ; d5 = y1 sub.w d2,d5 ; d5 = y1 - y0 swap d5 ; d5 << 16 divs.l d4,d5 ; WARNING : 68020+ ; d5 = d5 / d4 = pre ogni X, quante Y si sposta ? neg.l d0 ; d0 = d0 negato mulu.l d0,d5 ; WARNING : 68020+ ; d0 = d0 * d5 swap d5 ; d5 >> 16 add.w d5,d2 ; New Y -> X = 0 moveq #0,d0NOClippingSinistro:
- CONTROLLO LATO DESTRO
cmp.l #320,d1 ; se d1 < 320 no clipping sinistro blt.s NoClippingDestro cmp.l #320,d0 ; d0 >= 320 , d1 > 320 FUORI SCREEN
bge.s NO_LINEA** CLIPPING DESTRO
moveq #0,d4
moveq #0,d5
move.w d1,d4 ; d4 = x1
sub.w d0,d4 ; d4 = x1 – x0
move.w d3,d5 ; d5 = y1
sub.w d2,d5 ; d5 = y1 – y0
swap d5 ; d5 << 16 divs.l d4,d5 ; d5 = d5 / d4 = pre ogni X, quante Y si sposta ? sub.w #320,d1 ; 320 pixel senza clipping mulu.l d1,d5 ; d1 = d1 * d5 swap d5 ; d5 >> 16
sub.w d5,d3 ; New Y -> X = 105
move.w #319,d1NoClippingDestro:
- VOGLIO Y0 < Y1
cmp.l d2,d3
bgt.s Y0MinoreY1
exg.l d0,d1
exg.l d2,d3
Y0MinoreY1:- CONTROLLO IN ALTO
tst.l d2 ; se d2 > 0 no clipping
bpl.s NoClippingAlto
tst.l d3 ; d3 < 0 , d2 < 0 FUORI SCREEN
bmi.s NO_LINEA- CLIPPING ALTO
moveq #0,d4
moveq #0,d5
move.w d1,d4 ; d4 = x1
sub.w d0,d4 ; d4 = x1 – x0
move.w d3,d5 ; d5 = y1
sub.w d2,d5 ; d5 = y1 – y0
swap d4 ; d4 << 16 divs.l d5,d4 ; d4 = d5 / d4 = pre ogni Y, quante X si sposta ? neg.l d2 ; d2 = d2 negato mulu.l d2,d4 ; d1 = d1 * d5 swap d4 ; d5 >> 16
add.w d4,d0 ; New Y -> X = 105
moveq #0,d2NoClippingAlto:
- CONTROLLO BASSO
cmp.l #256,d3 ; se d3 < 256 NO CLIPPING BASSO blt.s NoClippingBasso cmp.l #256,d2 ; d3 > 256, d2 >= 256 FUORI SCREEN
bge.w NO_LINEA- CLIPPING BASSO
moveq #0,d4
moveq #0,d5
move.w d1,d4 ; d4 = x1
sub.w d0,d4 ; d4 = x1 – x0
move.w d3,d5 ; d5 = y1
sub.w d2,d5 ; d5 = y1 – y0
swap d4 ; d4 << 16 divs.l d5,d4 ; d4 = d5 / d4 = pre ogni Y, quante X si sposta ? sub.w #256,d3 ; 256 pixel senza clipping mulu.l d3,d4 ; d1 = d1 * d5 swap d4 ; d5 >> 16
sub.w d4,d1 ; New Y -> X = 105
move.w #255,d3NoClippingBasso:
- QUESTE SONO LE COORDINATE CALCOLATE !!!
- D0 = X0
- D1 = X1
- D2 = Y0
- D3 = Y1 rts
Implementazione delle TagLists in Blitz Basic 2
Uno dei punti dolenti di Blitz Basic 2 è l’assenza totale della gestione delle taglist. Le taglist sono uno strumento essenziale per programmare correttamente l’OS di Amiga, in quanto, a partire dalla versione 2.0, sono diventate parte integrante di esso. Purtroppo, in Blitz non esiste una vera e propria gestione delle taglist… e questo ha portato gli innumerevoli Blitz programmers a doversi cercare delle soluzioni alternative.
Quello che vi proponiamo in questo articolo, è solo una versione “elegante” e funzionale di questa implementazione, sperando che vi possa essere utile. Il programma che troverete più avanti è un set di comandi che permettono il pieno controllo sulle taglist: se utilizzerete queste funzioni all’interno del vostro codice, non dovrete più preoccuparvi di come funzionano le taglist.
Un Po’ Di Teoria
E’ comunque meglio sapere come sono strutturate internamente le taglist.
Con la parola taglist si intende una lista di tag.
Un tagitem potrebbe essere così definito:
NewType .tagitem
ti_Tag.l
ti_Data.l
END NewType
Come vedete, all’interno di un singolo tagitem ci sono due campi: ti_Tag contiene un valore Long e identifica il tag che intendiamo modificare e ti_Data il nuovo valore che desideriamo assegnare ad un tag: anch’esso è una Long.
Una Taglist puo’ essere quindi descritta come un’area di memoria appositamente ordinata all’interno della quale sono organizzati dei tagitem.
Un’area di memoria contenente una taglist potrebbe essere così rappresentata:
Tag_da_modificare valore_da_assegnare Tag_da_modificare valore da assegnare ….
e così via, fino a trovare come Tag_da_modificare un tag di valore 0.
La Libreria Di Comandi Presentata
I comandi che vi presentiamo sono una implementazione completa e sicura delle taglist in Blitz Basic 2. Utilizzando questi comandi, potrete essere certi di non avere alcun problema nell’utilizzo delle taglist, e avrete pieno accesso a tutte le chiamate di sistema che fanno uso dei tags.
Il sorgente completo lo trovate qui
Corso Di OOP In AmigaE (Parte 3)
OBJECT INHERITANCE
Una delle caratteristiche più interessanti della programmazione a oggetti è la possibilità di creare degli oggetti che si basano su oggetti creati precedentemente, per formarne altri più complessi. Questa caratteristica è chiamata “inheritance” (eredità) ed è uno strumento molto potente per il programmatore, ma anche, sotto molti aspetti, complesso da utilizzare al meglio.
Disegnando un oggetto che si intende poi rendere ereditabile in modo efficace è necessaria una lunga sessione di pianificazione dell’oggetto stesso: cosa si desidera rendere pubblico e cosa invece mantenere nascosto, tenendo presente che un oggetto “figlio” vedrà solo le parti pubbliche dell’oggetto originario.
Prima di continuare nella nostra discussione, sarà opportuno definire una certa terminologia:
CLASSE: è un oggetto completo di variabili interne e di procedure di manipolazione.
ROOTCLASS: è la classe di base sulla quale si appoggiano altri oggetti.
SUPERCLASS: è la classe precedente a quella attuale, diciamo il “padre” dell’oggetto corrente.
METODO: è una funzione di un oggetto.
COSTRUTTORE: è il metodo utilizzato per inizializzare un oggetto.
DISTRUTTORE: è il metodo utilizzato per eliminare un oggetto, liberando tutte le risorse allocate da questo.
In Amiga E, per scrivere un oggetto che ne eredita un altro, bisogna scrivere:
OBJECT nome_oggetto OF oggetto_padre
definizione…
definizione…
ENDOBJECT
Per il resto si procede esattamente come nella creazione di un singolo oggetto.
ATTENZIONE: durante il proseguimento di questo articolo, mostreremo delle sezioni di codice incomplete, a semplice scopo dimostrativo. Anche la sintassi di Amiga E nella creazione/descrizione di un oggetto non verrà completamente rispettata.
La scrittura di un oggetto ereditabile porta alla definizione di metodi che rendano accessibili anche risorse più “interne” e questo potrebbe risultare pericoloso se usati da programmatori poco esperti. Facciamo un esempio pratico:
Supponiamo di avere un oggetto “immagine” così definito:
OBJECT immagine
PRIVATE
cols:PTR TO cmap
bmp :PTR TO bitmap
ENDOBEJCT
e che siano definiti questi metodi:
bitmaptoscreen(scr:PTR TO screen) – Usato per visualizzare la bitmap su di uno schermo.
colorstoscreen(scr:PTR TO screen) – Usato per settare la palette a quella dell’immagine.
Con questi metodi è possibile, effettivamente mostrare una immagine, e l’utilizzatore dell’oggetto non dovrà mai preoccuparsi di sapere dove effettivamente risiedono i puntatori alla bitmap ed alla colormap: questo è molto sicuro dal momento che le risorse allocate dall’oggetto saranno liberate dall’oggetto stesso: quindi non dovrebbero esserci problemi. Ma supponiamo che si desideri creare un oggetto chiamato “remapper” che si occupi di permettere il remap di un oggetto “immagine” con una palette differente da quella dell’oggetto stesso.
L’oggetto “remapper” deve essere in grado di accedere (e modificare) ai dati dell’oggetto “immagine”: quindi dovremo definire questi due metodi (ancora nell’oggetto “immagine”):
bitmap() – Restituisce il puntatore alla bitmap
cols() – Restituisce il puntatore alla colormap
E dovranno essere creati anche metodi che permettano la creazione e la distruzione di “parti” dell’oggetto:
alloc(width, height, depth) – Alloca una bitmap
free() – Libera la bitmap
L’oggetto “remapper” dovrà così essere costruito:
OBJECT remapper OF immagine
ENDOBJECTremap(pal:PTR TO cmap) IS self.makeremap(SUPER self.bitmap(), SUPER self.cols(), pal)
Il metodo remap() che ho appena descritto ha delle peculiarità interessanti delle quali è meglio parlare subito. Innanzitutto, notate la parola chiave SUPER che permette di chiamare un metodo di un oggetto precedente al corrente. Questo è necessario, ad esempio nel nostro caso, poichè l’oggetto “remapper”, ereditando completamente “immagine” ne possiede anche i metodi “bitmap()” e “cols()”, che però, nell’oggetto in questione, sono due puntatori inutilizzati: con il metodo SUPER verrà invocato il metodo dell’oggetto precedente, in modo da poter accedere effettivamente ai dati desiderati (nel nostro caso, otterremo i puntatori alla bitmap e alla palette di “immagine”).
OBJECT REDEFINITION OF METHODS
Un’altra caratteristica degli oggetti che ne ereditano degli altri è la loro possibilità di “ridefinire” dei metodi degli oggetti precedenti. La ridefinizione è uno strumento molto potente che permette a oggetti “simili” di comportarsi in modo completamente differente tra loro. Questa caratteristica, unita con il comando SUPER permette effettivamente di semplificare e migliorare notevolmente il comportamento di oggetti precedenti… o semplicemente di migliorare il nostro codice.
Tornando al nostro esempio precedente, potevamo ridefinire i metodi bitmap() e cols() dell’oggetto “remapper” in questo modo:
bitmap() OF remapper IS SUPER self.bitmap() – Chiamiamo bitmap() di “immagine”
cols() OF remapper IS SUPER self.cols() – Chiamiamo cols() di “immagine”
E in questo modo potevamo definire remap() in questo modo:
remap IS self.makeremap(self.bitmap(), self.cols(), pal)
Naturalmente, questo è un esempio abbastanza inutile e poco significativo, ma cercheremo di farne di più interessanti più avanti.
RIEPILOGO
Ripassiamo adesso quello che è stato esposto in questo articolo, perchè è molto importante per il corretto (ed efficace) utilizzo degli oggetti e della loro programmazione.
INHERITANCE (Ereditarietà): un oggetto può ereditarne un altro e sfruttare tutte le caratteristiche proprie dell’oggetto originale. In Amiga E la sintassi è la seguente:
OBJECT nuovo_oggetto OF vecchio_oggetto
definizione del nuovo oggetto
ENDOBEJCT
METHODS REDEFINITIONS (ridefinizione dei metodi): un oggetto creato su di un altro, ne può ridefinire i metodi e i comportamenti in maniera del tutto trasparente.
La sintassi in Amiga E è la seguente:
PROC nome_metodo() OF nuovo_oggetto
nuovo codice
….
nuovo codice
ENDPROC
SUPER: è un comando particolarmente interessante perchè rende possibile invocare un metodo dell’oggetto originario dal nuovo oggetto. La sintassi in Amiga E è questa:
SUPER self.metodo() -> chiama metodo() di vecchio_oggetto.
ESEMPIO Questo mese abbiamo deciso di separare il vero sorgente dimostrativo dal resto dell’articolo in modo da permettere una maggiore velocità di caricamento.
Per guardare l’esempio premete qui.
Buono studio del sorgente!
Unifichiamo la grafica 2D e 3D (Parte 2)
Finalemente eccoci arrivati al Quarto numero della Rivista!!
Come promesso, in questo numero, spiegheremo vari modi per creare livelli per il nostro gioco, dicendo tutti i pro e i contro.
Principalmete abbiamo 2 metodi tutti e due validi a seconda delle nostre esigenze.
Il primo è il più facile ed è quello di renderizzare a pezzi tutto il percorso per poi montare tutte le schermate.
PRO: Impatto grafico maggiore, varietà di livello impressionante, facilità di creazione.
CONTRO: Prospettiva errata, richiesta di memoria troppa esosa.
Il secondo è quello più lungo, meno bello da vedere, ma quello più usato e unico da utilizzare se si vuole creare un Platform, ed è quello utilizzato da DONKEY KONG COUNTRY.
Ovvero dobbiamo ritagliare in blocchi tutti i nostri “pezzi” per poi montarli con un programma di MAP EDITOR. Avremo così una sorta di assonometria.
PRO: Possibilità di utilizzare le mappe nei giochi di piattaforme, maggiore quantità di grandezza nelle mappe, reale assonometria (e quindi bella da vedere)
CONTRO: Non il massimo per la grafica, sarebbe meglio la reale tridimensionalità.
E dopo questa piccola parentesi ecco come creare altri blocchi.
Carichiamo il Modeler di LightWave e carichiamo, quindi, il blocco singolo. A questo punto utilizziamo l’ opzione DRAG e aumentiamo i punti per creare una salita, come si può vedere nel disegno dimostrativo.
Con un po’ di pazienza si possono creare altri blocchi, come piattaforme sospese ed altro materiale utile.
E’ giunto quindi il momento di salutarci e di risentirci al prossimo numero!
Schermata D’Esempio
Ecco cosa riuscirete a fare con un po’ di impegno:
Un compitino: Create diversi livelli e blocchi, e inviateci il materiale (logicamente tutto rimarrà sotto il vostro Copyright) faremo una grandissima selezione e i migliori verranno premiati con l’ Amiga Blast Best Pic!!!
Non solo, ma i migliori blocchi, se sarà possibile, verranno utilizzati per creare un vero e proprio platform di Pubblico Dominio o Shareware addirittura meglio di Donkey Kong Country !!!
Cloanto Personal Paint V6.4 – Review
Personalmente credo che il miglior programma di Disegno su tutti i vari tipi di computer sia Brillance per Amiga. Chiunque abbia potuto provare questo programma sarà rimasto sicuramente colpito per la sua velocià e la sua facilità d’ uso (anche se all’ inizio non può sembrare molto semplice da usare).
Si è sempre detto che il miglior programma di Disegno fosse Dpaint, ma chiunque abbia provato le ultime versioni avrà sicuramente notato la lentezza di questo programma sulle macchine AGA.
Ora che posso finalmente usare professionalmente anche Personal Paint edito dalla Cloanto Italia SRL sono orgoglioso di dire che lo possiamo posizionare in mezzo fra il Brillance e il DPaint. Sì, perchè credo che questo prodotto sia superiore a Dpaint, ma non a livelli di Brillance.
Con un’ impostazione simile a quella del DPaint ha molte carte in più rispetto a questo programma:
Prima fra tutte la possibilità di leggere vari formati grafici: Jpeg, GIF, ecc., caratteristica unica, assente sia in Brilliance che in DPaint. Chi usa Amiga per disegnare professionalmente, sa cosa vuol dire leggere e scrivede dirrettamente vari formati grafici, senza doverli trattare con appositi programmi di conversione.
Seconda: tools per Image Processing. Le operazioni che il programma svolge sono molte e varie: vanno dai classici dither fino a effetti di Emboss o Stereogramma, ma non solo: è possibile creare altri effetti modificando quelle già esistenti o addirittura creandone dei propri.
Terzo: è possibile manipolare il numero dei colori di una immagine direttamente da Personal Paint, senza perdere tempo con altri programmi, e continuando ad avere un’immagine di alta qualità, convertita a regola d’arte da Personal Paint.
Se la Cloato facesse una versione AGA, ottimizzasse le routine di Painting trasformerebbe Personal Paint nel “programma” di painting per eccellenza su Amiga, e non sto scherzando.
Altro punto a favore è la gestione delle Animazioni. Oltre a creare frames con palette diverse, è possibile creare uno story-board per avere un’ idea più precisa del lavoro che stiamo svolgendo.
Il frame-rate durante il playback delle animazioni è notevole (supera persino quello di Brilliance, già notoriamente veloce).
Nel CD Cloanto Personal Suite, vengono fornite molte immagini, animazioni ecc. per testare subito le potenzialità del prodotto.
Esempio di effetti
Qui potete osservare Cloanto Personal Paint all’opera: l’immagine, da me disegnata, è stata passata sotto alcuni filtri di Cloanto Personal Paint: a voi valutarne i risultati.
Conclusioni
Possiamo concludere dicendo che il giudizio di questo programma è sicuramente molto buono e se fosse aumentata la velocità e sfruttati i coprocessori matematici, il giudizio sarebbe sicuramente Ottimo.
Complimenti alla casa Italiana CLOANTO.
Ringraziamenti Si ringrazia la CLOANTO per averci fornito il CD Cloanto Personal Suite da recensire.
Per informazioni sui prodotti Cloanto scrivete a: info@cloanto.it
MultiMedia Experience – Review
MultiMedia Experience è un Authoring System scritto da Optonica per lo sviluppo di titoli multimediali. Scopo di questo tool è di aiutare l’autore dell’opera multimediale a coordinare le proprie informazioni di dati, le proprie immagini, i suoni, i filmati in CDXL e di consentire in modo semplice e rapido di disegnare interfacce interattive con l’utente finale.
MultiMedia Experience, a differenza di altri prodotti, come ad esempio Scala MM, è stato disegnato pensando appositamente alla produzione di opere su CD-Rom per Amiga. Già dalla prima pagina, infatti, il manuale invita a organizzare i dati in modo da poterli poi trasportare sul media finale con meno problemi possibili. Parlando del manuale, va detto che, purtoppo non è molto dettagliato ed è formato di poche pagine: come al solito il modo migliore per imparare ad usare un programma è usarlo.
L’interfaccia di MultiMedia Experience è completamente fuori dai Commodore Style Guide, ma dopo un po’ di tempo che la utilizzerete, ci farete la mano… anche se si ha sempre la sensazione che questo prodotto sia stato scritto da hackers smanettoni, piuttosto che da programmatori navigati.
Comunque, l’impostazione generale ricalca molto prodotti di questo tipo, come Scala o Brilliance: i tools dell’editor compaiono tutti su di uno schermo che si apre a metà altezza del nostro monitor, mentre sulla parte superiore appariranno le pagine della nostra applicazione multimediale che via via andremo a creare.
Ogni particolare argomento, in MultiMedia Experience, ha una sua sezione di opzioni particolare. Vediamone insieme alcuni.
Manipolazione Delle Pagine
Questa è la sezione della creazione delle pagine e della loro manipolazione; da qui possiamo aggiungere, cancellare, testare le pagine della nostra opera multimediale.
Selezione degli Effetti
Ogni pagina, in MultiMedia Experience, può apparire con un particolare effetto video. Nella versione da noi testata, c’erano 60 effetti, ma erano più o meno tutti uguali, pur rivelandosi interessanti e utili. Nell’immagine che vi proponiamo potete vedere alcuni di questi effetti e un utile pulsante di “preview”, che ci permette di testare immediatamente l’effetto che abbiamo selezionato.
Il File Requester
Questa è forse la vera nota dolente del programma: completamente fuori dallo standard (ormai tutti usano ReqTools o ASL), è risultato poco flessibile e ostico da utilizzare. Questa è forse la cosa meno bella di MultiMedia Experience. Non siamo riusciti ad abituarci a questo file requester, nemmeno dopo un pomeriggio di test…
Conclusioni
Nel complesso MultiMedia Experience è risultato essere un programma che mantiene le sue promesse. Forse a volte lo fa in maniera un po’ poco flessibile e bisogna farci un po’ la mano, ma si riesce sicuramente ad ottenere un prodotto di buon livello, mettendosi di impegno.
Se avete intenzione di scrivere presentazioni multimediali, titoli su CD-Rom oppure gestire punti informativi (come quelli che si vedono in stazione, per intenderci), MultiMedia Experience può essere un prodotto da valutare con attenzione.
Distribuzione
MultiMedia Experience è distribuito da C.A.T.M.U. snc. e costa circa L. 90.000
Per ulteriori informazioni, potete rivolgervi a:
C.A.T.M.U. snc
Casella postale 63
10023 Chieri (TO)
Fax: 011 – 941.52.37
Tel: 011 – 941.52.37
email: solotre@mbox.vol.it
Breed 96 – Review
Breed 96 è un fantastico gioco di strategia. E’ un incrocio tra Civilisation, Dune2 and Sim City. E’ una guerra tra quattro razze differenti (è possibile giocare con ognuna di queste) e lo scopo è di colonizzare completamente il vostro pianeta e di diventare abbastanza forti da conquistare le altre razze.
Come in Settlers o Populous anche le altre razze proveranno a crescere e a fortificarsi per battervi e conquistare il vostro pianeta, ma, differentemente da questi giochi, potete stringere alleanze e scambiare merce con altre razze, unendo le vostre forze per combattere un nemico comune o per essere aiutati quando siete sotto il fuoco nemico.
Il gioco inizia con un pianeta completamente spoglio, dove dovete costruire tutte le vostre città, far crescere la vostra razza e la vostra tecnologia (l’opzione di ricerca è semplicemente una idea geniale). Più tardi, dovrete stringere relazioni con le altre razze e comincerete ad andare alla ricerca di altri pianeti.
Mentre i vostri occhi saranno rivolti al cielo, i vostri centri continueranno a crescere sempre più in fretta e voi avrete bisogno di fornire centri commerciali e polizia, per evitare troppi problemi ai cittadini.
Breed 96 è un bellissimo gioco, ben strutturato, ben pianificato e molto divertente. E’ shareware e vi suggerisco veramente di dargli un’occhiata e di registrarvi a questa meraviglia.
Qui ci sono alcune schermate del gioco.
L’autore di Breed 96 può essere raggiunto così:
Damian Tarnawsky
4/5 King Street
Raymond Terrace
NSW Australia 2324
Breed 96 ha anche una pagina web: http://outland.cyberwar.com/~zool/Breed.html
DOOPSI Game System – Review
DOOPSI Game System è un authoring system per Amiga che permette la creazione di avventure come Day Of The Tentacle oppure Indiana Jones And The Last Crusade in maniera semplice e velocissima.
DOOPSI Game System è molto più che un semplice programma di ausilio alla creazione di avventure: è una vera e propria suite di editor completamente utilizzabili tramite mouse, che permettono di creare una avventura anche molto complessa con pochissima fatica da parte del creatore della storia stessa.
DOOPSI significa infatti: Dynamic Object Oriented Programming System Interface: una interfaccia di sistema creata appositamente per semplificare la OOP, Object Oriented Programming, la Programmazione a Oggetti
Tutte le informazioni che desiderate su DOOPSI Game System, le potrete trovare nella propria pagina WEB:
http://www.intercom.it/~fsoft/doopsi.html
VIScorp e il Futuro di Amiga
Sembra che VIScorp abbia acquistato Amiga un attimo prima che Escom cadesse. Le ultime notizie sulla casa tedesca, non sembrano molto promettenti: per una volta siamo stati salvati un attimo prima di cadere di nuovo.
Però… però noi eravamo a Tolosa, in Francia, alla conferenza di VIScorp, e dobbiamo dire che quello che abbiamo visto non è sembrato molto promettente.
Durante la conferenza Sviluppatori, è emerso che VIScorp non sembra intenzionata a portare l’OS di Amiga su PPC, anzi, preponderebbe per una soluzione multi-processore, basata sui soliti ‘040 e ‘060. Scelta più che ragionevole, se si considera il fatto che VIScorp è più interessata ai Set-Top-Box piuttosto che allo sviluppo di nuove macchine, sempre più potenti. Il problema è che un Amiga di oggi puo’ essere messo benissimo sopra ad un televisore di casa, diventando un ottimo strumento per TV-i, Video On Demand, Intenret e tutto quello che volete metterci.
Durante la sessione plenaria della conferenza, VIScorp ha continuato a mettere l’accento sulle meraviglie del loro Set-Top-Box e di cosa questo sa fare e di cosa questo coso farà.
Il fatto è che qui non siamo in America, questa è l’Europa, e in Europa gli utenti Amiga amano programmare la loro macchina e non usarla per navigare per Internet o giocare a poker.
E VIScorp si è scontrata con questa realta, in maniera molto massiccia durante la conferenza Sviluppatori.
Carl ha detto di avere fede, che le cose andranno sempre meglio… personalmente sono un po’ dubbioso, e guardo con maggiore fiducia a produzioni parallele come la macchina PPC-based ideata da Phase5.
Al momento, VIScorp non mi da molto affidamento… spero di potermi ricredere più avanti… spero che VIScorp mantenga le sue promesse e che continui lo sviluppo di Amiga. Se così non sarà, non importa: l’orizzonte Amiga ha altre strade già aperte… basta solo scegliere.
