In sviluppo Habbo HTML5

FusionDev

Utente Medio
27 Luglio 2010
181
13
29
21
Italia
Miglior risposta
0
#1 Autore del topic
Ciao a tutti,
ultimamente nel tempo libero mi è venuta la pazza idea di provare a replicare Habbo in HTML5.

Cercando un pò in giro su Sciax2 e altri forum stranieri ho visto che ci sono già progetti del genere (incompleti, ad esempio Apollo).
Ho deciso quindi di provare a dedicare un pò di tempo a questo progetto che mi sembra carino, nonostante Habbo sia morto e nel giro di 1 anno probabilmente scomparirà del tutto, incentivato da Flash che diventerà obsoleto.

Tecnologie utilizzate:
-Canvas e JavaScript (utilizzato per le connessione - utilizzato per il "gameplay", quindi per i giocatori e per i furni)
-HTML e CSS (utilizzato per l'UI provvisoria, che era solo una prova di implementazione, infatti verrà completamente rifatta)
-C# (utilizzato per il server, insieme a Postgresql per il database)

-Generazione tile e muri (mancata implementazione delle scale)
-Generazione dei vari giocatori
-Implementati i vari movimenti in tutte e 8 le direzioni
-Spostamento della viewport (camera, che segue l'utente e permette lo spostamento della stanza)
-Caricamento del client (che permette il caricamento di tutto gli sprites)


Ancora nessun aggiornamento importante.


Il progetto verrà aggiornato ogni 24/48h!
 
Mi Piace: Schwindler

FusionDev

Utente Medio
27 Luglio 2010
181
13
29
21
Italia
Miglior risposta
0
#4 Autore del topic
Update 02/01/2019: Sto eseguendo dei test per la generazione delle tile tramite polygons e che quindi non userà più delle immagini. Questo è il risultato dopo 15 minuti di lavoro.

Screenshot_15.png
 

FusionDev

Utente Medio
27 Luglio 2010
181
13
29
21
Italia
Miglior risposta
0
#7 Autore del topic
Update 02/01/2019 (2): Ho appena terminato anche la generazione dei poligoni per i muri. Il core ha ancora dei problemi di generazione (spigolo mancante) e alcuni pixel errati nello spigolo laterale dei muri a destra, problema che sistemerò nei prossimi giorni.


stanza1.png
room2.png
 

vinnythebest

Amministratore
Amministratore
27 Dicembre 2007
6.502
265
128
Veneto
Miglior risposta
0
#8
Bravo bravo, come ti ho detto su Telegram.. continua così!
Non ti dimenticare gli snippet, perché sono importanti per far capire il lavoro che stai facendo a chi veramente ha voglia di capire il modo in cui stai sviluppando.

Goodluck ancora una volta!
 
Mi Piace: FusionDev

FusionDev

Utente Medio
27 Luglio 2010
181
13
29
21
Italia
Miglior risposta
0
#10 Autore del topic
Update 03/01/2019:
-Primi test di implementazione dei furni terminati.
-Implementazione di una piccola UI alternativa, basata in parte su un concetto trovato online.

Attualmente in lavorazione: riscrittura completa della classe "PlayerComposer", classe che gestisce lo spawn e la rimozione del giocatore.

download.png

Screenshot_21.png

Scusate, avevo completamente dimenticato gli Snippet!

(Piccola precisazione: a differenza del C# che ho utilizzato per circa 6 anni, JavaScript è un linguaggio che ho usato ben poco, quindi se avete consigli per migliorare il mio codice sono molto felice di accoglierli)

JavaScript:
function beginPlayerLoading(id, avatar) {
    players[id].image = loadedSprites['loadingPlayerAvatar'];
  
    var loadingSprite = new Image(0, 0);
    loadingSprite.name = avatar;
    loadingSprite.src = 'avatar/avatar.php?figure=' + avatar;
    loadingSprite.onload = function() {
        loadedSprites[avatar] = loadingSprite;
        players[id].image = loadingSprite;
    };
  
}
JavaScript:
function loadNextSprite(){
    loadedCount++;
    var toLoadSprite = sprites[loadedCount];
    var loadingSprite = new Image(toLoadSprite.width, toLoadSprite.height);
    loadingSprite.src = toLoadSprite.imageUrl;
    loadingSprite.onload = function() {
        loadedSprites[loadingSprite.storingName] = loadingSprite;
        if(loadedCount < toLoadCount) loadNextSprite();
        else{
            console.clear();
            socket_setup();
        }
    };
    
}
 
Ultima modifica:

FusionDev

Utente Medio
27 Luglio 2010
181
13
29
21
Italia
Miglior risposta
0
#13 Autore del topic
Update 07/01/2019:
-Scrittura del Manager lato server per il database (che ricordo essere in Postgresql visto la comodità avuta in passato)
-Riscrittura del sistema di Networking (I messaggi ancora non hanno nessun metodo di crittografia)

Per oggi non ci sono foto da condividere.

Piccola precisazione: salvo eccezioni, di sabato e domenica non verranno rilasciati aggiornamenti del progetto!
 

..Vortix..

Utente Strepitoso
26 Gennaio 2008
5.130
23
58
Caserta
Miglior risposta
0
#14
Wow! Io non sono un tecnico di linguaggi di programmazione, ma sembra che tu stia facendo proprio un bel lavoro!
Una curiosità: quali sono lo scopo e il vantaggio di programmare un gioco come Habbo con questo linguaggio di programmazione?
 

FusionDev

Utente Medio
27 Luglio 2010
181
13
29
21
Italia
Miglior risposta
0
#15 Autore del topic
Lo scopo era di riscriverlo perchè dal 2020 Flash perderà quasi sicuramente la compatibilità, e quindi l'unico modo per giocarci sarà passando ad un'altra tecnologia invece di Flash, quindi la mia scelta si è giocata tutta intorno a questo fatto.
 
Top