KULT Underground

una della più "antiche" e-zine italiane – attiva dal 1994

Quake Editing: capitolo V

9 min read

Quake Editing:
Capitolo quinto


Bene bene bene… ormai il peggio è passato, non rimane altro che la parte più leggera e tutto sommato divertente:

l’editor di livelli.

Definisco questa parte leggera perché non si parla di ostici eseguibili da lanciare in shell con parametri maledetti che si confondono tra loro con una facilità disarmante e percorsi di file lunghi e dannatamente stupidi (quelli della serie: ma chi diavolo ha dato un nome così stupido al mio file?)
Definisco inoltre divertente questa parte per lo stesso motivo: un editor è per definizione bello, versatile e soprattutto comodo, non per niente è poi lui che si grava del compito di cui si parlava prima (shell, parametri, cartelle e sottocartelle, nomi di file insensati), col vantaggio che lui, a differenza di noi, non può rompersi le palle (che non è poco).

Dunque, come è fatto un editor di livelli per Quake?

  • Un editor di livelli per Quake è innanzitutto un editor1, e con questo ho già detto molto.
  • Un editor di livelli per Quake è un editor2 di2 grafica2 tridimensionale2, e con questo ho detto ancora di più, proprio perché come abbiamo già detto Quake è in vero 3D.

    Oltre a questo, c’è ovviamente tutto quello che è più specificatamente Quake, e che quindi non rientra nei normali editor di grafica 3D in circolazione, sia per utenti finali sia per professionisti del settore (un esempio di professionista del settore è un progettista di impianti industriali che lavora su sistemi CAD: disegna in 3D, ma non c’entra nulla con Quake):

  • Mentre in altri settori di grafica non è indispensabile, nel 3D di Quake i poligoni devono essere ricoperti da texture: non è pensabile, anche se potenzialmente possibile, fare gironzolare il giocatore in un mondo composto da quadratoni gialli e rossi con ombreggiature marroni… ci deve essere un attento studio di forme e colori che trasmetta al giocatore la sensazione di essere in un universo "potenzialmente reale". Questo significa che un editor di livelli che si rispetti deve possedere una adeguata gestione delle texture da applicare sulle superfici dei poligoni: chi sta progettando il livello deve solo porsi questa domanda: qui è più adatto un muro di mattoni o una barriera di metallo?
  • Ricordate cos’è un’entità? Bene, questa è un’altra caratteristica specifica di Quake: un buon editor deve gestire tutti i tipi possibili di entità, permettendo all’utente di cambiare a proprio piacimento le proprietà di ognuna, o di un gruppo, di esse, facilitando il più possibile operazioni come il collegamento tra un’entità "pulsante" ed un’entità "porta" (la porta che dovrà aprirsi quando premo il pulsante).
  • Un’altra caratteristica che un potenziale livello di Quake deve avere è che tutto l’universo rappresentato deve essere una figura chiusa: finché disegno un rubinetto, va bene anche che fluttui nello spazio, ma se sto disegnando qualcosa che poi dovrà essere digerito dalle utility3 di compilazione di Quake, devo stare attento a quello che faccio; non posso esagerare con i dettagli, ad esempio, altrimenti poi ci vuole un mainframe della NATO per fare girare il tutto decentemente, non posso lasciare "buchi" tra le pareti (il cielo di Quake è una texture) altrimenti l’engine poi si lamenta e ha ragione, non posso rappresentare arene titaniche (no, non mi riferivo al film…) perché se no poi ci sono troppe pareti da disegnare e Quake si trasforma in un proiettore di diapositive perché non ci sta dietro, e tutto quanto potete immaginare dicendo: non sto disegnando la mia villa al mare… tutto questo deve poi essere animato e deve essere veloce! D’altro canto, se chi disegna il livello deve stare attento di suo, è anche vero che l’editor deve aiutare in questo, con controlli ed avvertimenti adeguati del tipo "guarda che qui c’è un buco" oppure "non pensi si possa evitare di rappresentare ogni singolo solco del legno di quel tavolaccio laggiù? Tanto poi non ci fa caso nessuno!"
  • Poiché la geometria dei livelli è strettamente legata alle entità, un buon editor deve avere funzionalità automatizzate per la creazione degli elementi di uso più comune, come la creazione automatica di un’entità di tipo porta semplicemente selezionando il poligono e premendo un pulsante,o anche semplicemente una funzione di creazione di scale e gradini automatica (visto che disegnare una scala un gradino alla volta è piuttosto estenuante), più tutto il possibile per non fare del lavoro inutile e ripetitivo.
  • Come ultimo punto, si può spingere la versatilità dell’editor ancora più in alto, implementando funzionalità come, ad esempio, librerie di entità prefabbricate (che permettono all’utente di memorizzare le figure geometriche più complesse e ricorrenti e richiamarle dove necessario con un banale Drag & Drop), oppure un’organizzazione gerarchica dei singoli oggetti che compongono il livello per evitare che il designer si perda, quando il tutto comincerà a crescere a dismisura, tra centinaia di poligoni ed entità tutte nello stesso calderone.

  • —————————————————————————————————

    A questo punto starete pensando: ok, ora so che cosa deve avere un editor, ma non ne ho nemmeno uno!
    Giusto, ed è per questo che ora azzarderò una veloce (anzi velocissima) recensione dei maggiori editor presenti in Internet (scusandomi per eventuali mancanze o incorrettezze): sono tanti, a dire la verità, ed è per questo non sono in grado di dire "Questo è il migliore!", ma spero di darvi le indicazioni necessarie per una buona scelta (come si dice: consigli per gli acquisti insomma).

  • Thred: Questo è stato il primo editor che ho utilizzato per il design di livelli, e purtroppo l’ho abbandonato tempo fa, quindi considerate che non sono aggiornato sulle ultime versioni, però posso dirvi che non è malvagio, anche se io non lo utilizzo più. Il motivo per cui non è malvagio è che si utilizza abbastanza comodamente, si lavora bene anche se non ha funzionalità particolarmente avanzate e fornire tutto il necessario per avere un buon risultato. Il motivo per cui non lo utilizzo più è proprio che non è abbastanza professionale; forse proprio per questo è molto semplice. come giudizio ultimo, direi che è perfetto per chi vuole iniziare, così il designer in erba ha la possibilità di iniziare da subito senza riempirsi di valanghe di nozioni da studiare (che potrebbero scoraggiare i meno convinti).
  • Worldcraft (http://www.planetquake.com/worldcraft/): Questo è uno degli editor di livelli più diffusi al mondo, e questa è già una garanzia, anche se vi consiglio di fregarvene della massa e scegliere quello che preferite voi (mi sento un santone…). Ad ogni modo, il motivo per cui è così diffuso è intuibile: è comodo, facile da usare, abbastanza professionale e chi più ne ha più ne metta. Anche in questo caso però non sono aggiornatissimo, perché questo è stato il secondo editor che ho utilizzato e poi abbandonato (non troppo tempo fa comunque). Il modo di lavorare è pressoché lo stesso del Thred, con le tre proiezioni ortogonali ed una visualizzazione in 3D che funge da anteprima (per evitare di compilare tutte le volte solo per avere un’idea delle proporzioni). Il motivo per cui l’ho abbandonato è che nelle versioni precedenti non aveva funzionalità di raggruppamento degli oggetti a più livelli, e questo è un grossissimo limite, perché significa che non è possibile spingersi oltre un certo grado di complessità a meno di impazzire a rintracciare di volta in volta l’oggetto che si vuole rifinire (e non me lo fa fare nessuno).
  • Qoole (http://www.planetquake.com/qoole/): Questo è un editor che si differenzia dagli altri già dal nome, che è l’acronimo di Quake4 Object4 Oriented4 Level4 Editor4. Infatti la caratteristica principale di questo editor è un avanzato sistema di ereditarietà degli oggetti (entità) contenuti nelle mappe. Con questo editor si impara infatti a lavorare in modo più versatile e aperto, grazie proprio alla logica ad oggetti con la quale è stato concepito e progettato fin dall’inizio. Non l’ho utilizzato a lungo, però mi sembra che impieghi tecnologie molto avanzate di progettazione, quindi vi consiglio di dedicare un po’ del vostro tempo per conoscerlo meglio.
  • Deathmatch Maker: Questo è l’unico editor approvato dalla Id Software, e con questo non aggiungo altro (se non che è stato approvato qualcosa come un mese prima dell’uscita di Quake II…). Il mio giudizio è che è in assoluto l’editor di livelli più ad alto livello, e questo vuol dire pro e contro. Per i pro c’è la velocità con la quale si può creare un livello intero, che è elevatissima proprio perché in questo ambiente si lavora a "pezzi prefabbricati" (quindi per fare un livello intero basta una trentina di operazioni Drag & Drop). Per i contro c’è che è ad alto livello, quindi in sostanza non c’è libertà di fare quello che si vuole. Nel sito della Id ci dev’essere una versione Demo, quindi dateci un’occhio e poi giudicate: se volete solo fare qualcosa di veloce, allora usatelo, ma se come me volete sentirvi liberi di fare qualunque cosa (nei limiti del possibile) allora evitate di usarlo… vi opprimerebbe.
  • QuArK (http://www.planetquake.com/quark): Questo è l’editor migliore che io abbia mai trovato, è semplice, potente, versatile e sicuro… con questo non vuol dire che dovete usarlo, però (ripeto) è quello che uso io. Quello che lo differenzia dagli altri editor è che lavora su due sole proiezioni ortogonali invece di tre (e voi direte "ma come si fa a modellare il 3D con due sole visuali?" Provatelo e capirete), possiede tutto quello che può servire per progettare un livello che sia professionale e soprattutto grande (quello che spesso non permettono altri editor). Un’altra caratteristica è che QuArK non è semplicemente un editor di livelli, ma un Editor Totale per Quake: permette di fare tutto, ma proprio tutto, quindi scrivere codice in QuakeC, creare modelli tridimensionali di nuovi mostri, nuove armi, nuovi oggetti, ecc… fino a creare un nuovo gioco da zero, un gioco che abbia in comune con Quake solo il motore 3D (scusate l’entusiasmo, ma tutto questo non è poco).

    Questi dovrebbero essere quelli più diffusi, o almeno lo spero (non posso tenere sotto controllo Internet, potrebbe essermi scappato qualcosa), e con questi chiudo il quinto capitolo. Nel prossimo vi darò qualche consiglio in più su come evitare di trovarsi in un vicolo cieco a metà di un grandioso progetto (può succedere sapete?) ed evitare lavori inutili partendo subito con il piede giusto.
    Alla prossima!

  • Fabrizio Cerfogli


    —————————————————————————————————

    Internettografia.

    ftp://ftp.cdrom.com/pub/idgames2/docs/editing/
    Qui troverete tutta la documentazione necessaria (questa è stata la mia fonte principale) per andare più in profondità nell’argomento. Per chi non ha internet, cliccando {BinQSpec.zip}qui sarà possibile ottenere un bel file html con la descrizione di tutte le entità di Quake e altri dettagli tecnici più specifici.
    ftp://ftp.cdrom.com/pub/idgames2/levels/editing_examples
    Qui invece ci sono alcuni file map con degli esempi di Quake Editing, molto utili per chi deve partire da zero.
    http://www.planetquake.com
    Questo è il sito ufficiale di Quake, quindi qui troverete Tutto su Quake e Quake II, tra cui quindi anche gli editor di maggior successo più tutte le novità, anteprime, segnalazioni, Tips & Tricks, e (poteva mancare?) una libreria incredibile di livelli di pubblico dominio fatti da principianti e non che evidentemente non avevano niente di meglio da fare.

    1
    Un editor è semplicemente un programma sviluppato appositamente per fornire all’utente uno strumento di progettazione assistita. Il compito dell’editor è quello di fornire gli strumenti necessari (proprio come farebbe un assistente in carne ed ossa) senza interferire ulteriormente: tutto il lavoro creativo viene demandato all’utilizzatore, che impiegando gli strumenti forniti realizza la sua idea o il suo progetto.
    Editor avanzati comprendono anche procedure automatizzate atte a rendere ancora meno oneroso il lavoro dello scrittore, del grafico, del geometra o di chicchessia, ma la linea di base dell’editor rimane comunque sempre la stessa.

    2
    Un editor di grafica tridimensionale è un editor che permette il disegno geometrico in tre dimensioni, appunto. Solitamente, il disegno viene comunque tracciato in due dimensioni sulla proiezione di due assi cartesiani ([x,y], oppure [x,z], o [y,z], dipendentemente da che "visuale" si preferisce in quel momento); sarà poi compito del computer elaborare le proiezioni ortogonali rappresentate dall’utente in una composizione tridimensionale che rappresenta proprio il frutto del lavoro svolto. Gli strumenti messi a disposizione sono quelli per il disegno tradizionale (penne, airbrush, gomme, filler, ecc…), più una serie di facilitazioni per generare con un semplice clic le figure geometriche più elementari (cubi, cilindri, sfere, parallelepipedi, ecc…).

    3
    Le utility di compilazione sono quei programmi che trasformano, in poche parole, il nostro disegno tridimensionale in un vero e proprio livello di Quake, perfettamente giocabile, e sono il QBSP, il LIGHT ed il VIS (per i dettagli vi rimando al capitolo precedente).

    4
    Editor di livelli per Quake orientato agli oggetti.

    Commenta

    Nel caso ti siano sfuggiti