Forum > Presentazioni nuovi utenti

Son già partito male...

(1/1)

mmxngg:
...postando prima altrove...ma rimedio subito  ;)

Ciao a tutti, mi chiamo Maurizio, 32 anni suonati (ma ero suonato già dai 10) e sono di Milano.

Ero alla ricerca di un ambiente RAD gratuito  (magari open source) e possibilmente senza l'utilizzo di librerie in Microsoft style (.NET e pazzie simili dalla lentezza esasperante) e mi sono imbattuto in Lazarus. Bello, semplice e discretamente veloce, peccato per i difetti sparsi qua e la ma spero migliorino nel tempo.

Ho iniziato a programmare per diletto dai 12 anni, poi per lavoro dai 18. Son partito con il classico basic (QBasic sotto dos se non ricordo male), poi il pascal della borland, assembly e non ricordo più cosa. In ambito lavorativo uso prevalentemente il Cobol (eh già....mi è toccato per lavoro), C/C++, Assembly x86 e ho avuto qualche esperienza in Visual Basic (esperienza terribile....non esistono/esistevano i puntatori), Clipper e PHP.

Utilizzerò Lazarus per un progetto personale, inizialmente per semplice divertimento poi chissà. L'intento è di creare un ambiente grafico per lo sviluppo di oggetti 2D (texture) 3D (mesh) e audio di tipo procedurale. Lazarus è il candidato per la realizzazione dell'ambiente di disegno/integrazione, le librerie saranno scritte prevalentemente in assembly (fin dove si può) e in C/C++/HLSL o GLSL (spero il secondo ma probabilmente sarà il primo).
Il fine (se mai ci sarà  ;D) è quello di creare un insieme di tool per realizzare, in modo visuale e con 0 codice, delle demo grafiche e partecipare a qualche manifestazione sul genere.

Per rendere meglio l'idea su cos'è una demo e di cosa sto parlando potete visitare il sito pouet.net

L'idea è nata circa 5 anni fa con altri ragazzi sparsi un pò per l'europa ma a causa dei vari impegni abbandonai il progetto (lavoro, donna ecc. ecc. ). Se siete interessati e avete un minimo di esperienza nel campo...bhe...fatevi avanti ;) A scopo personale può regalare parecchie soddisfazioni e se si è particolarmente fortunati e in gamba anche delle eventuali opportunità lavorative più che interessanti visto che ci si mette a confronto con gente che lavora per Epic, Pixar ecc. ecc. (per esempio uno dei ragazzi con cui è nata l'idea oggi lavora in NCSoft e l'hanno "scoperto" proprio in una di quelle manifestazioni li).

Penso sia tutto  ;)

Microges2000:
Ciao e benvenuto.

Quel sito lo conoscevo e contiene una marea di "roba" interessante. facci sapere di più sul tuo progetto

xinyiman:
Già tienici informati! :) E' proprio un bel progetto!

mmxngg:
Passatemi il gioco di parole ma...spiegarlo in parole semplici è complesso  :P

Ci provo magari aiutandomi con qualche esempio, partendo da lontano e sperado di arrivare.

Essenzialmente un gioco o una demo è un'insieme di oggetti visivi e non, mostrati, animati o trasformati a video. Tipicamente questi oggetti sono creati con tools di animazione, fotoritocco e editing 3D e archiviati su disco nei formati più vari per poi essere letti ed elaborati dal gioco o demo in questione. Questo è l'approccio classico che è anche quello più utilizzato. Esiste però anche l'approccio procedurale (o a strati se vogliamo farla semplice) che essenzialmente utilizza calcoli matematici per la realizzazione degli oggetti.

Quest'ultimo ha svariati vantaggi tra cui :

- Quando è effettuato in tempo reale non archivia sul disco l'oggetto finale (quello che noi effettivamente vediamo o sentiamo) ma solo le informazioni (i parametri) che servono alla sua generazione (tipicamente pochi kilobytes se non bytes).
- Ha la possibilità di ricreare la stessa informazione a qualsiasi risoluzione voluta senza la minima perdita di qualità o di informazioni.

E naturalmente ha i suoi svantaggi  :

- La difficoltà dell'implementazione
- La lentezza degli algoritmi che devono ricostruire tutte le informazioni partendo da pochi paremetri
- E' piuttosto difficile realizzare con estrema precisione quello che si vuole realmente visto che si lavora su pochi parametri e non  su pixel, vertici o campioni audio

In sostanza quasi tutto può essere sintetizzato dal nulla o quasi tramite l'uso di pochi parametri guida e l'interpolazione di vari effetti.

Partendo da questo presupposto l'idea è di creare varie librerie procedurali (una per ogni tipologia di oggetto) e per ognuna di queste un tool per la parametrizzazione dei vari effetti ed infine creare un tool in grado di interfacciare il tutto.

Quindi :

- Una libreria e un tool per la realizzazione delle immagini (le texture da applicare agli oggetti tridimensionali)
- Una libreria e un tool per la realizzazione degli oggetti tridimensionali
- Una libreria e un tool per la generazione degli effetti audio e della musica in generale
- Un tool di interfacciamento che essenzialmente opera da timeline per l'animazione e da collante per tutti gli altri

Escludendo l'ultimo step, i primi condividono la fare di progettazione dell'oggetto quindi fatto il primo si è già a metà dell'opera e la vera difficoltà sta esclusivamente nelle librerie.

La progettazione di un oggetto procedurale viene effettuata per passaggi e tipicamente si utilizza un'approcio che è un'ibrido tra lo stack e il grafo dove ogni elemento / foglia è un'effetto.

Prendiamo per esempio la generazione di un'immagine, questa può essere creata con vari effetti tra cui (cito i più semplici per non complicare il tutto) :

- Una semplice sfera
- Un insieme di pixel sparsi a video
- Uno sfocamento dell'immagine
- Una sorgente luminosa che riflette il colore della luce sull'immagine
- ecc. ecc.

Utilizzare singolarmente questi effetti non crea un granchè ma è sorprendente quello che si può creare iniziando a mischiarli fra loro e in questo viene d'aiuto il tool di progettazione che ha lo scopo di impostare i vari parametri e collegare i vari effetti fra loro mostrando a video il risultato ottenuto.

Se non mi sono perso e non vi siete persi  ;D unendo il tutto si riesce a ricreare un mondo partendo dal nulla.

Navigazione

[0] Indice dei post

Vai alla versione completa