Autore Topic: Io programmatroto  (Letto 4658 volte)

Offline saimon69

  • Guru
  • *****
  • Post: 1833
  • Karma: +23/-3
  • Web Dev e musicista da camera (da letto)
    • Mostra profilo
    • binarydoodles Blog
Io programmatroto
« il: 21 Ottobre 2013, 01:23:53 »
Piazzo questo thread nella sezione retrogaming perche' voglio mettere in chiaro che e' un po' che mi pizzica l'idea di fare almeno un gioghetto amatoriale su una retropiattaforma; scelte per me andrebbero su Zx Spectrum o Amiga, visto che in un modo o l'altro conosco entrambe. Le armi sarebbero lo ZX Basic compilato (softek IS) su spectrum o AMOS su amiga; quest'ultimo finalmente avrei modo di impararlo un po'... poi, quando avro' ripreso confidenza con il lavorare su spazi limitati di memoria, potrei anche mettermi ad imparare cose tipo il C, chissa'...

Comunque le retropiattaforme su cui ho esperienza diretta di programmazione sono lo Spectrum, il vic-20 e in maniera molto minore il 64.
[prosegue...]
AROS : mica bau bau micio micio =^x^=

Offline Amig4be

  • Human Debugger
  • *****
  • Post: 6000
  • Karma: +45/-27
    • Mostra profilo
    • Commodore Computer Blog
Re:Io programmatroto
« Risposta #1 il: 21 Ottobre 2013, 01:36:27 »
Su amiga non conviene magari buttarsi su Hollywood? Credo sia anche una sorta di erede del mitico AMOS

Offline saimon69

  • Guru
  • *****
  • Post: 1833
  • Karma: +23/-3
  • Web Dev e musicista da camera (da letto)
    • Mostra profilo
    • binarydoodles Blog
Re:Io programmatroto
« Risposta #2 il: 21 Ottobre 2013, 03:26:56 »
Ci pensavo ma sto a budget zero mentre hollywood e' commerciale...
AROS : mica bau bau micio micio =^x^=

Offline cdimauro

  • Human Debugger
  • *****
  • Post: 4291
  • Karma: +7/-95
    • Mostra profilo
Re:Io programmatroto
« Risposta #3 il: 21 Ottobre 2013, 06:48:26 »
Su quelle macchine altro che BASIC: è meglio andare di assembly. :P

Offline saimon69

  • Guru
  • *****
  • Post: 1833
  • Karma: +23/-3
  • Web Dev e musicista da camera (da letto)
    • Mostra profilo
    • binarydoodles Blog
Re:Io programmatroto
« Risposta #4 il: 21 Ottobre 2013, 09:37:50 »
@cdimauro

Meglio fare una cosa male che non farla per niente certe volte; visto che non e' un progetto commerciale si puo' sempre aggiustare dopo...

cmq se dovessi fare qualcosa sullo spectrum andrebbe probabilmente a finire come un main loop basic compilato con alcuni pezzi di assembler per effetti sonori, caratteri ingranditi,etc. che avevo raggranellato da vari altri programmi;

[relativamente allo spectrum]

Quando avevo solo lo spectrum e cercavo di fare giochetti e meno giochetti, ad un certo punto ero in contatto con altri spectristi tra cui uno, Marco Maltese, con cui ho avuto molti altri rapporti professionali e meno anche in epoca amighista (era l'artro grafico di Powder) che mi ha dato delle dritte su come usare il compilatore IS softek e fare degli eseguibili che andavano a velocita' ragguardevoli (fino a dieci volte l'eseguibile in BASIC).

Come detto sopra c'erano due compilatori per spectrum creati dalla softek: l'IS, che manovrava numeri interi e l'FP che manovrava numeri a virgola mobile; il secondo gestiva anche array (dim) ed altre cose che invece l'IS non gestiva ma era almeno tre volte piu' lento.

Tra i trucchetti che ho imparato: prima di tutto non gestire i movimenti usando INKEY$ ma usando le porte IN, che consentono la lettura di piu' tasti allo stesso momento - stesso per leggere il joystick Kempston (porta 31); poi piuttosto che gestire nemici ed eventi con variabili (o matrici, non ammesse da IS) usare locazioni di memoria (avevo fatto un gioco con una mappa di 8x8 locazioni fatte di 4x4 blocchi,per un totale di 1024 bytes e successivamente stavo pensando per uno shoot'em up di usare tipo 4 bytes per mappe timeline-driven ovvero ondate di nemici che appaiono attivati da un counter, mentre il nemico stesso possedeva 8 byte in memoria per vari attributi come tipo,energia, coordinate, rate of fire change to e avere tipo 16 nemici su schermo ovvero 128 bytes da ruotare ed assegnare); poi altre cosette che stranamente lo ZX basic permetteva, tipo assegnare valori numerici a variabili e attributi non come numeri (let a =1) ma come stringhe convertite, es: INK VAL '5', PAPER VAL '1' ,etc. in quanto il bytecode risultante dal compilatore occupava meno spazio; infine, visto che DATA era non supportata dal compilatore IS, caricare i vari pezzi come CODE nelle locazioni di memoria usate, per suoni, set alternativi di caratteri, etc.

Dopo anni di lingo actionscript e javascript mi ero scordato di come sia diverso programmare cose con una quantita' limitata di memoria, dove bisogna assegnare aree a tutto; non ero riuscito a finire l'altro progetto per vari motivi spero di metterci manina e ingegnerizzare il tutto in maniera che funzioni...

Il mio problema e' che non ho mai imparato propriamente l'assembly e, aggiungendo a questo una sorta di riflesso condizionato verso crash su una macchina 8-bit (quando toccava ricaricare a nastro tutto se crashava), e' un altra lacuna da riempire.

[sul vic-20 e c-64]

Il vic e il 64 mi hanno sempre affascinato, al di la' del fatto che i 'portapane' avevano una tastiera ben piu' professionale del mio gommoso amico, avevano anche un altro attributo che me li faceva invidiare: il multicolor. Mio fratello aveva un vic inespanso ed usava un interfaccia tenkolek per registratori normali invece del costoso datasette commodore; io usando esempi su superVIC avevo trovato il modo di utilizzare il multicolor per un giochetto (variazione di kaboom) e sembrava anche carino! Peccato che 3k siano veramente pochi...

...sul 64 ho fatto degli smastricci insieme a degli amici quando me lo prestavano; ero riuscito a portare uno dei miei gioghetti (raudo-man) dallo spectrum con aggiunta di funzioni diciamo 'native' (multicolor,sprite dell'ambulanza che passa e sorta di esplosione dal chip sonoro); avrei volentieri cercato di farci piu cose ma non aver l'hardware a disposizione era limitante...
[prosegue]
« Ultima modifica: 21 Ottobre 2013, 22:17:37 da saimon69 »
AROS : mica bau bau micio micio =^x^=

Offline saimon69

  • Guru
  • *****
  • Post: 1833
  • Karma: +23/-3
  • Web Dev e musicista da camera (da letto)
    • Mostra profilo
    • binarydoodles Blog
Re:Io programmatroto
« Risposta #5 il: 22 Ottobre 2013, 00:41:49 »
[brainstorm]
Sto pensando a come gestire nemici e display su spectrum, o almeno su come avrei fatto allora;

Parrebbe logico non usare direttamente lo schermo per mostrare i nemici, quanto piuttosto un area di memoria leggermente piu' grande dello stesso, tipo 40x28, dove buttare tutti i caratteri, poi disegnare su schermo solo la parte centrale (32x20) PEEKandone i valori (dovrebbe essere piu veloce) ; mi chiedo se tale processo possa essere usato anche per lo sprite giocatore o almeno per i suoi colpi...

cmq gente in sto momento non c'e' codice scritto da nessuna parte: sto anche rendendomi conto che strutturare un engine del genere potrebbe essere platform-agnostic, in quanto un metodo simile si potrebbe usare sul c64; chiaro che per i sessantaquattristi grafica a caratteri non e' il massimo ma tant'e'...


[/brainstorm]
« Ultima modifica: 22 Ottobre 2013, 01:10:48 da saimon69 »
AROS : mica bau bau micio micio =^x^=

Offline cdimauro

  • Human Debugger
  • *****
  • Post: 4291
  • Karma: +7/-95
    • Mostra profilo
Re:Io programmatroto
« Risposta #6 il: 22 Ottobre 2013, 06:50:01 »
Visto che conosci l'Amiga, IMHO è meglio che romperti la testa con Spectrum. Con Amos riesci a fare di meglio, pur usando il Basic.

Offline Allanon

  • Administrator
  • Synthetic Voodoo
  • *****
  • Post: 3498
  • Karma: +17/-4
    • Mostra profilo
    • http://www.a-mc.biz
Re:Io programmatroto
« Risposta #7 il: 22 Ottobre 2013, 09:27:04 »
Anchio penso che se devi usare una sorta di basic dovresti buttarti su Amiga, non c'è una versione di BlitzBasic free?
Per quanto riguarda Hollywood al momento non è più in vendita, dovrebbe ritornate sullo scaffale tra un po di tempo, non ne conosco i motivi della sospensione...
Sullo Spectrum, così come su 64, se non vai di assembler credo che possa tu possa fare decentemente solo puzzle game... per C64, come basic interessante, c'era il Simon's basic che all'epoca mi fece strabuzzare gli occhi di fuori da quante features aveva :D

Offline murasame

  • Tech Guru
  • *****
  • Post: 176
  • Karma: +0/-1
    • Mostra profilo
Re:Io programmatroto
« Risposta #8 il: 22 Ottobre 2013, 10:26:53 »
Anchio penso che se devi usare una sorta di basic dovresti buttarti su Amiga, non c'è una versione di BlitzBasic free?

Quoto anche secondo me se devi passare per il basic almeno con Amiga ci fai un mondo di cose in più. Discorso BlitzBasic, ci sarebbe Amiblitz che viene tutt'ora sviluppato e portato avanti personalmente andrei in quella direzione.
There are only 10 types of people in the world: those who understand binary, and those who don\'t ...

Offline Amig4be

  • Human Debugger
  • *****
  • Post: 6000
  • Karma: +45/-27
    • Mostra profilo
    • Commodore Computer Blog
Re:Io programmatroto
« Risposta #9 il: 22 Ottobre 2013, 11:03:04 »
Anchio penso che se devi usare una sorta di basic dovresti buttarti su Amiga, non c'è una versione di BlitzBasic free?

Quoto anche secondo me se devi passare per il basic almeno con Amiga ci fai un mondo di cose in più. Discorso BlitzBasic, ci sarebbe Amiblitz che viene tutt'ora sviluppato e portato avanti personalmente andrei in quella direzione.

beh per amiga si può sviluppare su una macchina emulata ben messa a memoria e velocità, quindi anche con il basic si potrebbero raggiungere bei risultati. Infine su amiga, grafica o altro la si può elaborare su pc, importarla e convertirla...

Bella idea l'amiblitz... è aga?


Offline murasame

  • Tech Guru
  • *****
  • Post: 176
  • Karma: +0/-1
    • Mostra profilo
Re:Io programmatroto
« Risposta #10 il: 22 Ottobre 2013, 17:51:50 »
Bella idea l'amiblitz... è aga?

L'ultima volta che ci avevo dato un'occhiata (si parla di anni fa oramai) sfruttava sia aga che, tramite os, schede grafiche aggiuntive. Questa è secondo me il vantaggio di AmiBlitz il fatto che sia possibile passare in modo legale per l'os senza disattivare il mondo come faceva AMOS. Il fatto poi che lo sviluppino apposta con un occhio di riguardo per AOS4/MOS secondo me è un plus non indifferente.
There are only 10 types of people in the world: those who understand binary, and those who don\'t ...

Offline Amig4be

  • Human Debugger
  • *****
  • Post: 6000
  • Karma: +45/-27
    • Mostra profilo
    • Commodore Computer Blog
Re:Io programmatroto
« Risposta #11 il: 22 Ottobre 2013, 18:02:10 »
su amikit va bene con la modalità grafica rtg, ci vorrebbe però qualche file di esempio e un manualetto per prendere confidenza...

Offline saimon69

  • Guru
  • *****
  • Post: 1833
  • Karma: +23/-3
  • Web Dev e musicista da camera (da letto)
    • Mostra profilo
    • binarydoodles Blog
Re:Io programmatroto
« Risposta #12 il: 23 Ottobre 2013, 00:08:04 »
@amiga4be

manco con i tutorial di Digitaly riuscirei a capirci qualcosa rapido in amibiltz :/

E cmq tocca comprare anche quello? che cio la tasca vuota e il braccino accorciato dalla sciura con l'accetta...
AROS : mica bau bau micio micio =^x^=

Offline Amig4be

  • Human Debugger
  • *****
  • Post: 6000
  • Karma: +45/-27
    • Mostra profilo
    • Commodore Computer Blog
Re:Io programmatroto
« Risposta #13 il: 23 Ottobre 2013, 00:21:55 »
l'amos professional oltre ad essere free, ha una libreria di esempi enorme... c'erano anche manuali ottimi

Offline saimon69

  • Guru
  • *****
  • Post: 1833
  • Karma: +23/-3
  • Web Dev e musicista da camera (da letto)
    • Mostra profilo
    • binarydoodles Blog
Re:Io programmatroto
« Risposta #14 il: 23 Ottobre 2013, 00:41:16 »
@cdimauro

Veramente conosco meglio lo spectrum, lo ho usato intensivamente dal 1983 al 1988 (quando ho comprato il 500) e ci facevo anche giochetti in basic e compilati, con inserti di assembler; dare un occhio ai manuali su worldofspectrum era come un ritorno al casolare natio... :)

Se proprio decidessi di fare qualcosa, penso mi trovero' a usare veramente misti di tecniche compilatore ed assembler: ad esempio non e' possibile farne a meno per gli effetti sonori; per altre cose sto ancora organizzando nella mia testolina... o magari e' la volta buona che mi metto a imparare meglio lo z80 assembler,chissa'...

Per altri nostalgici, ho trovato una caterva di link:

http://www.users.globalnet.co.uk/~jg27paw4/pourri/pourri.htm
ftp://ftp.worldofspectrum.org/pub/sinclair/books/ZXSpectrumGameMaster.pdf
http://scratchpad.wikia.com/wiki/ZX_Spectrum_technical_information
http://www.retroremakes.com/remaketalk/index.php?p=/discussion/1853/z80-assembly-tutorials-anyone/p1
http://zxspectrumdev.blogspot.com/2009/01/setting-up-development-environment-on.html
http://zxspectrumdev.blogspot.com/
http://mdfs.net/Info/Comp/Spectrum/ProgTips/
http://www.worldofspectrum.org/forums/showthread.php?t=45213
http://www.worldofspectrum.org/forums/showthread.php?t=40773
http://chuntey.wordpress.com/2012/12/18/how-to-write-zx-spectrum-games-chapter-1/
http://www.boriel.com/wiki/en/index.php/ZXBasic
http://www.worldofspectrum.org/infoseek.cgi?regexp=^Mastering+Machine+Code+on+You%20r+ZX+Spectrum$&pub=^Interface+Publications+Ltd$
http://www.worldofspectrum.org/forums/showthread.php?t=2271
http://microhobby.speccy.cz/zxsf/pagina_1.htm
https://docs.google.com/document/pub?id=1vUneCCC18oXLglzoRcJdrMDUSh7vaO_tGDjzjOc8IhU
http://hackaday.com/2012/10/04/try-out-your-assembly-and-basic-skills-with-a-zx-spectrum-project/
« Ultima modifica: 23 Ottobre 2013, 00:54:47 da saimon69 »
AROS : mica bau bau micio micio =^x^=

Tags: