Platform Engine: è degno?

Giochi, Programmi, Estensioni in via di sviluppo con GameMaker. Proposte e idee di design.
Rispondi
Avatar utente
Annoyed grunt
Membro d'elite
Messaggi: 1422
Iscritto il: 10/04/2009, 16:21
Uso: GM:Studio 2
Contatta:

Platform Engine: è degno?

Messaggio da Annoyed grunt »

Nonostante il mio odio per i platformer dal punto di vista del game design, ne apprezzo la parte della programmazione, pertanto ogni tanto mi diletto nella creazione di un engine per giochi platform alla Super Mario\Sonic\Eccetera. Ciò che propongo oggi è il risultato di una settimana.

Ora, ovviamente è grezzo e incompleto, sia dal punto di vista grafico, che di quello della programmazione, ma vorrei sapere se trovate che sia qualcosa di decente e\o degno di essere portato sul marketplace dopo un bel po' di lavoro e una volta ultimato. Specialmente dato che ho saputo che sul marketplace A) E' presente un Flappy Bird Engine B) Tale engine ha di fatto VENDUTO DELLE COPIE (mi sarei scandalizzato di meno se avessero venduto dei dildo :asd: )
Vi lascio un download e uno screen, per quelli che vogliono provare una demo:

Download Demo: https://www.mediafire.com/?71gyczzw73x7bpb
Comandi:
Frecce direzionali - Movimento
Space - Salto
Double tap delle frecce direzionali - Dash
CTRL - Cambia conversion (nella demo è scritto "Subtraction" erroneamente) value. Disegnate una rampa e usatela con il dash, noterete che con il conv value di 0 cadrete, mentre con il conv value di 0.20 funzionerà come una rampa vera, quindi farete un bel voletto nell'aria
Tasto Destro del mouse - Disegna
Tasto Sinistro del mouse - Cancella
Shift - diminuisci la Weight class della palla (i.e. rende la palla più leggera).

Screen:
Immagine

Quello che vorrei sapere è A) Secondo voi sarebbe una cosa da rifinire? B) Sarebbe qualcosa da mettere a pagamento, o gratis (suppongo aggratis) e C) Quali sono le cose che secondo voi in un engine del genere sarebbero indispensabili?

Ora per quelli che si sentono più capaci (ma neanche tanto, lo sanno tutti quanti che sono nabbo) reco sotto spoiler anche una semplice spiegazione del funzionamento dell'engine stesso.
Spoiler
L'engine è per lo più una versione semplificata di un engine fisico. Al che qualcuno potrebbe dire "scusa ma non sapevi usare il Box2D di studio?" e io risponderei a quel qualcuno di starsene zitto :asd: . Anyway, seriamente parlando, semplicemente volevo qualcosa che permettesse di fare giochi stile Super Mario che però si potessero permettere cose tipo rampe ed altro in stile Sonic senza dover fare troppe puttanate con l'engine fisico predefinito di Studio.

Le variabili con cui funzionano gli oggetti del gioco sono le seguenti (il player ne ha altre che regolano il movimento eccetera, ma è una parte che devo rendere ancora modulabile ed è per ora hard coded). Queste variabili possono essere settate a mano oppure utilizzare lo script ph_init_standard() che le setta esattamente come riportate sotto, ed è quindi possibile poi settare a mano quelle necessarie, oppure farsi uno script personalizzato.

Disclaimer: non ho mai utilizzato il sistema fisico integrato in GM, pertanto ogni singola scelta fatta nel mio engine è stata dettata solo da ciò che sembrava più o meno giusto\da infinito testing, pertanto se ci sono cose che sarebbe sicuramente meglio fare utilizzando un approccio simile a quello di GM non esistate a farmelo notare. Ricordate comunque che una simulazione '''perfetta''' (virgolette sono d'obbligo) della fisica è comunque niente affatto il mio obiettivo.

Inoltre non tutto ciò che ho scritto potrebbe avere senso. :asd:


is_solid = true;
Indica se l'oggetto è solido o no. L'engine regola solo collisioni fra solido-solido, dato che la collisione fra oggetto solido - non solido o non solido - non solido la si può semplicemente lasciare al sistema predefinito di Game Maker.
weight_class = 0;
E' una variabile che serve per regolare i "pesi" degli oggetti. Piuttosto che fare un sistema di peso fisso ho deciso di farne uno relativo ( a torto? Chissà :fapensare: ), dove non è importante il valore della variabile in se (che può essere 10000 o 1) ma la differenza fra le weight_class degli oggetti che stanno collidendo. Nella demo è possibile premere SHIFT e vedere come la palla diventa più leggera.
collide_behavior = 0;
E' una variabile che contiene lo script da eseguire quando avviene una collisione, pertanto lo script è diviso in due parti: una che valuta il caso in cui l'istanza sia quella che urta, e un'altra che valuta quello in cui essa sia stata urtata. Almeno in teoria, questa parte non è ancora del tutto finita. Pensavo inoltre di fare in modo che le istanze possano utilizzare diversi behavior in diverse sitauzioni.
grav = 0;
Gravità.
grav_limit = 0;
Limite massimo a cui la gravità può portare
vsp = 0;
hsp = 0;

Velocità orizzonale e verticale.
vfrict = 0;
hfrict = 0;

Frizione verticale\orizzontale.
flexibility = 0;
Ogni forza applicata a un oggetto viene moltiplicata per questo valore. Pertanto, oggetti con flexibility di 0 sono impassibili agli urti, mentre quelli con il valore settato ad 1 "rimbalzano" perfettamente.
maxslope_horizontal=0;
maxslope_vertical=0;

Queste due variabili sono quelle di base utilizzate dal check di ph_slope(). Semplicemente, indicano l'altezza\larghezza massima (in pixel) del dislivello attraversabile dall'istanza.
slope_hfrict_value=0;
slope_vfrict_value=0;

Un valore aggiuntivo di frizione (oltre a quella normale) che viene usato solo quando si è sulle slope.
slope_roll_threshold = 0;
Valore minimo della velocità verticale per rotolare. Utilizzato principalmente per personaggi e\o nemici che ovviamente non dovrebbero rotolare giù per colline o altro.
slope_conv_hvalue = 1;
slope_conv_vvalue = 1;

Valori principali della "conversione". Praticamente, ogni qualvolta un oggetto sale su una rampa, perde un tot di velocità nella direzione originale e ne acquista nella direzione della rampa (per esempio in una rampa normale, l'istanza perde velocità orizzontale e ne guadagna di verticale, quindi se è sufficientemente veloce si fa un bel voletto). La quantità finale da convertire è uguale a valore*velocità, quindi con un conv value di 1 vuol dire che tutta la velocità viene convertita. Nella demo anche con 0.20 si fanno dei bei voletti.
slope_conv_hratio = 1;
slope_conv_vratio = 1;

Indica quanta della velocità originale viene persa. I valori normali (e logici) sono 1 ed 1, cioé la quantità guadagnata è uguale a quella persa.
Con l'esempio della rampa di prima, con un ratio di 1, l'istanza perde X velocità orizzontale e guadagna X velocità verticale, mentre se il valore fosse 2 acquisterebbe X velocità verticale ma perderebbe 2X velocità orizzontale.
slope_conv_hminimum=0;
slope_conv_vminimum=0;

Valori minimi della conversione. Ciò vuol dire che la conversione in sé non avverrà se la velocità da convertire non è maggiore di queste variabili. Nella demo, il valore minimo della conv_hminimum è per esempio 2, dato che la velocità massima di camminata è 10px/s. Dato che il valore da convertire è hsp*conv_hvalue, quindi 10*0.20, si impedisce che anche a velocità massima si abbia quell'effetto a "saltelli" che si avrebbe altrimenti.
slope_conv_maximum=0;
Massimo valore della conversione. A differenza delle conv minimum viste prima, se il valore della conversione è maggiore al massimo la conversione avverrà lo stesso, ma cappata.
Immagine

Avatar utente
Annoyed grunt
Membro d'elite
Messaggi: 1422
Iscritto il: 10/04/2009, 16:21
Uso: GM:Studio 2
Contatta:

Re: Platform Engine: è degno?

Messaggio da Annoyed grunt »

Ho avuto un po' di downloads ma state tutti muti...non preoccupatevi che potete anche insultarmi, non me la prendo :asd:
Immagine

Avatar utente
Vallo92
GMI Advanced
Messaggi: 1508
Iscritto il: 15/07/2011, 20:26
Specialità: Grafico
Uso: GM:Studio 2
Contatta:

Re: Platform Engine: è degno?

Messaggio da Vallo92 »

L'ho appena provato, e devo dire che mi è un po' difficile valutarlo perché si muove tutto a una velocità assurda. :asd:
Magari se dimezzi la velocità del tutto sarà più facile valutare i vari aspetti dell'engine.
Rispondendo alle tue domande:
A) Come ti ho già detto, personalmente mi è un po' difficile valutare ora come ora.
B) Se l'engine è buono come sembra, aggiungendo qualche nuova funzione, secondo me è fattibilissimo metterlo a pagamento. Ad una cifra adeguata (esempio 1.99$) riceverà sicuramente un sacco di download, sopratutto adesso che a quanto pare non sono stati ancora inseriti engine del genere!
C)Bhe, secondo me le cose fondamentali le hai inserite tutte... Magari per renderlo più completo puoi inserire un sistema di uccisioni nemici simile a Super Mario o cose simili.
-Questi occhiali da sole le stanno benissimo. Vuole provarli con le lenti più scure?
- Si vede che le sto guardando le tette?
- Si
- Allora si

Avatar utente
Annoyed grunt
Membro d'elite
Messaggi: 1422
Iscritto il: 10/04/2009, 16:21
Uso: GM:Studio 2
Contatta:

Re: Platform Engine: è degno?

Messaggio da Annoyed grunt »

Quando intendi troppo veloce intendi dal punto di vista della velocità degli oggetti, o la velocità di gioco? La demo gira a 60 step\fps.
Immagine

Avatar utente
aironenero
GMI Guru
Messaggi: 2612
Iscritto il: 02/05/2012, 14:56
Specialità: Unity 3D
Uso: GM:Studio 1.4 Pro
Località: Ispica
Contatta:

Re: Platform Engine: è degno?

Messaggio da aironenero »

60 step ogni FPS? Manco fosse un benchmark :lol:
Unity Developer
Immagine
Immagine

Avatar utente
Annoyed grunt
Membro d'elite
Messaggi: 1422
Iscritto il: 10/04/2009, 16:21
Uso: GM:Studio 2
Contatta:

Re: Platform Engine: è degno?

Messaggio da Annoyed grunt »

"\" può anche indicare un'alternativa, sai :p
Immagine

Avatar utente
Vallo92
GMI Advanced
Messaggi: 1508
Iscritto il: 15/07/2011, 20:26
Specialità: Grafico
Uso: GM:Studio 2
Contatta:

Re: Platform Engine: è degno?

Messaggio da Vallo92 »

Prendiamo come esempio il pg: Si muove, salta e sopratutto esegue salti a parete alla velocità della luce. Secondo me sarebbe più carino dimezzando i vari hspeed, vspeed etc. Ovviamente è solo un impressione personale, poi non so se gli utenti gradiscono ugualmente l'engine.
-Questi occhiali da sole le stanno benissimo. Vuole provarli con le lenti più scure?
- Si vede che le sto guardando le tette?
- Si
- Allora si

Avatar utente
doom13
Moderatore
Messaggi: 2093
Iscritto il: 31/08/2012, 15:40
Specialità: Programmazione
Uso: GM:Studio 2
Contatta:

Re: Platform Engine: è degno?

Messaggio da doom13 »

Vallo92 ha scritto:Prendiamo come esempio il pg: Si muove, salta e sopratutto esegue salti a parete alla velocità della luce. Secondo me sarebbe più carino dimezzando i vari hspeed, vspeed etc. Ovviamente è solo un impressione personale, poi non so se gli utenti gradiscono ugualmente l'engine.
effettivamente è tutto troppo veloce, come mai questa scelta?
Immagine
Spoiler
Maze [sospeso]
Isom (titolo provvisorio) (Windows & Android) [sospeso]
Keep Calm & Jump (Android) [In corso]
The Graywall (Windows) [Completo]
DTB (Windows & Android) [Completo]
The Last Spell (Windows) [Completo]
Dukenstein: Return to the house (Windows) [Completo]
DMSystem (Windows) [Completo]
"Things get hard sometimes guys... But remember, dicks get hard too, but they don't stay hard forever. Don't give up!"

Avatar utente
Annoyed grunt
Membro d'elite
Messaggi: 1422
Iscritto il: 10/04/2009, 16:21
Uso: GM:Studio 2
Contatta:

Re: Platform Engine: è degno?

Messaggio da Annoyed grunt »

Nessuna in particolare, è semplicemente un insieme di valori a caso che ho scelto.

Ho notato che effettivamente facendo un po' di tweaking qua e la si può avere un'esperienza meno sotto droghe :asd:

Vedrò di uploadare una una nuova demo.
Immagine

Avatar utente
doom13
Moderatore
Messaggi: 2093
Iscritto il: 31/08/2012, 15:40
Specialità: Programmazione
Uso: GM:Studio 2
Contatta:

Re: Platform Engine: è degno?

Messaggio da doom13 »

Annoyed grunt ha scritto:Nessuna in particolare, è semplicemente un insieme di valori a caso che ho scelto.

Ho notato che effettivamente facendo un po' di tweaking qua e la si può avere un'esperienza meno sotto droghe :asd:

Vedrò di uploadare una una nuova demo.
Prima mi sono scordato di dire che secondo me avrebbe senso portare avanti questo progetto, ad esempio io non saprei far camminare il pg su un oggetto in salita :oops:
Immagine
Spoiler
Maze [sospeso]
Isom (titolo provvisorio) (Windows & Android) [sospeso]
Keep Calm & Jump (Android) [In corso]
The Graywall (Windows) [Completo]
DTB (Windows & Android) [Completo]
The Last Spell (Windows) [Completo]
Dukenstein: Return to the house (Windows) [Completo]
DMSystem (Windows) [Completo]
"Things get hard sometimes guys... But remember, dicks get hard too, but they don't stay hard forever. Don't give up!"

Avatar utente
aironenero
GMI Guru
Messaggi: 2612
Iscritto il: 02/05/2012, 14:56
Specialità: Unity 3D
Uso: GM:Studio 1.4 Pro
Località: Ispica
Contatta:

Re: Platform Engine: è degno?

Messaggio da aironenero »

Solo a me questo gioco ricorda vagamente ViViD?
Unity Developer
Immagine
Immagine

Avatar utente
Annoyed grunt
Membro d'elite
Messaggi: 1422
Iscritto il: 10/04/2009, 16:21
Uso: GM:Studio 2
Contatta:

Re: Platform Engine: è degno?

Messaggio da Annoyed grunt »

aironenero ha scritto:Solo a me questo gioco ricorda vagamente ViViD?
E' letteralmente una demo con un quadrato, potrebbe ricordardi qualsiasi cosa. :lol:
Immagine

Avatar utente
aironenero
GMI Guru
Messaggi: 2612
Iscritto il: 02/05/2012, 14:56
Specialità: Unity 3D
Uso: GM:Studio 1.4 Pro
Località: Ispica
Contatta:

Re: Platform Engine: è degno?

Messaggio da aironenero »

no ma per la velocità sembra ViViD versione graifca minimalissima!
Unity Developer
Immagine
Immagine

Avatar utente
Vallo92
GMI Advanced
Messaggi: 1508
Iscritto il: 15/07/2011, 20:26
Specialità: Grafico
Uso: GM:Studio 2
Contatta:

Re: Platform Engine: è degno?

Messaggio da Vallo92 »

Ho appena provato a cercare questo "ViViD" su Google, e il primo risultato è stato un sito porno! :lol:
-Questi occhiali da sole le stanno benissimo. Vuole provarli con le lenti più scure?
- Si vede che le sto guardando le tette?
- Si
- Allora si

Avatar utente
aironenero
GMI Guru
Messaggi: 2612
Iscritto il: 02/05/2012, 14:56
Specialità: Unity 3D
Uso: GM:Studio 1.4 Pro
Località: Ispica
Contatta:

Re: Platform Engine: è degno?

Messaggio da aironenero »

Unity Developer
Immagine
Immagine

Avatar utente
Annoyed grunt
Membro d'elite
Messaggi: 1422
Iscritto il: 10/04/2009, 16:21
Uso: GM:Studio 2
Contatta:

Re: Platform Engine: è degno?

Messaggio da Annoyed grunt »

Comunque qualcuno che ha avuto esperienze con il marketplace potrebbe darmi qualche dritta?

Il problema principale sorge dal fatto che io ho solo 17 anni, e non 18. Nella maggior parte dei casi questo si risolve molto semplicemente, dato che ho un account paypal (non intestato formalmente a me, ma di fatto utilizzato solo da me medesimo).
Onestamente nella maggior parte delle mie esperienze bastava semplicemente dare loro l'indirizzo della paypal, ma ho il timore che la Yoyo richieda un po' di paperwork aggiuntivo, cosa che preferirei evitare.

Nessuno oltre Tizzio ha rilasciato niente?

EDIT: inoltre c'è la richiesta dell'uso di GMS early access, questa è una cosa che devono rispettare solo i compratori o anche i venditori? Onestamente non mi sono mai interessato all'Early Access dato che preferisco avere un programma più stabile, anche se magari leggermente più limitato.
Immagine

Avatar utente
Vallo92
GMI Advanced
Messaggi: 1508
Iscritto il: 15/07/2011, 20:26
Specialità: Grafico
Uso: GM:Studio 2
Contatta:

Re: Platform Engine: è degno?

Messaggio da Vallo92 »

Per la prima domanda aspetta una risposta di Tizzio.
Per la seconda posso risponderti anche io: Early Access è obbligatoria visto che il pacchetto del tuo engine verrà creato e caricato nello store direttamente da GM.
-Questi occhiali da sole le stanno benissimo. Vuole provarli con le lenti più scure?
- Si vede che le sto guardando le tette?
- Si
- Allora si

Avatar utente
Annoyed grunt
Membro d'elite
Messaggi: 1422
Iscritto il: 10/04/2009, 16:21
Uso: GM:Studio 2
Contatta:

Re: Platform Engine: è degno?

Messaggio da Annoyed grunt »

Ok, sto scaricando la versione Early Access di Studio.

Sperando che non si facciano interferenza fra di loro, terrò entrambe le versioni installate, così magari posso utilizzare l'engine stabile per programmare e l'altro solo per provare le funzioni in beta\uploadare roba sul market.
Immagine

Avatar utente
Vallo92
GMI Advanced
Messaggi: 1508
Iscritto il: 15/07/2011, 20:26
Specialità: Grafico
Uso: GM:Studio 2
Contatta:

Re: Platform Engine: è degno?

Messaggio da Vallo92 »

Non dovresti avere nessuna interferenza. Addirittura se ti torna meglio puoi programmare con la versione stabile, e successivamente importare e creare pacchetti con la versione Early Access. ;)
-Questi occhiali da sole le stanno benissimo. Vuole provarli con le lenti più scure?
- Si vede che le sto guardando le tette?
- Si
- Allora si

Rispondi

Chi c’è in linea

Visitano il forum: Nessuno e 68 ospiti