Mi chiedo perché così pochi giochi 3D abbiano un meccanismo che permette al giocatore di sorvolare la mappa e atterrare quando gli piace. È molto difficile da realizzare in un gioco 3D, o altrimenti tecnicamente non fattibile?Volare in un gioco 3D?
risposta
Dubito che ciò sia una cosa difficile da realizzare da un punto di vista tecnico, tuttavia i giochi che utilizzano la distanza di pareggio breve per gli oggetti possono sembrare sfavorevoli perché è stata disegnata solo l'area circostante attorno al giocatore.
La mia ipotesi sul motivo per cui non è stato fatto di più è che rende il design del livello molto difficile dal punto di vista del gioco se il giocatore può partire da qualsiasi parte e andare ovunque.
Beh ... No. Non c'è un motivo tecnico, ovviamente dipende un po 'da quanto si vuole simulare il volo reale. Potrebbe essere che per ragioni di gameplay, i progettisti del gioco hanno scelto di limitare il movimento del giocatore sulla mappa.
Molti giochi di squadra/tattici (tiratori) dipendono dall'interazione tra giocatori durante il combattimento a terra e non sarebbero uguali se i giocatori potessero volare liberamente.
EDIT: Pensando un po 'più, non ci potrebbe essere un caso contro volando da un punto di vista tecnico, dal momento che la più alta quota del punto di vista, e più rapido movimento complessivo, potrebbe rendere ancora più impegnativo sul sottosistema di rendering . Prendiamo ad esempio il rendering del paesaggio, è facile immaginare che ci siano ottimizzazioni che si possono fare se si sa che il punto di vista sarà sempre ragionevolmente vicino alla superficie, che si interrompe se si riesce a volare a centinaia di metri.
I paesaggi sono abbastanza facili da eseguire da qualsiasi distanza, poiché i paesaggi di grandi dimensioni richiedono solitamente un qualche tipo di LOD basato sulla distanza. Un paesaggio urbano è molto più difficile, perché la geometria occludente viene spesso utilizzata per raccogliere oggetti invisibili. Una vista dal cielo richiederebbe agli edifici di avere anche LOD. – TrayMan
Ovviamente, i giochi basati su squadra potrebbero essere migliorati da esso - se sei diviso dalla tua squadra e non sai da quale direzione il nemico potrebbe venire ... –
È più probabile una questione di gioco pigro/level design (o anche solo non pensando all'idea) di una decisione di gameplay specifica. –
Questo è il sito di un programmatore quindi ecco la risposta dal punto di vista di uno sviluppatore:
Position TeleportHere = {10, 10};
Player.Position = TeleportHere;
Non v'è alcun punto in aggiunta di animazione, oltre solo per andare dal punto A al punto B.
Da un giocatore di prospettiva, dipende dal progettista del gioco. Se vogliono volare, si può fare e i programmatori programmerebbero un meccanismo per questo (insieme alle animazioni, ovviamente).
Ok. Capisco il downvote ma l'offensiva? L'interrogante ha chiesto se fosse fattibile e ho risposto perché uno sviluppatore non lo avrebbe fatto. Ho anche risposto che un game designer può chiedere a uno sviluppatore di implementare il meccanismo di volo. Se qualcuno trova questa offensiva, per favore mi dia un feedback in modo da poter modificare – MrValdez
@MrValdez: Forse qualcuno era già in {10, 10} e si è offeso che ti sei teleportato senza prima verificare se la posizione era vuota. =) –
Penso che alcune persone abusino di offensivo e lo usino come un "voto per cancellare la risposta" – hasen
Nessun motivo tecnico, ma i produttori di giochi tendono a concentrarsi sulle funzionalità richieste per il gameplay effettivo. Alcuni giochi aggiungono funzionalità extra, come le uova di Pasqua, ma i loro editori potrebbero preferire che finiscano il gioco prima senza rischiare di introdurre altri bug.
FSE, un mod DBZ per Half-Life implementa personaggi volanti (come i personaggi di DBZ volare!)
Questo mod è costituito da un team di appassionati, non sostenuta da alcuna corporation (AFAIK), ed è nel motore Half-Life 1, (che è abbastanza vecchio per gli standard odierni),
quindi non ci sono sicuramente difficoltà tecniche per farlo.
nella leggenda della taglia King sarete trasportati da un luogo all'altro, così da poter dare un'occhiata, come sarebbe. Il problema è che la tua macchina deve rendere molte più informazioni e una linea visiva molto più lunga, per rendere l'esperienza piacevole e fluida.
in un ambiente terrestre, sei come in un teatro con un palcoscenico e una foto sul retro, che corrisponde alle dimensioni di ciò che vuoi far vedere allo spettatore (il pubblico), e con alcuni trucchi di pittura, puoi acquisire prospettiva. Ma se guardi dalla direzione sbagliata in quelle immagini piatte, la visione è rovinata.
quindi non è possibile utilizzare le immagini per lo sfondo e devono rendere anche quelle cose.
(vedere le immagini del pittore di strada Julian Beever)
L'UnrealTournament originale permesso di volare in giro per la mappa prima dell'inizio della partita.
Battlefield 2 può farlo?
... fino a quando non esce casualmente dal desktop senza una ragione apparente.
In tutta serietà però. I jet e gli elicotteri sono in grado di atterrare ovunque.
E Battlefield 1942, puoi semplicemente saltare ovunque - questo conta? :) – Sean
Due motivi:
- Per la maggior parte dei giochi, una parte significativa della difficoltà del gioco (e divertente) cerniere sul fatto che, al fine di ottenere da un punto di inizio per l'uscita di un livello, è necessario superare alcuni ostacoli. Se tu potessi volare, il gioco sarebbe molto più facile/meno divertente, e sarebbe inutilmente difficile progettare livelli in cui questo non è il caso.
- La maggior parte dei giochi 3D si concentra sul rendere il paesaggio dettagliato e carino, e questo è MOLTO lavoro. Quindi, al fine di rendere la data di rilascio, gli artisti 3D lasciano fuori tutto ciò che il giocatore non può vedere dall'interno del livello. Se esegui una "modalità volante", vedrai improvvisamente che the hills have no rear side, le montagne lontane sono just flat planes floating in the air nelle vicinanze e lo sea has an obviously repeating texture. Per rendere il paesaggio bello sia da vicino che da lontano sarebbe molto più lavoro (e una data di rilascio successiva).
Rendere un ambiente 3D bello non è banale anche se si considerano le risorse di elaborazione di oggi. Ci sono sempre delle modifiche che si basano sulla nozione "nessuno se ne accorgerà".
Ad esempio, il motore 3D di Duke Nukem 3D era essenzialmente 2D. Era impossibile guardare in alto o in basso, perché la prospettiva verticale non era correttamente implementata (i bordi verticali erano sempre paralleli al bordo laterale del monitor). Non è stato possibile creare stanze sopra stanze a meno che non si riuscisse a nascondere il fatto che internamente si sono sovrapposte.
Un esempio più recente è World of Warcraft. Dopo che furono introdotti i monti volanti, non potevano essere usati inizialmente nei vecchi "continenti" perché c'erano così tanti hack per produrre l'illusione di un vasto mondo che si sarebbe spezzato non appena qualcuno volasse fuori dai percorsi prestabiliti. Non è mai stato possibile vedere Stormwind "sdraiato lì" dall'alto perché sarebbe stato un casino di sprite e di maglie contorte quando non si vedeva da terra. Era come un mockup della città occidentale dove solo la facciata è davvero lì.
Se si desidera consentire ai giocatori il volo libero, tali trucchi non sono possibili. Devi fare tutto completo. Questo significa raddoppiare il lavoro per i progettisti e costruttori del mondo. Penso che tu possa immaginare che in uno sviluppo guidato da una scadenza, una società di giochi sia molto incline a tagliare il corto ovunque sia possibile.
Molto spesso, il mondo di gioco è come un set cinematografico: gli edifici hanno solo una o due pareti esterne definite nel mondo, ad esempio. Il motivo è che, in normali condizioni di gioco, non sarà mai possibile vedere gli altri lati dell'edificio. Non definendo i poligoni, i vantaggi sono:
- Meno lavoro per gli artisti, riduzione dei tempi di sviluppo;
- È meno lavoro per il motore di rendering, la migliore ottimizzazione è non fare nulla, quindi elaborare poligoni pari a zero è infinitamente più veloce dei poligoni di selezione; e
- Puoi mettere quei poligoni salvati da usare altrove, dove il giocatore li vedrà. C'è un limite finito al numero di poligoni che puoi disegnare.
Suppongo che sia come chiedere perché ci sono porte che non possono essere aperte nei giochi? Perché non modellare ogni singola stanza di ogni edificio nel mondo di gioco? Questo sarebbe appropriato per un gioco di corse?
Con il volo come caratteristica secondaria, un personaggio deve semplicemente atterrare sulla cima di un tetto o su un albero per rompere completamente il bilanciamento del gioco.
Pathfinding, tuning AI e meccaniche di gioco richiedono un grande sforzo, proprio come aggiungere una dimensione extra di contenuto. Investimenti del genere ha senso solo quando volare è una delle caratteristiche principali di un gioco.
Prendere World of Warcraft come esempio, come un gioco che ha di volo, ma non ovunque:
Non si può volare "dove mai ti piace" in una delle aree originali del gioco (cioè quelli costruiti prima che il volo del giocatore fosse introdotto), perché le aree non erano progettate per il giocatore, eccetto che per i percorsi pre-inscatolati forniti dal sistema di trasporto - i progettisti stessi hanno sottolineato che lo scenario utilizza alcuni dei trucchi menzionato altrove (cartelloni 2D, ecc.).
Non è possibile volare prima di raggiungere un determinato livello: 68 (druidi)/70 (tutti gli altri) nella prima espansione e 77 nell'ultima espansione. Questa è stata una scelta deliberata per garantire che il giocatore non "saltava grandi aree di contenuto".
Gesù, gente. Questa è una domanda relativa alla programmazione. Perché qualcuno dovrebbe votare per chiuderlo? –
La domanda è, ma la risposta non è (davvero). Difficile, eh? –
È una domanda relativa alla programmazione? Ho pensato che fosse una domanda relativa al gioco in 3D. Non riesco a vedere nulla in merito alle API 3D, alla codifica, agli algoritmi, alle strutture dati, ecc. –