Come gia preannunciato al casentino day, adesso che ho la vampire (sulla amiga di Z3k) mi è venuta l'idea di provare a fare un porting di un gioco su Amiga.
La scelta è ricaduta su airstrike, un giochetto molto simpatico, scritto in C, che ho trovato nelle repositories di debian.
Airstrike si appoggia a libSDL1.2, non è un fulmine di guerra su vampire però è a mio avviso giocabile.
Il gioco è sulla falsa riga del famoso "red baron", gioco PD fatto con amos.
Ecco uno screenshot del gioco preso dalla versione linux.
Il mio porting è molto casereccio... però incredibilmente parte su vampire, se lo volete provare potete scaricare lo zip da
https://github.com/Ozzyboshi/airstrike-amiga/a rchive/v1.1.zip
Nella pagina principale su github ho messo pure le istruzioni per compilare con Docker.
Sarebbe carino riuscissi a convincere tuko di metterlo sulla prossima release di coffin... pesa solo pochi megabytes alla fine.
Sicuramente fare un porting di un programma per un altro sistema operativo è più semplice restare con lo stesso linguaggio di programmazione che riscriverlo da capo con un altro linguaggio.
I MIEI AMIGA
4000T OS 3.9 PPC/68060 + CyberVisio 64/3D + HD 20g + DVD - 4000D in Tower OS 3.9 PPC/68060 Ram 128M + ram scheda 2+16M + zip 100M + Ide HD 40G + usb Deneb + V-Lab + Toccata + Mediator con: Woodoo 3 + Scheda rete + Impact Vision 24 - 4000D OS 3.9 68060 ram 32m + ram scheda 2+16M + HD 20g + zip 100 ide + DVD + V-lab + Seriale veloce + Scheda video EGS- 3000T OS 3.9 PPC/68060 128M + HD scsi 10G + Usb Deneb + CD sCSI + mediator con: scheda rete + controllo SCSI Adaptec + scheda audio + Voodoo 5 - 3000 OS 3.1 68040 + emulatore pc 286 - 2000 processore 68030 + genlock + espansione ram + emulatore pc 8080 - 1200 Tower OS 3.9 PPC/68060 + HD 20G + Mediator con: scheda rete - 1200 OS 3.1 68060 + HD 20G + Scheda rete pcmcia - 1000 espansione Ram 4M - 600 con espansione ram + HD5G - 500 Plus con espansione ram - 500 con espansione ram - CDTV - CD32
CLONI AMIGA
Sam440ep-Flex OS 4.1 - EFIKA MorphOS 2.6
Post inviati: 1983
Commento 62
schiumacal
25 Settembre 2018 11:26:51
Assolutamente si...
Sarebbe poco ortodosso utilizzare un linguaggio di programmazione differente dal sorgente per il porting di un software.
Certo che, a titolo sperimentale, eseguire un porting cambiando anche il linguaggio di programmazione, come nell'esempio fatto in precedenza da farox68, è qualcosa di realmente istruttivo.
Diciamo che ognuno di noi trova la giusta strada, quando ha veramente voglia di imparare qualcosa. Poi un conto è modificare qualche piccolo script facendo esperimenti su esperimenti a caso, un conto è invece scrivere da zero un gioco come Quake senza possedere già i sorgenti peraltro modificati da programmatori che, suppongo, abbiamo solide basi su cui appoggiarsi.
@ boss
Non devi leggere il mio commento diretto ad una tua precedente domanda come un segnale di critica, anche fosse stata tale intenzione e dettata in maniera costruttiva...
La mia è stata una risposta a delle domande che sono state, giustamente poste, sul forum di amighisti e da amighisti...
Ora imparare un linguaggio di programmazione non è cosa complessa come si potrebbe immaginare. La complessità nasce nel tempo e nel momento in cui si devono risolvere problemi che escono fuori durante la programmazione di una qualsiasi cosa, che sia un software gestionale oppure un videogioco.
Far scrivere al computer il classico messaggino di "HELLO WORLD" è una cosa banale, ed è banale farla in qualunque linguaggio di programmazione, (tranne che non sia qualche linguaggio esoterico). Non è banale, invece capire in maniera approfondita come il messaggino viene interpretato all'interno del computer, successivamente convertito in istruzioni che il computer capisce, e sempre successivamente visualizzato sul monitor nella giusta maniere e nel giusto ordine.
La complessità di un codice sta nel risolvere problemi di programmazione che potrebbero portare a blocchi di sistema, oppure nel risolvere problemi di algebra booleana, oppure e sopratutto risolvere problemi di velocità e occupazione della memoria nel momento in cui si scrive codice ad alta sensibilità ad esempio per la gestione di un robot su Marte...
Non è cosa da poco, e non sono neanche stupidaggini quelle che dico.
---------------------------------------------- -------------------------------------------------- -----------------------
Facciamo un esempio:
Questo esercizio è stato il primo che il prof. diede a scuola dopo una settimana di inizio corsi d'informatica, nei lontani fine anni '80
Esercizio banale (chi riesce a risolverlo in 15 minuti ? E non imbrogliate... ok):
Siano due variabili di numeri interi: A e B.
La variabile A=5
La variabile B=7
Creare un algoritmo che scambi il valore delle due variabili senza perdita di dati.
---------------------------------------------- -------------------------------------------------- -----------------------
Questo è un banalissimo esercizio di logica, ma vi assicuro che chi riesce a capirne il concetto reale e a sviluppare: un algoritmo con il successivo diagramma di flusso e poi scriverne il codice (in qualsiasi linguaggio di programmazione), è già ad un buon inizio.
E si sà che chi ben inizia ben finisce...
Ps.
Se parliamo di Amiga Classic, si è limitati a imparare solo alcuni linguaggi di programmazione realmente validi per questa macchina e ottimamente supportati ancora oggi. E comunque non sono un male, anzi... sono perfetti per diventare dei programmatori provetti...
Faccio un elenco dei più probabili:
- AMOS Pro + Compiler (versione 2.1 sarebbe l'ultima prodotta con aggiunta di esstensioni di tutti i tipi: per la grafica 3D, per la GUI del workbench, ecc, ecc.)
- Blitz Basic (oggi si chiama AmiBlitz e la più affidabile versione sarebbe la 3.5 anche se successivamente uscita una versione 3.6 ultima prodotta dalla Acid software)
- Vari tipi di C e C++ (i migliori in generale sono: il SasC arrivato alla versione 6.5 con le patch arrivate alla 6.58 della Sas Institute, e lo StormC della Haage &Partner che con la versione 3.0 si ferma alla programmazione per CPU 68K completa, mentre dalla versione 4.0 si può programmare anche per CPU PPC)
- Hollywood (che con la versione 7.1 attuale, rimane tra i migliori linguaggi di programmazione ad alto livello, per l'uso con grafica RTG, con Hollywood non è possibile programmare sui classici chip grafici di Amiga, per questo ci sono sempre L'AMOS oppure il BlitzBasic).
Questa è una carrellata di linguaggi che a tutt'oggi ancora possibile utilizzare proficuamente con Amiga.
In Ambiente Windows e Mac è tutta un'altra storia.
Commento modificato il 25/09/2018 alle ore 11:27:41
Un giorno o l'altro risolverò equazioni di grado superiore a cinque.
---------------------------------------------- -------------------------------------------------- -----------------------
Facciamo un esempio:
Questo esercizio è stato il primo che il prof. diede a scuola dopo una settimana di inizio corsi d'informatica, nei lontani fine anni '80
Esercizio banale (chi riesce a risolverlo in 15 minuti ? E non imbrogliate... ok):
Siano due variabili di numeri interi: A e B.
La variabile A=5
La variabile B=7
Creare un algoritmo che scambi il valore delle due variabili senza perdita di dati.
---------------------------------------------- -------------------------------------------------- -----------------------
Devi farlo solo senza perdere i dati o anche senza allocare nuove variabili?
Post inviati: 1983
Commento 64
schiumacal
25 Settembre 2018 12:57:56
Citazione
Citazione
---------------------------------------------- -------------------------------------------------- -----------------------
Facciamo un esempio:
Questo esercizio è stato il primo che il prof. diede a scuola dopo una settimana di inizio corsi d'informatica, nei lontani fine anni '80
Esercizio banale (chi riesce a risolverlo in 15 minuti ? E non imbrogliate... ok):
Siano due variabili di numeri interi: A e B.
La variabile A=5
La variabile B=7
Creare un algoritmo che scambi il valore delle due variabili senza perdita di dati.
---------------------------------------------- -------------------------------------------------- -----------------------
Devi farlo solo senza perdere i dati o anche senza allocare nuove variabili?
Secondo te ?
Dove si sprecano meno risorse in termini di tempi di esecuzione e allocazione memoria ?
Un giorno o l'altro risolverò equazioni di grado superiore a cinque.
Devi farlo solo senza perdere i dati o anche senza allocare nuove variabili?
Secondo te ?
Dove si sprecano meno risorse in termini di tempi di esecuzione e allocazione memoria ?
In effetti potendo allocare variabili era troppo facile.
Senza dover allocare una nuova variabile in effetti è un esercizietto semplice e divertente, ricorda tanto anche a me le prime lezioni sulla programmazione.
Post inviati: 1983
Commento 66
schiumacal
25 Settembre 2018 13:27:20
Citazione
Citazione
Citazione
Devi farlo solo senza perdere i dati o anche senza allocare nuove variabili?
Secondo te ?
Dove si sprecano meno risorse in termini di tempi di esecuzione e allocazione memoria ?
In effetti potendo allocare variabili era troppo facile.
Senza dover allocare una nuova variabile in effetti è un esercizietto semplice e divertente, ricorda tanto anche a me le prime lezioni sulla programmazione.
OK, un aiutino per tutti...
Esistono tre metodi conosciuti in informatica per eseguire l'esercizietto, e in percentuale dico anche chi riesce e chi no...
1) Metodo allocazione altre variabili --- Riescono a farlo il 90% dei futuri probabili informatici. Pensa, c'e' un 10% quindi che non riesce.
2) Metodo aritmetico (dire algebrico sarebbe troppo) --- Riescono a farlo un 50% degli informatici, voglio essere buono con le percentuali.
3) Metodo Booleano (questo è tosto) --- Riescono a farlo un 10% degli informatici.
Chi li sà tutti e tre, è già oltre la metà della strada, sulla retta via della conoscenza assoluta
Commento modificato il 25/09/2018 alle ore 13:29:03
Un giorno o l'altro risolverò equazioni di grado superiore a cinque.
3) Metodo Booleano (questo è tosto) --- Riescono a farlo un 10% degli informatici.
Chi li sà tutti e tre, è già oltre la metà della strada, sulla retta via della conoscenza assoluta
I primi due sono facili.
Questo mi sfugge, che intendi con booleano?
Devo ragionare sulle proprietà degli operatori and & or?
Commento modificato il 25/09/2018 alle ore 13:40:41
Post inviati: 1983
Commento 68
schiumacal
25 Settembre 2018 13:56:56
Citazione
I primi due sono facili.
Questo mi sfugge, che intendi con booleano?
Devo ragionare sulle proprietà degli operatori and & or?
Ahahahah!!!
Dai fammi aspettare un pò, giusto per vedere se c'e' qualche altra anima pia che sà...
Ti giuro che dopo dico anche metodo booleano
Comunque, se conosci già i primi due metodi, sei realmente sopra la media. Accettalo come un complimento vero, anche perchè da quel poco che posso sapere io, mi è capitato in passato di insegnare informatica come assistente in alcuni istituti, e ti assicuro che se esistevano ancora i vecchi metodi della bacchetta sulle mani... aih!!!
Le più dure di testa sono sempre state le donne per questa particolare materia, (non me ne vogliano assolutamente, mah!), millemila volte il professore gli diceva: "Ragazzi se dovete realizzare un programma in C++ che possa passare un esame, create di tutto, ma ASSOLUTAMENTE NON scrivete giochi come il TIC-TAC-TOE... TRIS vietato assolutamente.
Quindi c'era: chi realizzava la briscola, chi la battaglia navale, chi la scopa... poi ecco che dal profondo dell'oblio arriva la ragazza di turno e cosa ti presenta ?... il TIC-TAC-TOE... ecco che il prof. ha finalmente la giusta scusa per bocciarne una
Un giorno o l'altro risolverò equazioni di grado superiore a cinque.
Ozzy, non avevo ancora avuto modo di farlo ma lo faccio ora:
Complimenti per il porting. Tanto impegno, tempo e buona volontà per tenere viva la comunità.
Grazie.
Post inviati: 1588
Commento 71
majinga
25 Settembre 2018 15:42:02
Citazione
Devi anche specificare il linguaggio, però, perché in Python si può fare:
a, b = b, a
PS: Quello booleano usa un solo operatore .
Mai giocare a carte con uno che programma in Python, imbroglia
Comunque ci sono arrivato anche io alla fine. Ci ho messo tanto a carburare, perché mi ero fissato con trovare la corrispondenza matematica delle operazioni di somma e sottrazione con gli operatori booleani. Invece ragionavo male
Post inviati: 1983
Commento 72
schiumacal
25 Settembre 2018 15:55:09
Quindi ?
Geni trovati ?
OK, mi fido, e segnerò i vostri nomi nella mia rubricona segreta, come amici di forum super intelligentissimi
Però... c'e' un però...
Io il mio problemuccio l'ho espresso, ma le soluzioni dove sono ?
Comunque prima di concludere, cosi come il maestro Kesuke Miyagi insegnò a Daniel San il Karate facendogli lavare le automobili e dipingendo tuuuutta la staccionata, anch'io con questa mia volevo solo far capire che saper programmare, creare un algoritmo, ingegnarsi per trovare una soluzione anche quando questa sembra impossibile da trovare, e conoscere anche un pò di: matematica, algebra, fisica, inglese, saper leggere un libro... trombar... emh!!! Scusate, insomma tutto, serve per essere un buon informatico.
Quindi rifacendomi ai discorsi precedenti con Boss, dico con affetto, bravo... ora sai cosa ti riserva il futuro se intendi veramente imparare a programmare qualcosa di semplice.
E falloooo... che aspetti
Commento modificato il 25/09/2018 alle ore 15:55:59
Un giorno o l'altro risolverò equazioni di grado superiore a cinque.
Ozzy, non avevo ancora avuto modo di farlo ma lo faccio ora:
Complimenti per il porting. Tanto impegno, tempo e buona volontà per tenere viva la comunità.
Grazie.
grazie, adesso però devo trovare un altro progetto da portare avanti, i giochi proposti sono entrambi complessi perché sfruttano SDL2, servirebbe veramente di mettersi a scrivere sdl2 per amiga ma è un progetto immane
Post inviati: 1221
Commento 74
GabrieleNick
26 Settembre 2018 12:40:47
Citazione
grazie, adesso però devo trovare un altro progetto da portare avanti, i giochi proposti sono entrambi complessi perché sfruttano SDL2, servirebbe veramente di mettersi a scrivere sdl2 per amiga ma è un progetto immane
Se ti serve un tester su Amiga classic, io ho un A600/020 ed un A1200/030 ambedue senza RTG. Magari se vuoi allargare il discorso anche al classic non Vampire e non UAE. Sarebbe un onore
Post inviati: 1588
Commento 75
majinga
26 Settembre 2018 12:41:46
Anche colpa mia. Non ho ancora verificato se la versione 1.5 di DROD usa le SDL 1.2
Post inviati: 590
Commento 76
Ozzyboshi_2
26 Settembre 2018 13:55:36
Citazione
Citazione
grazie, adesso però devo trovare un altro progetto da portare avanti, i giochi proposti sono entrambi complessi perché sfruttano SDL2, servirebbe veramente di mettersi a scrivere sdl2 per amiga ma è un progetto immane
Se ti serve un tester su Amiga classic, io ho un A600/020 ed un A1200/030 ambedue senza RTG. Magari se vuoi allargare il discorso anche al classic non Vampire e non UAE. Sarebbe un onore
Beh puoi provarti il corvo su queste 2 configurazioni. Sia da whdload che da floppy.
Per il futuro c'è da fare qix in assembler o c per Amiga stock.