[ad#ad-metallaro]
Per iniziare: Cos’é Game Maker?
Game Maker è un tool di sviluppo per Windows e recentemente anche per Mac. Fu creato inizialmente dal professore Mark Overmars, e nel corso degli anni è stato molto sviluppato. Ora si è giunti alla versione 8.1 e lo sviluppo è nelle mani dell’azienda YoYoGames.
Game Maker è particolarmente indicato per sviluppare videogiochi, come avrete intuito dal nome, ma nulla vieta di utilizzarlo per sviluppare altri tipi di programmi. Si tratta infatti di un tool potentissimo: un’interfaccia grafica basata su icone e sul drag and drop permette a chiunque di creare semplici giochi in brevissimo tempo e senza conoscenze specifiche. Per chi vuole passare ad un livello più avanzato, è possibile utilizzare un linguaggio di programmazione appositamente creato, GML (Game Maker Language). La sintassi del GML è basata su quella del Basic, del C e del Java, ma semplificata fino all’inverosimile, tanto che può essere appreso completamente in pochi giorni. Per fare alcuni esempi:
- Per creare una variabile in gml basta digitare nomevariabile = valorevariabile; Non è necessario inizializzare le variabili, o specificarne il tipo (string, Int…), se ne occuperà GameMaker.
- Il GML è un linguaggio ad oggetti. La gestione di questi è affidata all’interfaccia grafica che permette di gestire anche progetti grandi in modo comodo. Per facilitare lo sviluppo di un gioco ogni oggetto ha già predefinite variabili come x e y, ovvero la sua posizione, sprite, ovvero la sua immagine, eccetera.
- Sono disponibili comandi appositamente creati per facilitare lo sviluppo di videogiochi. Funzioni come collision, che automaticamente riconosce se due sprite (immagini su schermo) si toccano; oppure funzioni come move, che spostano automaticamente un oggetto su schermo.
Se non avete mai programmato in vita vostra e queste cose vi confondono, tranquilli, il linguaggio è così semplice che si impara in poche ore. Se siete programmatori più esperti e storcete il naso, liquidando Game Maker come semplice giocattolo, sappiate che il linguaggio GML pur essendo molto semplice da usare è molto completo e consente di creare importanti applicazioni. Grazie al supporto a dll esterne poi le sue possibilità sono tendenti all’infinito.
Un tool del genere purtroppo ha anche dei limiti che sono:
- Impossibilità di gestire le risorse manualmente: la gestione delle risorse e della memoria RAM in Game Maker viene gestita automaticamente. Questo semplifica tantissimo lo sviluppo delle app ma le rende anche meno efficienti in quanto a prestazioni.
- Linguaggio interpretato: GML è un linguaggio interpretato. Questa cosa ha dei pro e dei contro, per avere maggiori informazioni vi rimando a Wikipedia. Altrimenti vi basti sapere che di nuovo le prestazioni sono inferiori rispetto a quelle di un linguaggio compilato, anche se l’interprete di GM dalla versione 8 in avanti è molto migliorato in quanto a velocità.
- Poco 3D: lo sviluppo di giochi 3D è particolarmente alieno a GM. Le funzioni 3d sono poche e se volete sviluppare giochi tridimensionali dovrete usare DLL esterne, rendendo il tutto un po’ più difficile.
Game Maker 8.1 ha un costo di 17 euro. Per i novizi è disponibile una versione Lite gratuita, comunque piuttosto completa. Vi consiglio anche di provare alcune versioni vecchie del Tool (dalla 6 in avanti), che sono gratuite o più economiche e comunque ottime.
E’ disponibile anche Game Maker HTML5 che permette appunto di compilare i giochi per Web in HTML5. Il costo purtroppo è di ben 99 euro.
Se la cosa vi interessa vi lascio alcuni link utili che vi permetteranno di imparare ad usare questo splendido tool:
- Il sito ufficiale di YoyoGames, dove potete trovare ogni informazione utile, provare alcuni giochi sviluppati con GM e scaricare il tool.
- La documentazione ufficiale di GM
- Era disponibile un PDF con l’intera documentazione di Game Maker in Italiano, molto utile per chi deve imparare da zero. Purtroppo è stato rimosso dal sito ufficiale, ma è possibile sia ancora in circolazione sul web.
- GameMakerItalia, un sito dedicato al tool in questione dove potrete trovare un sacco di documentazione e di guide in italiano, giochi sviluppati da altri, potrete caricare le vostre creazioni ed entrare in un forum.
- Per rendere l’idea della potenza del tool vi linko due giochi particolarmente belli a mio parere: Echos, Frozzd.
Game Maker Studio:
Il progetto GameMaker studio è attualmente una Beta privata. Questa è la pagina ufficiale: http://www.yoyogames.com/gamemaker/studio
L’idea è quella di compilare i progetti di GameMaker in diversi linguaggi e quindi diverse piattaforme:
- Windows, MAC: C++. Permette quindi migliori prestazioni rispetto a Game Maker tradizionale.
- Web: HTML5.
- Android
- iOS
- PSP
GameMaker studio per ora è ancora piuttosto buggato, e non si sa quando sarà disponibile per tutti. Non si sa nemmeno il costo che difficilmente sarà contenuto, considerando la portata del tool.
In ogni caso, ci sono già applicazioni Android sviluppate con Game Maker, come Reflexions.
Chi di voi è interessato a diventare sviluppatore Android con questo tool?
Ottimo io so usarlo Game Maker non vedo l’ora di creare giochi per Android!
Booo dopo cena proveremo anche questo…
ho sedici anni e di programmazione non so quasi nulla (ho studiato l’html 2 o 3 anni fa e un po’ di linguaggio C), ma la penso come molti programmatori: non è giusto che uno che magari non sa neanche la differenza fra input e output abbia a disposizione un programma che gli permetta di raggiungere risultati simili a quelli di un programmatore che ha studiato per anni. D’altro canto però è l’unico modo per poter, almeno, cominciare. e se lo dico è perché fra 2 anni voglio fare ingegneria informatica e piuttosto che aspettare di andare all’università mi accontento di usare un programmino da script kiddie (anche se imparerei subito almeno 2-3 linguaggi di programmazione, cosa impossibile dato che di guide aggiornate in biblioteca non se ne trovano e che i miei genitori certo non me ne comprano una da 40 euro)
non è giusto? ma che discorso è? scusa allora se attacchi uno col coltello e questo ti spara non è giusto perchè usa una tecnologia superiore/diversa ? e poi che diamine c’entra l’università (che in Italia non vale un cavolo nel 95% dei lavori)? Difficilmente il 99.999% di chi scrive qui lavorerà mai ne farai mai soldi col gaming… è solo un tool che permette di provare a realizzare qualcosa semplificandosi la vita da un sacco di menate noiose… poi ha i suoi limiti ma se non ti va bene sbattiti a superarli e non rompere a chi non vuole farlo.
Per come la vedo io questi tipi di tool andrebbero aboliti, parlo da programmatore che si è fatto il mazzo x oltre 10 anni x imparare linguaggi su linguaggi e sinceramente l’idea di vedere qualcuno che riesce a sviluppare un mega progetto senza il minimo sbattimento ma semplicemente trascinando con drag and drop oggetti e altro dalle barre degli strumenti mi fa abbastanza schifo
Concordo pienamente, sono la rovina della programmazione…
Ciao, anche io sono programmatore e in parte posso essere d’accordo con te.
C’è però da dire che questi tool permettono comunque a chi è creativo di sviluppare qualcosa di buono e naturalmente tanto di cappello a chi li ha creati.
Mi segno sotto questo flame per avere notifiche sulla flamewar che ne nascerà
Non ti adirare per queste cose, da programmatore sai benissimo che i risultati che puoi ottenere da questo tipo di tools, sono al massimo scadenti.
Che razza di idea! A parte che anche se hai studiato per 10 anni i linguaggi, per continuare a programmare devi continuamente aggiornarti, e dei 10 anni di esperienza accumulati solo due o tre ti saranno utili dato che i linguaggi e le piattaforme cambiano in fretta.
In secondo luogo, tool del genere permettono anche a chi conosce già i linguaggi di programmare più in fretta e in modo meno frustrante.
E infine, ricorda che con GM non farai mai le stesse app che programmi in java.
e neanche in Flash
E prima di sputare addosso a Flash come fai di solito, dai un po’ un’occhiata qui :-)
Sìsì, infatti vedrai fra un qualche mese (forse anche meno): il forum sarà pieno di ignoranti che aprono valanghe di topic su come usare i programmini come GameMaker, sostendendo di essere degli abili programmatori in grado di creare dei grandi software. Parlaci te poi con questa gente…
Questo è il bello! Non serve che tu ci parli con loro!
Purtroppo, bisogna adattarsi agli stumenti che vengono forniti.
Comunque non aspettarti grandi cose, le funzioni drag&drop fanno abbastanza schifo. Anche adobe, permette di fare qualcosa di simile con il flash, la programmazione, per come la intendi tu, io, noi informatici, non scomparirà.
certò, subirà un evoluzione, niente di più.
Bisogna orientarsi verso questo mercato multi-piattaforma, ogni tool di sviluppo è buono.
ciao sono nuovo, ho creato un piccolo game con game maker ma come lo salvo in .apk?
L’informatica serve a semplificare le cose, non a complicarle. E comunque il risultato che otterrai tu sarà sempre migliore di quello di uno che usa game maker.
Avrai le tue convinzioni, ma sappi una cosa. Se l’uomo avesse pensato in questo modo, non saremmo nemmeno sciesi dagli alberi. Ed a essere sincero, viste le tue paure, ritengo che tu non sia nemmeno un programmatore sufficiente..
Prima obiezione: con tool di questo genere è praticamente impossibile realizzare progetti molto complessi!
Seconda obiezione: un programma del genere si presta molto bene alla creazione di demo e prototipi! Un designer potrebbe realizzare una versione dimostrativa del gioco che ha in mente, e farlo realizzare in maniera più professionale da un vero programmatore!
Terza obiezione: alcune persone potrebbero avvicinarsi alla realizzazione di giochi per dispositivi mobile, e voler poi imparare a programmare “seriamente” a causa dei limiti di questo programma!
a me quest’ app non fa’ paura sul piano della concorrenza di altri programmatori, ne sul tempo in piu’ od in meno che possa servire per sviluppare un programma……
Mi fa’ paura quando un capetto ignorante si trovera’ in mano quest’ app, abbozzera’ qualcosa, e poi trovandosi a dover risolvere qualcosa che per lui e’ poca roba, mi passera’ il programma da SOLO MODIFICARE LEGGERMENTE, leggasi rifare d’ accapo con altro linguaggio ,e se gli diremo che c’e’ da farsi un mazzo, non ci credera’.
stessa situazione, dopo che avra’ provato a far qualcosa in breve tempo e poi vorra’ fatta il programma di gestione dello space shuttle, gia’ pronto per ierie, perche’ e’ facile.
Ahahahah azienda che vai, capetto ignorante che trovi, deve essere una legge universale.
è cosa indipendente dai tool/linguaggi usati…
Ben vengano questi tipi di Tool , anzi cosi’ dovrebbe essere la programmazione , semplice veloce disponibile…….e’ il futuro.
Condivido con te l’ amarezza ,ma i tempi cambiano e bisogna adattarsi, rimarrai comunque un progettista della programmazione per le cose piu’ raffinate e piu’ critiche dove questi probabilmente non potranno arrivare…..per ora.
il troppo astrattismo genera solo spaghetti code.
Bisogna abolirlo non tanto per la (nulla) concorrenza, quanto per gli abomini di codice che riempiranno le applicazioni fatte con questo tool.
“il troppo astrattismo genera solo spaghetti code.” bella frase… non è vera ne ha senso, ma bella
beh mi sembrava alquanto sensata, più sali di livello con i codici, più è facile generare casini nel codice. E così al posto di scrivere una riga fatta BENE, il programmino con i bottoncini ne scrive 20, mal indentate e di difficile comprensione.
Considerando che il linguaggio adoperato in android è già alto di suo, non lo trovo molto funzionale aggiungere altri livelli. Quindi perchè non avrebbe senso?
Un tempo chi voleva sviluppare un gioco doveva partire dall’engine grafico, audio e fisico. Oggi abbiamo SDK quali UDK o il sistema integrato Steam (piuttosto che Unity) che ti permettono di evitare di perder tempo a sviluppare cose che non te ne frega niente (come ad esempio un engine grafico quando ne esiste già uno performante e che funziona secondo le tue specifiche), lasciandoti “solo” la stesura delle intelligenze artificiali, modelli 3D, trigger etc. Non puoi dire che faccia schifo, alla fine è tutta tecnologia. Io piuttosto sarei invidioso :) (ma non lo sono, utilizzando tali sistemi anch’io da bravo programmatore ^^).
Certo, qui in Italia la sindrome del not-made-here è sempre presente.
ingnorante che non sei altro dovremmo abolire anche engine3 della crytek che lo uso io che non conosco una linea di codice ma fammi il piacere di stare zitto che se era per i programmatori puri saremmo indietro da una 20 anni
mi piacerebbe molto ma non niente dei linguaggi…
Se hai voglia di imparare con gm si fa veramente in fretta, senza bisogno di conoscenze precedenti.
lo scaricato, adesso spero di riuscire a fare qualcosa.
Ma si trova nel Market? O è per pc?
Proveremo anche questo.
Concordo pienamente con le idee di And e di Scuttari sul fatto che questi tool non vadano sviluppati. Ora butto li un esempio che forse a molti sembrerà molto stupido ma per me non lo è e anzi è piuttosto veritiero e snervante. Immaginate una persona che all’improvviso ha una buona idea per un software che nessun’altro ha già sviluppato e che quindi potenzialmente gli permetterebbe anche magari di guadagnarci qualcosa che ha speso anni della sua vita studiando per diventare programmatore o ha comunque passato mesi e mesi a studiare il linguaggio di programmazione necessario al suo scopo (java, c, c++ o altro) e mettiamoci anche magari l’uso delle opengl per magari produrre qualcosa di graficamente bello. Dopo aver finalmente sudato 7 camicie e aver creato il suo programma/gioco e dopo averlo ampliamente testato e averlo pronto da mettere sul mercato (poniamo il market android) all’improvviso scopre che 4/5 giorni prima (o anche solo il giorno precedente) qualcuno ha pubblicato un programma/gioco identico al suo ma sviluppato tramite uno di questi software “di facile uso” magari da parte di uno che la parola programmazione l’ha sentita solo in riferimento al videoregistratore. Ora poniamo anche naturalmente il caso in cui questa persona che ha sviluppato l’app in modo “più semplice” e senza sforzi abbia messo questa app a pagamento e che quindi ci stia pure guadagnando sopra. Provate ora a mettervi nei panni del programmatore che si è sbattuto, si è visto realizzata la propria idea in magari 1/10 del tempo (e senza tanti sforzi) e che vede sfumare tutti i suoi possibili guadagni/clienti/download. Cosa ne pensate? Non uscitevene con frasi del tipo “beh basta che abbia un’altra buona idea” o simili perchè allora non avete la minima idea di quanto sforzo mentale e inventiva ci voglia per avere una buona idea che possa diventare magari redditizia al giorno d’oggi con tutte le migliaia di app in circolazione.
be se questo programmatore e’ davvero cosi’ bravo la sua app sara’ sicuro migliore e piu’ performante della sua gemella fatta con un tool qualsiasi quindi la mettera’ in vendita e la qualita’ verra premiata ( studio pure io informatica all’uni )
Infatti! Uno di questi tool è buono per creare giochi di basso livello, in ogni caso anche il programmatore può utilizzarlo e magari migliorarlo tramite codice!
dubito possa accadere….ho visto il tipo di giochini realizzati con il Game Maker…
Beh ma allora visto che sto realizzando la mia idea, vi potete fermare un paio di mesi?…no perchè magari la state realizzando anche voi…ma che cavolo dici Brian!!
beh , con tutto il rispetto per il programmatore che ha sudato 7 camicie, ma si vede che l’latro (che ha utilizzato GameMaker che in questi commenti difinite un tool per fare al massimo una cosa decente) è stato mooolto più in gamba ;-) scherzi a parte. Programmo da 15 anni per grandi enti e conosco più o meno tutti i linguaggi di programmazione e sistemi operativi, e vi garantisco che dopo 15 anni a fare copia e incolla di pezzi di codice da un programma all’altro (perché non mi venite a dire che il 90% del codice non è già stato scritto da qualcun’altro) sono stufo di scrivere. Con un tool del genere mi risparmio un sacco di tempo ( e a me pagano a tempo nel senso che meno ci metto più guadagno) potrei finalmente mettere in pratica la mia esperienza di programmazione senza scrivere tutto tutto il codice… ma dove si firma? :) va bene scrivere un po di codice per personalizzare qualcosa, ma dopo tutto mi sono davvero stufato di scrivere ogni singola sub, ogni singolo controllo, ogni singola classe…. dopo 15 anni… viva semplificare un po le cose ;-)
IO utilizzo App Game Kit, un software analogo a questo, e vorrei dire a chi si inorridisce che alla base di questi tool ci stà il linguaggio Basic, negli anni 80 ho preso un diploma e ci ho dedicato anni, semplicemente è andato perduto nel tempo soppiantato da più moderni linguaggi come il C…
Se da un lato c’è la più facile forma di programmazione che possa esistere, ad esempio basta quasi solo conoscere l’inglese e poi gli scrivi riga per riga quello che vuoi che il programma faccia, ci vuole passione e tecnica per tirare fuori un programma perfetto, ed è un peccato che oggi il Basic sia un lontano ricordo.
Da vecchio dilettante su mShell per Symbian posso dire che ci sarà da divertirsi e sopratutto che è inutile creare polemiche; se uno è bravo perchè ha studiato per anni ben venga, lo dimostri pure!
non conta nulla o quasi, molta gente studia e lavora nel campo e per scarsa indole o mancanza di aggiornamento vale meno di chi ci lavora da molto meno tempo ma con più passione (o anche solo perchè ci sono più portati)
Ciao ragazzi, la mia domanda è molto semplice quanto niubba:
programmare un app per android e ios, è molto più difficile che creare una mod per videogiochi come skyrim, dove invece serve creare texture, meshes e un .esp?
piu difficile arredeare e scegliere la carta da parati o costruire la casa e gli impianti di luce, gas e acqua?
Mi sembrate un branco di vecchi matematici incartapecoriti che si indignano davanti alla calcolatrice. il vostro ragionare è anacronistico. Seguendo questa logica che i tool ad ampia portata siano l’incarnazione del male, potremmo prendercela con almeno il 50% dei programmi. Invece di usare win movie maker, perché non usate avid? Invece di usare powepoint, perché non usate indesign? Invece di usare nvu, perché non usate dreamviewer? Potrei andare avanti…
Sono programmatore dalla fine degli anni 80, ricordo le prime lezioni, si parlava della programmazione in fortran su schede perforate :-O.
Il tempo passa, tools come questi non fanno male a nessuno, ben vengano. E’ come andare in bicicletta con le rotelle attaccate, il programmatore esperto le rotelle non le usa, ma quello inesperto, può andare a piedi o andare in bici con le rotelle, piano piano ok, ma pedalando. Ovvio che senza rotelle si può andare in discesa 100Km/h però :-)
aggiungerei che il 98% della gente che parla qui e altrove, non saprebbe fare nemmeno un giochino banale (in pratica dico e che funzioni, non in teoria o abbozzato)
A tutti i programmatori che vanno contro questo tipo di tool chiedo, scommetto che voi scrivete tutto in assembler o in c puro a partire dalle librerie di base?
L’informatica va avanti, e va avanti di corsa, noi che dovremmo essere davanti a guidare questa corsa, ci lamentiamo perchè siamo a piedi e arriva gente a cavallo.
Ma bisogna adeguarsi. Ai miei tempi facevo programmazione web e passavo ore ed ore a fare delle cavolate minuscole, ora uso jquery, ma non mi vergogno mica. C’è gente che usa jquery e manco sa cos’è un puntatore, e realizza anche prodotti migliori dei miei, ma non gliene puoi fare una colpa, così come non puoi farla ai creatori del framework.
Quando ci fu l’avvento dei tool per il web, sembrava che chiunque potesse realizzare un sito e non ci sarebbe stato più bisogno di un programmatore.
Bastava aprire word e fare “Salva come HTML” o scaricare uno dei migliaia di software che ti permettevano di creare un sito in 10 minuti.
Beh, sono passati 15 anni e i programmatori web sono ancora qui. Se domani ci sarà un ragazzino che con poco sforzo potra fare “tetris”, probabilmente TU vero programmatore, con lo stesso sforzo potrai configurarti un motore grafico e fare “Assassin Creed” (cosa molto lunga e molto molto difficile per il 90% dei programmatori che hanno anche studiato anni)
E’ una ruota, il livello si alza sempre, ma se hai studiato starai sempre in cima.
Signori scusate ma quello che stata dicendo secondo me risulta alquanto fuori da ogni schema di programmatore.
Qua si paral di un tool per sviluppare velocemente … tutti voi lo attaccate come se fosse il “male” … ma vi rendete conto che giornalmente tutti noi (intendo programmatori, sistemisti, sviluppatori architetti del software…) usiamo tool per facirlitarci la vita. Se così non fosse staremo ancora a programmare in Assembly. Oggi giorno non conosco tanti sviluppatori che continuano a lavorare con le mov, jmp e le nop. Tutti noi usiamo “tools” che ci facilitano nel nostro lavoro vedi Visual C++, Visual C#, Visual “quello che vuoi”, lo stesso ambiente di sviluppo NetBeans può essere considerato un tool per velocizzare il nostro lavoro.
Ricodiamoci comunque che più si velocizza il lavoro e più difficile sarà ottimizzare. Si tratta di mercati completamente diversi.
Spesso sento dire da clienti “Si ma questo lavoro se lo faccio fare ad un ragazzo che studia qualsiasi istituto tecnico me lo fa in un terzo del costo”… la mia risposta è sempre stata “benissimo fallo fare a lui” ed in genere alzavo i tacchi ed andavo via, quello non era un cliente per me, non era un cliente che aveva bisogni della mi consulenza.
Signori un conto è essere amatori ed un conto è essere professionali, sono due mercati completamente diversi.
Piccolo consiglio, cercate il vostro mercato ed evitate di sprecare risorse in ambienti poco reditizzi e dispersivi.
Ciao Vinsanto
Non ci credo lo usavo 10 anni fa :) Non sono mai riuscito a combinare un tubo xD
Io sento discorsi allucinanti: primo. voglio vedere se qualunque software house utilizza game maker per fare giochi! Secondo. Il C e tutti i linguaggi simili non sono altro dei tool come questo che ci permettono di non programmare in linguaggio macchina!! Percui se uno ha studiato il linguaggio macchina (molti anni fa ormai) all’uscita di questi si sarebbe dovuto suicidare! Per esperienza personale, più una cosa è semplice da usare e più restrizioni porta con se, percui non abbiate paura di questi tool, l’importante è l’idea di game, è quella che ne determina il successo!
L’unico gioco che ho programmato interamente è stata una battaglia navale in linguaggio c, completamente testuale ed usando le matrici, e ne ero fiero!
Una volta la programmazione era un arte perché si avevano disposizione 64 Kb di ram…. ora un 1Gb ce l’ho sul telefono….
Per non parlare della potenza di calcolo dei processori…
Da non programmatore posso dire che questi tool per i super user sono come un gioco, un bellissimo gioco!
Bel programma per chi non ha il tempo di sbattersi a imparare linguaggi e vuole provare a fare qualcosa, lo trovo un’ottimo programma.
C’è anche chi lavora 8 – 9 ore al giorno e non ha il tempo che a altra gente per imparare
i linguaggi. :P
[…] avevamo già parlato di GameMaker Studio, un ambizioso kit di sviluppo incentrato sulla semplicità d’uso e sulla possibilità di […]