Non sto chiedendo a qualcuno di programmare questo per me, mi piacerebbe comunque fare tutta la programmazione, tuttavia ho bisogno di qualche altro background di programmazione matematica per questo genere di cose, perché non mi sono davvero dilettato in spazi 3D molto e Sto pensando che molti potenziali if e thens potrebbero essere semplificati se penso a questo concetto nel modo giusto. Utilizzerò un linguaggio di programmazione che supporta l'output di retinatura 2D o di testo (si pensi a Java). Voglio sapere se ci sono modi semplici per programmare nella visualizzazione, orientarsi e muoversi su questo spazio virtuale che sto per descrivere senza ricorrere a molte istruzioni switch per controllare cioè ciò che lo schermo mostrerà a seconda della posizione del PC, di fronte direzione e rotazione.
Va bene finora sto elaborando concetti di un modo per esplorare un ambiente di tipo labirinto top-down 3D con un paesaggio voxel generato proceduralmente e un personaggio giocatore 1x1x1 che può visualizzare solo il piano del livello degli occhi e l'unità del piano 1 al di sotto . il PC può muoversi nei seguenti modi; Si prega di notare che intendo in qualsiasi modo il PC considera in basso quale direzione la gravità agisce su di essa, (non realistico):
- Cammina in avanti verso un altro quadrato non ostruito da un muro o un dirupo
- Ruota la faccia in un'altra direzione, nel qual caso una diversa direzione diventa la faccia anteriore del PC (visivamente). Il PC sembrerà sempre rivolto verso l'alto per l'utente.
- Inizia a ridimensionare un muro, nel qual caso la direzione precedente verso l'alto (fuori dallo schermo, verso l'utente) diventa diretta.
- Scalare e ridimensionare il muro di una fossa sottostante, nel qual caso la direzione verso il basso diventa avanti.
- Scivolare sottosopra e legare il soffitto ora, salendo in su o in giù fino al momento in cui il PC colpisce un pavimento. nel qual caso può scegliere nuovamente altre modalità di trasporto.
- Ogni volta che il PC si sposta, tutte le altre entità hanno la possibilità di spostarsi in una modalità basata su turni.
Questo non sarà come una sandbox di Minecraft, quindi la modifica del panorama dopo generazione non sarà probabilmente necessaria. Avrò uno schermo che visualizza voxel 16x16x2 alla volta. Mi piace comunque l'idea di blocchi allocati dinamicamente. Pianifico di generare o caricare blocchi di voxel 16x16x16 generati in precedenza e 26 blocchi adiacenti secondo necessità. durante lo scaricamento dei blocchi di intervalli e salvarli in un file. Voglio conoscere le idee matematiche / concettuali dietro la generazione di questi blocchi e il caricamento di blocchi già generati. Nota Uso ancora il termine voxel anche se li visualizzerò solo come quadrati su una schermata di testo, perché lo spazio di gioco è una griglia 3D.