PDA

View Full Version : [Videogiochi] Da dove iniziare?


misconosciuto
21-02-2011, 11:59
Ciao a tutti, ho imparato il linguaggio Java.
Ora volevo provare a fare un videogioco, semplice semplice magari in 2D.
Qualcuno sà consigliarmi da dove iniziare per fare la grafica? Un sito un libro, qualsiasi cosa :)
L'approccio alla programmazione cambia quando si programmano videogiochi?

Grazie ;)

PGI-Bis
21-02-2011, 12:22
L'approccio cambia perchè scopri praticamente subito che il problema non è programmare ma disegnare - nel senso artistico del termine.

A libri, su java, puoi provare con

http://www.brackeen.com/javagamebook/

Altrimenti se riesci a digerire python io non butterei via l'idea di usare Blender che ha un game engine integrato. Può sembrare strano ma è molto più facile fare un gioco 3D in proiezione ortogonale che non un gioco 2D, perchè le api 3D che trovi in giro hanno un sacco di utilità preconfezionate che vanno bene anche per il 2D (alberi, telecamera, spostamenti vari, collisioni eccetera).

wingman87
21-02-2011, 14:15
Ti consiglio anche questo forum:
http://www.java-gaming.org

misconosciuto
21-02-2011, 14:29
Grazie mille, e per aspetti più teorici o grafici? :)
Anche perchè sicuramente non programmerò solo in Java ma magari in futuro anche in C++ e altri linguaggi. :)
Grazie :D

PGI-Bis
21-02-2011, 14:32
Spulcia un po' gamedev, trovi riferimenti a tutto e anche di più

http://www.gamedev.net/

ingframin
21-02-2011, 22:50
www.unrealproject.org

Ottima comunità italiana :-)

Tommo
23-02-2011, 01:20
Al solito, il forum che ho in firma è l'ideale :D

Comunque Java per iniziare va benissimo, ma se vorrai andare avanti a Java manca un "motore di gioco" degno di questo nome, e dovrai appoggiarti direttamente alle OpenGL (bel paradosso per un linguaggio di alto livello :asd: ).

Poi dipende: se ti piace fare le cose guardando al dettaglio, OpenGL/DirectX + API del SO è quello che cerchi - ma non riuscirai a fare un gioco in poco tempo con queste.
Molto più probabilmente ti perderai come tutti nel "fare il tuo motore", e ci resterai per anni. Uomo avvisato :asd:

Se invece vuoi fare proprio un gioco esistono una cifra di motori che offrono veramente tanta roba:
Ogre3D (C++)
SDL (C++)
SFML (C++)
Unity (C#)
Cocos2D (Python)
Flixel (Flash)
UDK (UScript)
pygame (python)
Flash liscio
Game maker (GML)

Ma come dice giustissimamente PGI-Bis, con un motore prefabbricato molto (se non la maggior parte) del lavoro è creare contenuti :read:
Un gioco non si "programma", c'è moltissima altra roba da fare.

@PGI-Bis: sto ri-facendo un gioco che prima era 3D isometrico con Ogre con un motore OpenGL 2D mio... ho rifatto in 1 settimana quello che avevo fatto in mesi.
C'è anche che sono più esperto e so dove sto andando a parare, ma il 3D è _sempre_ più difficile da gestire, secondo me.
Import dei modelli, animazioni, shader, filtri, scene graph... contro assegnare posizioni a sprites. Non c'è paragone :D

PGI-Bis
23-02-2011, 01:50
Di motori java degni ce ne sono almeno due, uno è JMonkeyEngine 3, che è un po' incasinato ma pur essendo ancora in alpha, è un gioiello, l'altro è Ardor3D, che è di una rarissima eleganza come libreria in sè.

Entrambi più che sufficienti per fare qualsiasi gioco 3d, di qualsiasi generazione. Posto che si sappia come usare un modellatore 3D tipo blender, maya e affini. Il problema è sempre quello.

E' chiaro che usando un'api C++ uno è svantaggiato, perchè deve scrivere il codice con una mano sola.

ingframin
23-02-2011, 08:56
Io mi sto divertendo con pygame ma lo scoglio principale per giochi 2D non è la programmazione, è tutto il resto.
A cominciare dai disegni dei fotogrammi a finire con la trama e la musica, queste cose richiedono doti artistiche che non tutti hanno, io per primo non le ho.
Far muovere è sparare un personaggio in una stanza 2D (stile vecchi giochi di Zelda per super nintendo) non è affatto complicato, fare un bel gioco è senza saper disegnare, comporre musica e saper scrivere una bella storia è impossibile.
Il 3D richiede molta più fantasia da parte del programmatore e molta molta più matematica.