Jump to content
Rpg²S Forum

Hhaunted

Utenti
  • Posts

    49
  • Joined

  • Last visited

Posts posted by Hhaunted

  1. Il chara per esempio lo hai fatto te? Qualche elemento stona un po' come colori, prova a prender spunto per essi dalle risorse già fatte prendendo le palette e riutilizzandole per gli altri elementi che aggiungi.

     

    Oh sotto ci scrivi che cerchi un grafico ed il tutto è provvisorio... io comunque ti suggerirei di fare una piccola prova da te ad editare quel che hai.

    Ci sarà una storia? Un background? O tutto sarà molto sandbox? ^ ^

     

    si il personaggio l'ho fatto io, è l'unica cosa che mi sono messo a fare a parte altri piccoli pezzi di grafica per l'interfaccia, perché ovviamente tutto il tempo l'ho dedicato al codice. Adesso però che sono ad uno stato abbastanza avanzato dell'engine e che funziona tutto senza problemi potrei provare a dedicare un po' di tempo alla grafica e vedere se posso combinare qualcosa, ma è un macello, soprattutto se penso al fatto che ci sarebbe da spritare un sacco di armi/oggetti e soprattutto nemici e mappe :unsure:

     

    Per il momento non è prevista una storia, forse in futuro, dipende come si evolve la cosa.

  2. -Craftland-

    a tale of craftsmanship


    Piattaforma: Android
    Sviluppo: Java - OpenGL

    Il gameplay è una sorta di Zelda (nes) con possibilità di craftare armi e oggetti, e modificare l'intera mappa tile per tile.
    La mappa è generata in automatico, ed è molto grande, ovviamente sparsi per la mappa ci sono segreti vari e oggetti/minerali di ogni tipo da trovare e craftare.

    L'inventario si suddivide in due parti: cliccando sul baule si apre il menu delle armi e oggetti, invece cliccando sul martello si aprirà il menu di crafting.
    Il sistema di craft ricorda molto Terraria, si ha una lista di oggetti nell'inventario e automaticamente ci viene mostrato quali oggetti si possono craftare in base agli oggetti che si ha nell'inventario.

    Ovviamente, visto il titolo del gioco, non poteva mancare un sistema molto complesso per coltivare ogni tipo di ortaggio immaginabile, con cui craftare altri oggetti, dalle pozioni ad altre cose utili per poi affrontare il gioco.

    All'engine ormai ci lavoro da un sacco di tempo, ci sono parser per gestire gli oggetti, armi, nemici, drop-rate da file di testo.
    In futuro vorrei implementare anche la possibilità di scambiarsi oggetti tra giocatori (più o meno come succedeva una volta sul game boy con i pokemon).

    C'è pure un sistema di messaggi a schermo, attualmente serve solo per dare informazioni o notifiche, ma è già pronto per gestire eventuali dialoghi con NPC.


    http://i.imgur.com/1Wa5C3D.png

    http://i.imgur.com/fHBErdZ.png

    http://i.imgur.com/1CLhDBN.png

  3. aggiornamento (31/01/2014):

    - sistemato bug; l’algoritmo degli incontri casuali nell’erba alta crashava l’engine in caso le coordinate del personaggio erano fuori dai limiti massimi dell’array

    - sistema generazione pokemon casuale nuovo; viene caricato un pokemon per volta in memoria ad ogni combattimento (prima tutti i pokemon disponibili venivano caricati in memoria)

    - Supporto nomi! Le conversazioni adesso sono contraddistinte dal nome dell’npc con cui si sta parlando.

    - Risolto bug inventario si apriva anche quando la GUI era attiva

    - Nuova classe SearchNPC aggiunta. Il metodo getName(String name) cerca e ritorna un intero (int) dell’indice corrispondete all’npc con quel nome nella lista.
    esempio:

    npc[SearchNPC.getName("Alberto")].Quest = new Quest("Ho trovato questo strano oggetto! \n\n non so che farmene...", new Item("Liquore", "forse non serve a niente..."));
    
    

    Se non trova nessun nome corrispondente ritorna il valore 0.

     

    Uno dei fattori negativi di pokèmon essential e di rpg maker è la pesantezza dei giochi creati.

    dovuti anche alla non compressione della grafica del gioco. Pokèmon richiede molta grafica, 600 pokèmon (forse) sprites di allenatori e finestre varie, tilesets , particles, e le animazioni delle mosse.

    spero che questo programma non abbia questo problema come pokèmon essential.

     

    se per pesantezza intendi che occupa tanta ram perchè c'è tanto materiale da caricare, non ho mai provato pokémon essential, però io carico un pokémon alla volta in memoria in base a quando serve (tipo quando parte un combattimento), e non tutti i pokémon esistenti, solita cosa per mappe ecc. ecc. Se rpg maker carica tutto il materiale all'avvio effettivamente può essere pesante se c'è tanto materiale da caricare.

  4. Capisco, un sistema ad eventi è difficile da creare? ^ ^ Potresti pensarlo di farlo per le cose più comuni come portare oggetti, trovare oggetti, catturare pokemon...

    ^ ^

    Bè ci sono tante "variabili" da considerare, per di più lo sto rendendo il più customizzabile possibile, si può creare oggetti di qualunque tipo e modificare i dialoghi/oggetti/reward delle quests.

     

     

    potresti inserire eventi tutorial già fatti per far capire a tutti come fare un determinato evento.

    Si è decisamente la cosa migliore da fare.

  5. Ah ottimo il video tutorial, almeno con qualcosa di grafico si attirano più utenti ^ ^

     

    E' il video a laggare? Lo vedo anche dal cursore, ma mi pare che in game sia di più il lag D:

    Dopo il sistema di battaglie e le quest cosa può mancare? ^ ^

    si è il video che ha il frame rate basso.

    Per il momento mi "limito" a un sistema di quests, e alle battaglie, poi vedrò, che già a far questi ci vorrà un pò di tempo.

  6. ok ho dato una sistemata veloce (fatto prima di quanto pensassi).

    Elenco aggiornamenti:

    - Rimosso il sistema per impostare i tiles liberi dal file Config.ini, adesso si inseriscono direttamente da Tiled, quindi per ogni mappa possiamo usare configurazioni diverse, può tornare utile in caso si vuole utilizzare un tileset diverso per ogni mappa. Il parser leggerà i valori inseriti da Tiled nel file .tmx; da Tiled quindi basterà andare su Mappa -> Proprietà mappa, inserire un oggetto di tipo TilesFree con i valori che ci interessano, per esempio: 0,1,2,7,14,50

    - L’algoritmo che controlla le collisioni è stato aggiornato: adesso le collisioni vengono calcolate su tutti i layers che vengono creati, l’ordine di rendering è sempre il solito: il primo layer creato (quello che sta più in basso anche sull’editor Tiled, e quindi il primo che viene parserizzato dal file .tmx) è il terreno più in basso, tutti gli altri layers (possono essere infiniti) vanno sopra al personaggio, quindi sono renderizzati dopo.

    - La mappa CitySample è stata modificata per fare un esempio di mappa con due layers: Layer1 è praticamente l’intera mappa, l’erba, gli alberi, le case ecc ecc. Layer2 contiene il piccolo sottopassaggio roccioso in alto a sinistra della mappa.

  7. Quindi collisioni solo su un layer? Sicuro che non serva avere collisioni tra alcuni elementi ed altri no, ma che collidono con altri elementi ancora? Non sarebbe meglio mettere che ogni layer ha il proprio piano di collisione? ^ ^

    Boh mi ci trovo bene lo stesso. Comunque si prima o poi metterò pure le collisioni su tutti i layers ma devo riorganizzare alcune cose per farlo se no viene un "accrocchio" strano.

  8. Aggiornamento:



    - Sistemato un bug che gestiva le coordinate del mouse sui bottoni.



    - Sistemato un bug che portava il personaggio fuori “centratura” sui tiles.



    - Aggiunta la possibilità di usare infiniti layers su Tiled, il layer principale con le collisioni deve essere dichiarato una volta sola con nome obbligatorio CollisionLayer, e sarà il primo layer ad essere renderizzato, tutti gli altri potranno essere utilizzati per ponti, archi, qualsiasi oggetto dove il personaggio dovrà passare sotto.



    - La telecamera non va mai fuori dai bordi massimi della mappa, a meno che la mappa non sia piccola (esempio piccoli interni di case) e risulterà quindi sempre centrata sul personaggio principale.


    - Risolto bug che comportava l’avvio di un evento di fight mentre eravamo fermi nell’erba alta.



    Metodo Read_Arrays()



    private void Read_Arrays(System.IO.StreamReader file)
    {
    List<String> lines = new List<string>();
    String line = "";

    while ((line = file.ReadLine()) != null)
    {
    lines.Add(line);
    }

    for (int n = 0; n < lines.Count(); n++)
    {
    if (lines[n].StartsWith(" <layer name="))
    {
    String name = getParameter(lines[n], "name");
    if (name == "CollisionLayer")
    {
    if (collisionLayerLoaded == false)
    {
    collisionLayerLoaded = true;
    }
    else
    {
    throw new ArgumentException("Just one CollisionLayer is allowed!");
    }
    }
    arrays.Add(new BaseArray(name, height, width));
    int count = 0;
    for (int i = n + 2; i < (n + 2 + height); i++)
    {
    String[] tempLine = lines[i].Split('n');
    for (int index = 0; index < tempLine.Count(); index++)
    {
    String[] l = lines[i].Split(',');
    for (int a = 0; a < l.Length; a++)
    {
    if (a < width)
    {
    arrays[arrays.Count() -1].array[count, a] = Convert.ToInt32(l[a]);
    }
    }
    count++;
    }
    }
    }
    }
    }

  9. Ah bene per il mouse che rende il tutto meno ostico e più facile ^ ^

     

    L'erba ed altri elementi vanno sopra al protagonista se non erro in pokemon, gestisci separatamente? Altrimenti potresti optare per 3 valori invece che un booleano (o 4, ma mi pare che sui vecchi pokemon non ci siano tile oscuranti se non l'erba di tipo semioscurante)

    ^ ^

    si ho notato, ma è solo un piccolo problema di posizionamento, appena posso correggo.

  10. Aggiornamento:

     

    - Aggiunto supporto mouse.

    - Classe Button.cs aggiornata per gestire coordinate e input del mouse.

    - Collisioni scriptabili tramite il file Config.ini alla riga TILES_FREE.

    Esempio valori collisione:

    TILES_FREE = ,0,1,2,3

    i tiles con valore 0, 1, 2, e 3 saranno considerati liberi, tutti gli altri valori sono una collisione!

    Il codice aggiornato che gestisce i valori dei tiles per le collisioni:

    public bool Collision(Vector2 pos)
            {                       
                if(TilesFREE(pos))
                {
                    return false;
                }
                else
                {
                    return true;
                }            
            }
    
            private bool TilesFREE(Vector2 pos)
            {
                bool r = false;
                for (int n = 0; n < Engine.TILES_FREE.Count(); n++)
                {
                    if (FreeTile(pos, Engine.TILES_FREE[n]))
                    {
                        r = true;
                    }                
                }
                return r;
            }      
    
            private bool FreeTile(Vector2 pos, int tileFree)
            {
                bool r = false;
                if ((int)pos.Y / tileSize < arrayHeight && (int)pos.Y / tileSize >= 0 &&
                    (int)pos.X / tileSize < arrayWidth && (int)pos.X / tileSize >= 0)
                {
                    if (array[(int)(pos.Y / tileSize), (int)(pos.X / tileSize)] == tileFree)
                    {
                        r = true;
                    }
                    else
                    {
                        r = false;
                    }
                }
                return r;
            }
    
  11. Starting Pixel

    http://i42.tinypic.com/2w7et88.png


    Introduzione






    Ho iniziato a lavorarci da circa un mesetto, e l'idea è quella di avere un engine/framework con cui poter fare dei giochi rpg/pokémon vecchio stile. Engine e Framework perché si può creare le mappe e gli oggetti tramite il programma Tiled e quindi senza scrivere codice, e il parser dell'engine si occuperà di leggere il file .tmx (layer format csv) che esporta Tiled e ricreare la mappa e gli oggetti nel gioco. Si potrà quindi creare gran parte del gioco tramite Tiled e l'engine farà tutto da solo, però potrà anche essere utilizzato come Framework; creare una mappa direttamente via codice (C#) grazie alle classi World.cs e BaseMap.cs è semplice e veloce e in futuro aggiungerò un sacco di classi in più per semplificare e velocizzare il lavoro il più possibile, così sarà anche totalmente customizzabile.


    Per il momento tramite Tiled si possono creare mappe e alcuni oggetti/npc con relativo testo, settare anche la musica di sottofondo, e impostare le zone di uscita per caricare altre mappe (oggetto ChangeZone).
    C'è già un sistema di incontri casuali nell'erba alta (come nei classici giochi Pokémon), tutta la relativa fase di fight è però ancora mancante.


    Caratteristiche Tecniche






    C# + Framework XNA



    Screenshot
    http://i42.tinypic.com/j6olxj.png
    altri screenshot:
    Screenshot 1
    Screenshot 2

    http://www.youtube.com/watch?v=5HlK8RMs-7c

    http://www.youtube.com/watch?v=OicScgP_RPs

    Eseguibile scaricabile dal sito ufficiale
    StartingPixel
  12. http://img607.imageshack.us/img607/7992/hamchalogo.png

    presenta

    Angry Italians

    Introduzione
    Angry Italians ricorda vagamente Angry Birds...ma solo vagamente!!! :D
    Immaginate un Angry Birds con altri "simpatici"(anche no), "personaggi", al posto dei maiali e....spaccate tutto!

    Caratteristiche Tecniche
    Gioco fatto in Java/OpenGL e fisica in C++.


    Screenshot

    http://4.bp.blogspot.com/-tf76WQbCFco/UbxqpJa82lI/AAAAAAAABo0/wSDb2zN0TC0/s1600/bIcon.png

    http://2.bp.blogspot.com/-E_qKLlLy8BE/Ubxqq_Mbd-I/AAAAAAAABo8/kl9l381lB2U/s1600/angry1.png

    Link alla versione giocabile
    it_generic_rgb_wo_60.png
  13. http://img607.imageshack.us/img607/7992/hamchalogo.png

    presenta

    PacDroid: Apples eater

    Introduzione
    PacDroid è una sorta di Pacman dove al posto dei fantasmini ci sono delle mele. Le mele possono essere di diversi colori: verdi, rosse, viola ecc ecc.
    Lo scopo ovviamente è quello di riuscire a mangiarle tutte, ma si può mangiare solo le mele del colore che in quel momento è possibile mangiare, mentre le altre dovremmo evitarle, altrimenti sarà game over. Per cambiare il colore dovremmo prendere dei cristalli sparsi in giro per la mappa.
    Al momento sono giocabili 73 livelli, dove lo scopo è più o meno sempre il solito, ma specialmente dal livello 40 in poi, si trasforma più in un gioco stile puzzle misto al famoso snake per nokia.

    Caratteristiche Tecniche
    Il gioco è completamente fatto da zero, con il motore che ho fatto in OpenGL ES, e in continuo aggiornamento.


    Screenshot
    http://3.bp.blogspot.com/-YMAE2NIjzUw/UWX6Oaytz5I/AAAAAAAABnA/zXUgyRhx5r4/s1600/4.png

    http://img835.imageshack.us/img835/9522/95240958.png

    http://img211.imageshack.us/img211/448/83113259.jpg

    Link alla versione giocabile
    it_generic_rgb_wo_60.png
×
×
  • Create New...