PixelTread
Flussi di lavoro

Workflow di progetto GMS2: dalla cartella aperta al playtest

03
Lo scenario

Un progetto in cui la camera trema

Molti continuano a dire GMS2 quando intendono l'attuale GameMaker. Immagina che il tuo personaggio cammini avanti e indietro e la camera scatti perché la posizione conserva valori decimali. Apri la cartella del progetto, descrivi il sintomo in una frase e lascia che PixelTread trovi il codice. L'agente mappa la cartella con list_dir e glob, legge gli script di movimento e camera con read_file e propone una piccola modifica come diff. Non cambia nulla finché non decidi, quindi la prima sessione è anche un modo sicuro per imparare cosa fa ciascuno strumento. Lo stesso ciclo funziona per la maggior parte dei piccoli bug: descrivi, leggi, rivedi, testa. Ogni passaggio termina nell'editor, dove premi play e vedi il risultato da solo. Se la prima correzione non basta, descrivi cosa è cambiato e la scheda successiva si basa sull'ultima. Tieni il progetto aperto nell'editor mentre lavori.

01

Apri la cartella

Scegli la cartella del tuo progetto GameMaker come cartella di lavoro della chat, così gli strumenti di file possono vedere i tuoi script e i file di testo del progetto. Avvia una nuova chat per ogni bug, così ogni conversazione riguarda un solo problema e un solo diff. La cartella di lavoro è il confine per gli strumenti di file, quindi puntala sul progetto e nient'altro. Tutto ciò che è al di fuori di quella cartella non è coperto dagli strumenti di file.

02

Descrivi il problema

Scrivi cosa vedi e dove, ad esempio che la camera trema mentre il giocatore gira, e menziona lo script se lo conosci. Un sintomo concreto dà all'agente qualcosa che può cercare con grep. Aggiungi cosa hai già provato, perché questo evita che l'agente lo ripeta. Le frasi brevi funzionano bene.

03

Rivedi il diff

Leggi ogni scheda, apri il diff e accetta solo le righe che comprendi. Rifiuta il resto e spiega perché, e l'agente riprova. La modalità Ask first si ferma prima di ogni azione che modifica un file, così nulla viene salvato alle tue spalle. Apri la scheda espansa per vedere il diff completo, non solo la riga di riepilogo.

04

Compila e testa

Esegui la build nell'editor di GameMaker, gioca la stanza e riferisci cosa hai visto così che il passo successivo parta dai fatti. Se la build fallisce, incolla il log in un file nella cartella e lascia che l'agente lo legga. Poi scrivi il risultato nella chat, così la richiesta successiva ha un punto di partenza chiaro. Esegui lo stesso test dopo ogni modifica accettata, nella stessa stanza.

Un piccolo script di movimento

scr_move.gml
// Move an object with the arrow keys
function scr_move(_speed) {
    var _r = keyboard_check(vk_right);
    var _l = keyboard_check(vk_left);
    var _d = keyboard_check(vk_down);
    var _u = keyboard_check(vk_up);
    x += (_r - _l) * _speed;
    y += (_d - _u) * _speed;
    // keep the position on whole pixels
    x = round(x);
    y = round(y);
}

La funzione legge i tasti freccia con keyboard_check, sposta x e y di un valore di velocità e arrotonda entrambi così che lo sprite sia disegnato su pixel interi. L'arrotondamento è la correzione per il tremore descritto sopra. Uno script come questo è esattamente ciò che l'agente può aprire, modificare e mostrare come diff, e puoi testarlo in una stanza entro un minuto. Salvalo come asset script prima, e modifica una riga alla volta. Chiedi all'agente di aggiungere un commento sopra ogni modifica così da trovarla più tardi. Nomi segnaposto come _speed sono facili da rinominare.

Quattro attività per progetti iniziati in GameMaker Studio 2

Impara modificando i tuoi script

Spesso ci si chiede come imparare davvero la programmazione in GameMaker, e una buona risposta è modificare script reali e guardare cosa succede. Apri un piccolo progetto e chiedi all'agente di spiegare una riga di script alla volta. Legge il file con read_file e cita i nomi delle funzioni dal manuale ufficiale usando web_search. Poi chiedi una piccola modifica, come una velocità di corsa più veloce. Leggi il diff in modalità Ask first, accettalo, compila e gioca. Ripeti con una nuova modifica ogni giorno, e lascia che l'agente scriva un file di note con write_file, così puoi rivedere cosa ti ha insegnato ogni modifica. I progressi lenti sono comunque progressi.

Disegna uno sprite con una parte sfumata

Potresti voler rendere trasparente solo una parte di uno sprite, ad esempio la metà inferiore di un personaggio in piedi nell'acqua. L'agente legge il tuo script di disegno con read_file, cerca la chiamata di disegno attuale con grep e propone modifiche edit_file che disegnano lo sprite in due parti con draw_sprite_part_ext, una di esse con un valore alpha inferiore. Plan only può mostrarti le 2 parti prima. Breve e testabile. Accetta il diff, esegui la stanza e controlla la giunzione tra entrambe le parti a livello di pixel, poiché una lacuna di un pixel è facile da vedere in movimento. Se il livello dell'acqua si muove, chiedi all'agente di collegare la divisione a una variabile.

Fermati prima di un muro

Per fermarti prima di collidere con un oggetto, uno script dovrebbe testare la posizione successiva e solo poi muoversi. Chiedi all'agente di leggere il tuo script di movimento e di avvolgere ogni passaggio in un controllo place_meeting sulla posizione target. La scheda edit_file mostra le nuove righe e Shell riporta il codice di uscita del tuo comando di build. Cammina contro un muro nella stanza. Rivedi prima il diff, poi testa a velocità lenta e veloce, perché un oggetto veloce può ancora saltare un muro sottile, e chiedi un passo più piccolo se lo fa. Tieni la stanza di prova piccola, con un muro e un giocatore.

Trova il primo errore in un log di build

Un lungo log di build nasconde la riga che conta. Salva il log come file di testo nella cartella del progetto, poi chiedi all'agente di aprirlo con read_file e cercarlo con grep per la parola error. Segnala il primo errore insieme al nome dello script e alla riga, e può leggere quello script per proporre una correzione con edit_file. Correggere il primo errore spesso elimina quelli sottostanti. Accetta il diff in Ask first, compila di nuovo e confronta il nuovo log con quello vecchio per vedere se il conteggio degli errori è diminuito. Ripeti finché il log è pulito.

PixelTread per Windows

Esegui questo flusso di lavoro sul tuo progetto

Scarica PixelTread ↗