|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
[JAVA][2D Programming, Game] Avoid Common Pitfalls...
Consiglio questo breve articolo a tutti coloro che per vari motivi si trovano a programmare applicazioni/giochi in 2D in Java per cui la questione delle performance è importante.
Molto utile come punto di inizio per imparare a conoscere le strategie di base da utilizzare in merito. Ulteriori ricerche possono essere approfondite consultando il materiale citato (come il blog di Chet Haase). Ciao
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Minueto, a multi-platform 2D API
L'articolo di cui sopra è stato scritto da uno studente che ha implementato un sdk per giochi 2D in Java che si chiama Minueto.
Per maggiori dettagli: Minueto
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Sep 2005
Città: Torino
Messaggi: 606
|
Grazie mille!!!
__________________
"Se proprio dovete piratare un prodotto, preferiamo che sia il nostro piuttosto che quello di qualcun altro." [Jeff Raikes] "Pirating software? Choose Microsoft!" |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Ho dato un'occhiata a Minueto e alla sua documentazione (howTo e javadoc).
Mi sembra ben fatto e particolarmente adatto a chi si trova nella posizione di: > implementare un'applicazione grafica 2D performante; > non avere precedenti conoscenze in ambito di programmazione Java2D; > essere da solo nell'implementare tale applicazione; > essere un neofita. Inoltre può risultare intereressante studiare le (poche) classi di tale libreria (non ho ancora controllato se i sorgenti sono disponibili) per capire che tipo di astrazione è stata costruita sulle classi messe a disposizione nel JDK della Sun e come è starta costruita. In particolare, sembra che la focalizzazione sia mirata a sollevare l'utente dai dettagli derivanti dalla manipolazione e gestione diretta di quelle classi che normalmente vengono usate per gestire le immagini e il rendering in Java2D con la tecnica del double buffering e l'uso delle managed images. Buona caccia
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Link a risorse utili.
GRAFICA, SPRITE & TOOLS
|> [Sprite] SpriteLib GPL SpriteLib GPL, una raccolta di sprite statiche e animate distribuita con licenza GPL. |> [Tool] Tiled, a generic tile map editor Un general-purpose tile map editor scritto in Java. |> [Sprite] Sprite Sheets Raccolta di sprite a varie tematiche: fantasy generico, Halo sprites, Sapphire Unleashed, Inuyasha, Sesshomaru, il mitico Megaman e company, Sonic the Hedgehog, Gundam in tutte le salse, Heavy Arms, Medabots. |> [Sprite] Lost Garden: free game graphics Lost Garden è un blog dedicato all'arte e al game design, zeppo di interessantissimi articoli in merito. C'è anche qualche sprite liberamente scaricabile: Danc's Miraculously Flexible Game Prototyping Tiles. TUTORIALS VARI |> [Libro] Designig Arcade Computer Game Graphics Autore: Ari Feldman. Libro fuori stampa, l'autore ne ha permesso la distribuzione in formato elettronico. Testo in lingua Inglese. Il libro tratta della progettazione e dello sviluppo della grafica 2D di alta qualità per viodeogiochi di tipo "Arcade", ma include argomenti quali: il game design, la documentazione, l'uso appropriato dei colori e dei font più adatti. Liberamente scaricabile. |> [Sito] Coke And Code Selezione di tutorial ben segmentati in capitoli che introducono e spiegano la programmazione di un gioco in Java un passo alla volta, costruendo un giochino completo in varie lezioni. Ottimo punto di partenza per chi conosce già il linguaggio ma parte da zero per quanto riguarda l'implementazione di un gioco. Consigliato. JAVA, VARIE ED EVENTUALI |> Performance Tuning Threads JavaGaming.org hosta un forum tutto centrato sul tema della creazione di giochi 2D/3D in ambiente Java e delle relative problematiche. Il forum è frequentato da molti utenti molto esperti nella materia (tanto per rendere l'idea, alcuni della crew di PuppyGames, se ho ben capito, più gente che a titolo più o meno vario è o è stata in stretto contatto con alcuni dei progetti dietro le librerie LWGL, JOGL, Java3D e compagnia bella). Il forum è ovviamente in lingua inglese. Consigliato solo a chi sa bene "le basi", e vuole invece sviscerare aspetti di nicchia molto avanzati. |> Full-screen Eclusive Mode API Lezione sulla modalità esclusiva a schermo interno, funzionalità presente dalla versione 1.4 della piattaforma Java. Un must da usare nel contesto delle applicazioni graphics-intensive, come i giochi. |> Java Games: Active Rendering Articolo che spiega la modalità nota come "active rendering"; uteriori informazioni per usarlo sia in windowed mode che in fullscreen exclusive mode.
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) Ultima modifica di banryu79 : 03-09-2009 alle 13:08. Motivo: aggiornamento |
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Apr 2002
Città: Palermo
Messaggi: 4913
|
Veramente interessante, soprattutto l'ultimo link..chi di noi non ha mai sognato di realizzare un gioco?
Io, ad esempio ho sempre sognato di realizzare un mio super mario Comunque scherzi a parte, si potrebbe pure trarre del profitto dallo sviluppo di giochini per cellulari. IMHO è un campo molto interessante! |
|
|
|
|
|
#7 | |
|
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Quote:
Questo "sogno nel cassetto" ce l'ho sempre avuto anch'io, pensa che c'era un gioco per il NES di cui mi ero innamorato: "Cip'n'Dale Rescue Rangers" e siccome leggevo Topolino, all'epoca, e il personaggio di Paperinik mi piaceva troppo, sognavo di fare un gioco analogo con Paperinik come protagonista... All'epoca coinvolsi mia sorella per disegnare su carta con la matita i livelli e relizzammo i personaggi (Paperinik e qualche anonimo avversario) come figurine ritagliate sulla carta, da usare negli scenari creati: finì tutto nella pattumiera il giorno dopo [OT] Per tornare in topic: sto seguendo i tutorial dell'ultimo link della lista; sono fatti bene, secondo me, approccio graduale, chiaro. Sono corredati dai sorgenti completi del mini-gioco in oggetto, implementato in diversi modi (per esempio c'è space invaders in puro Java2D, poi in versione OpenGL 2D tramite JOGL e infine tramite LWJGL). Penso di completare Space invaders per poi divertirmi ad estenderlo. P.S.: nel sito puntato dall'ultimo link della lista c'è una sezione dedicata a Java Web Start che, tra l'altro, spiega come firmare i file .jar e come usare JNLP.
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) Ultima modifica di banryu79 : 17-12-2008 alle 12:19. |
|
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Nov 2005
Messaggi: 2789
|
Complimenti per il bel thread! L'ho salvato tra i preferiti, grazie!
|
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
|
questo mi era sfuddito....conoscete qualche prodotto finito per vedere le potenzialità?
__________________
My gaming placement |
|
|
|
|
|
#10 | |
|
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Quote:
Qui c'è una pagina nel loro sito che ne illustra alcuni. Ma dubito che sia usata per prodotti commerciali o di un certo rilievo, dato che come funzionailtà è piuttosto minimale se confrontata con altre famose librerie (tipo LWJGL o la GTGE). Considera che il motivo primo della sua creazione era lo studio delle classi del JDK della Sun di Java2D, e come rendere certe operazioni più comode. Poi è venuta fuori una cosa carina e l'hanno pubblicata, o almeno questa è l'idea che mi sono fatto al riguardo. Qui c'è E qui i javadoc della API: come vedi è facilmente abbordabile anche dal singolo programmatore novello, vista la ridotta quantità di classi. Con un po' di studio già solo sui javadoc si riesce ad avere una panoramica completa sulla libreria.
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) Ultima modifica di banryu79 : 08-07-2009 alle 14:32. |
|
|
|
|
|
|
#11 | |
|
Senior Member
Iscritto dal: Nov 2007
Città: Bergamo
Messaggi: 307
|
Quote:
Io queste: Aggiunto la possibilita' di definire una lista di immagini per ogni oggetto, in modo da avere una mini animazione. Gli alieni sparano. Quando i miei colpi e quelli degli alieni si incontrano si autodistruggono. Quando gli alieni vengono colpiti "esplodono". Sono modifiche molto spicciole. Ora avevo intenzione di aggiungere i massi che pian piano si distruggono. Scrivo questo post per poter magari confrontare le varie implementazioni di una stessa funzione e discuterne |
|
|
|
|
|
|
#12 | |
|
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Quote:
A, e poi avevo aggiunto una strombazzata (Toolkit.beep) ogni volta che si colpiva un alieno
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) |
|
|
|
|
|
|
#13 |
|
Senior Member
Iscritto dal: Nov 2007
Città: Bergamo
Messaggi: 307
|
Si si, la data dei post l'avevo vista, era per quello che pensavo fossi andato avanti
Comunque grazie per i link, davvero ottimi
|
|
|
|
|
|
#14 |
|
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Highlight
Un piccolo up.
Magari è una cosa scontata ma non si sa mai: dalla versione 1.4 della piattaforma JavaSE si può utilizzare la "Modalità esclusiva a schermo intero". In pratica una sorta di undecorated window massimizzata a fullscreen dove si può bloccare la gestione del rendering da parte del "windowing system" del sistema operativo e ottenere pieno controllo del ciclo di rendering stesso. Non che prima non lo si avesse, ma ora il windowing system non "si intromette" più con le sue richieste di repaint. Questa modalità, unita alle tecniche per manipolare immagini in modo efficiente è una manna per chi deve scrivere applicazioni graphics-intensive (per esempio videogiochi) ad alte prestazioni. - The Java Tutorials - Lesson: Full-Screen Exclusive Mode API
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) Ultima modifica di banryu79 : 28-08-2009 alle 15:32. |
|
|
|
|
|
#15 |
|
Senior Member
Iscritto dal: Nov 2005
Messaggi: 2789
|
Questo tuo post capita proprio a proposito, circa un mese fa mi ero impantanato con la gestione del fullscreen, non pensavo ci fosse un tutorial ufficiale. Sto facendo uno sparatutto a scorrimento verticale con degli amici, stiamo scrivendo sia l'engine che il videogioco, per ora ci stiamo concentrando più sul primo e volevo rendere semplice la gestione del fullscreen. Grazie per il link.
|
|
|
|
|
|
#16 |
|
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
@wingman87:
Ciao, credo troverai questa pagina web una buona risorsa per informazioni circa la tecnica dell'active rendering sia in windowed mode che in full screen mode. - Java Games: Active Rendering
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) |
|
|
|
|
|
#17 | |
|
Senior Member
Iscritto dal: May 2008
Città: Seattle (WA)
Messaggi: 306
|
Quote:
__________________
"Considerate la vostra semenza fatti non foste a viver come bruti ma per seguir virtute e canoscenza" |
|
|
|
|
|
|
#18 |
|
Senior Member
Iscritto dal: Nov 2007
Città: Bergamo
Messaggi: 307
|
Per chi ne avesse bisogno un'ottimo editor per mappe 2d:
http://mapeditor.org/ Un po' di immagini varie: http://spritecity0.tripod.com/id4.html Ultima modifica di Caldwell83 : 02-09-2009 alle 17:35. |
|
|
|
|
|
#19 |
|
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Immagini liberamente usabili per motori tile-based si trovano anche qui:
http://lostgarden.com/labels/free%20...0graphics.html Alcune sono veramente spettacolari. Una volta ero lì che cercavo per l'ennesima volta di mettere insieme due pixel che non sembrassero la solita ciofeca quando sono capitato su quel sito e, be', a momenti mi mangio la tavoletta grafica con penn-harakiri di rimando. Questo set ad esempio è meraviglioso: http://lostgarden.com/uploaded_image...est-760306.jpg
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
|
|
|
|
|
#20 |
|
Senior Member
Iscritto dal: Nov 2007
Città: Bergamo
Messaggi: 307
|
Pure io l'avevo trovato questo sito.
Sono tutti molto belli e ce ne sono per tutti i gusti. Io ho intenzione di usare il set Hard Vacuum. Edit: Un bel progetto da cui sono partito: http://www.fabiensanglard.net/Prototyp/index.php E' sviluppato tramite OpenGL con le librerie lwjgl. Ultima modifica di Caldwell83 : 03-09-2009 alle 08:22. |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 22:12.




















