Jump to content
Rpg²S Forum

Maxy

Utenti
  • Posts

    131
  • Joined

  • Last visited

Posts posted by Maxy

  1. Questo è un problema particolarmente interessante, ci penso da un sacco di tempo. Il problema è che in rpg maker manca un comando specifico che imposti una maschera su una sprite non fissa... forse il risultato di MasterSion è il miglior compromesso che puoi ottenere.
  2. Queste pixellate sono dei gioiellini!

     

    Ci dici qualcosa a proposito della trama del gioco, gameplay ecc...

    battaglie a turni o in tempo reale?

    singolo personaggio o più personaggi?

    (ho già letto il primo post, ma un'idea dovrai avercela...)

     

    Mi piacerebbe entrare a far parte del team, per quanto riguarda programmazione. Non a tempo pieno purtroppo (causa esami...), ma chissà, magari io e @Blashyrkh un programmatore tutto intero lo facciamo... (ho troooppe idee sul gameplay!!)

    Se mi mandi un mex ne parliamo

  3. Rampicanti a parte, faccio fatica a percepire l'altezza del campanile, probabilmente è la croce: forse è perchè ha la stessa grandezza dell'albero a sinistra oppure perchè sporge molto dal tetto, sembra allo stesso livello del terreno è per questo il mio occhio fa fatica a capire dov'è la croce.

    Se guardo l'eroe la croce mi sembra "allo stesso livello dell'eroe" se guardo il campanile mi sembra sul campanile. Ma è anche da considerare l'effetto in game.

    Oppure sono strabico e basta

     

    Io sposterei la croce di un tile più in basso

  4. Ben arrivato!

    Bravo che usi l'xp (che è lo stesso tool che uso io) e bravo per le poppe nome.

     

    edit: e anche bravo perchè ti chiami Max

  5. Se vuoi uno scripter dicci qualcosa in più sul tuo progetto!

     

    Io sono uno scripter (ma ho solo l'xp per adesso) però non ho voglia di mettermi a scriptare per un gioco con una trama banale e già vista millemila volte per esempio (mondo in pericolo, eroe salva il mondo, tutti vivono felici e contenti, ecc), non mi sto riferendo al tuo gioco, nel caso ne avessi postato uno.

     

    Altra cosa: disegna qualcosina! Fai vedere che anche se non sai usare benissimo rpg maker puoi occuparti egregiamente della parte grafica e del mapping!

     

    Se intendi trovare collaboratori che ti aiutino con lo scripting, fai vedere che vale la pena stare accucciato ore e ore sulla tastiera per il tuo gioco, perchè non solo il gioco sarà divinamente programmato, ma avrà anche una grafica strafica!!

     

    non so se mi sono spiegato,

     

    attendiamo news

  6. Mi associo a @Funkymicio.

    Anzi, consiglio addirittura di disegnare il tizio che corre col busto ancora più eretto, perchè altrimenti il divario personaggio_fermo-personaggio_in_corsa risulterebbe poco fluido...

  7. Bello! Un platform, quindi! Tipo Abe?

     

    Come pixel artist non valgo molto, però, a proposito degli stage mi permetto di suggerirvi questo: tutti quei tubi sollevati a mezz'aria, sui quali il protagonista dovrà passare sopra, immagino, conviene non attaccarli allo sfondo, ma farli rimanere mobili (in modo che possano eventualmente crollare o comunque inclinarsi sotto il peso del protagonista); inoltre credo convenga tenere separati i livelli di sfondo per dare più livelli di parallasse (o parallassi?) al gioco.

     

    Ignoratemi se avete già usato queste precauzioni...

  8. @Holy87

    Appena ho tempo ti dispiace se mi metto a convertirlo anche per VX?

     

    No che non mi dispiace! Anzi, mi fa piacere! Se hai idee su come migliorarlo, spara pure!

     

    edit: Ho visto adesso che mi sono dimenticato di eliminare dallo script le righe di codice che ho utilizzato per le mappe nella demo. Ho corretto adesso.

  9. Innanzitutto vi ringrazio, Apo e Guardian.

     

    I pg continueranno a muoversi normalmente, giusto? E se l'evento non è passabile la collisione come viene gestita, il pg si ferma a seconda dei tile invasi anche solo da un pixel dell'evento?

     

    Allora:

     

    per la collisione tra EVENTI, non c'è il minimo problema: dove tu vedi l'evento, tu non puoi passare (ho sempre sognato di intercalarlo in un discorso!).

     

    Ci sono problemi quando i TILE non sono passabili, questo perchè i tiles non vengono spostati dallo script. Insomma accade che se un sasso (non passabile) occupa le coordinate (2,3), l'eroe non può passare per le coordinate (2,3), il problema è che il chara dell'eroe è spostato dallo script in accordo a come viene deformata la griglia della mappa, il sasso invece no.

     

    Come risolvere il problema?

    • Creare un evento con la grafica del sasso
    • Disegnare il sasso sulla mappa di sfondo e creare un evento non passabile vuoto nella giusta posizione

     

    Non mi sono preoccupato di questa parte, perchè di solito chi usa gli sfondi non usa i tiles. Certo, nulla vieta combinazioni delle due tecniche, ma è possibile usare gli eventi con la grafica dei tiles.

     

    Scriverò questa cosa anche nel primo messaggio del topic

  10. Mappa Quadrilaterale

    Descrizione

    Anzichè mostrare gli eroi su una griglia rettangolare, vi permette di decidere la forma della griglia. Può essere utile per mostrare gli eventi su di una mappa disegnata, facendo il modo che seguano la geometria del disegno

    Autore

    by Maxy

    Screen




    La griglia della mappa verrà deformata, per esempio così
    http://img15.imageshack.us/img15/438/035ruins01.jpg

    E gli eventi si disporranno cosà
    http://img651.imageshack.us/img651/7757/provaw.png

     

     

    Istruzioni per l'uso

    Per disporre gli eventi su una griglia, all'inizio dello script inserite il codice

    $list[iD_MAP] = [x_1,y_1,x_2,y_2,x_3,y_3,x_4,y_4]
    



    Dove ID_MAP è l'id della mappa in questione, e x_1,y_1,x_2,y_2,x_3,y_3,x_4,y_4 sono le coordinate dei vertici del vostro quadrilatero, prese in senso orario a partire dal vertice in alto a sinistra. Le coordinate sono proprio le coordinate del pixel nel disegno.


    #-------------------------------------------------------------------------------
    # Quadrilateral Script
    #-------------------------------------------------------------------------------
    #   by Maxy
    #-------------------------------------------------------------------------------
    # It places events on a quadrilateral grid
    #-------------------------------------------------------------------------------
    # To create a new quadrilateral grid, use the list below
    # Points must be in this order
    #
    #	1	 2
    #
    #
    #	4	 3
    #
    $list = {}
    # how to use : $list[iD_MAP] = [x_1,y_1,x_2,y_2,x_3,y_3,x_4,y_4]
    # example:  $list[1] = [233,252,640,317,640,480,0,480]
    
    
    # Optional: to move the panorama with the player
    class Spriteset_Map
      
      alias updt_quadr update
      def update
    	updt_quadr
    	if $list.has_key?($game_map.map_id)
    	  @panorama.ox = $game_map.display_x / 4
    	  @panorama.oy = $game_map.display_y / 4
    	end
      end
    end
    #
    
    class Quadrilateral
      
      attr_accessor :poly_x #a 2 variables polynomial
      attr_accessor :poly_y #a 2 variables polynomial
      
      def initialize(x_1,y_1,x_2,y_2,x_3,y_3,x_4,y_4)
    	@poly_x = [x_1, x_2 - x_1, x_4 - x_1, x_3 - x_4 - x_2 + x_1 ]
    	@poly_y = [y_1, y_2 - y_1, y_4 - y_1, y_3 - y_4 - y_2 + y_1 ]
      end
    	
      def projection_x(x,y) #take the point in the old system, and return the projection
    	max_y = 32*$game_map.height
    	max_x = 32*$game_map.width
    	x = x % max_x
    	y = y % max_y
    	final_x = ( poly_x[0]*max_x*max_y + poly_x[1]*x*max_y + poly_x[2]*y*max_x + poly_x[3]*x*y ) / (max_x*max_y)
    	return final_x
      end
      
      def projection_y(x,y) #take the point in the old system, and return the projection
    	max_x = 32*$game_map.width
    	max_y = 32*$game_map.height
    	x = x % max_x
    	y = y % max_y
    	final_y = ( poly_y[0]*max_x*max_y + poly_y[1]*x*max_y + poly_y[2]*y*max_x + poly_y[3]*x*y ) / (max_x*max_y)
    	return final_y
      end
    
      def projection_x_y(x,y) #take the point in the old system, and return the projection
    	max_x = 32*$game_map.width
    	max_y = 32*$game_map.height
    	x = x % max_x
    	y = y % max_y
    	final_x = ( poly_x[0]*max_x*max_y + poly_x[1]*x*max_y + poly_x[2]*y*max_x + poly_x[3]*x*y ) / (max_x*max_y)
    	final_y = ( poly_y[0]*max_x*max_y + poly_y[1]*x*max_y + poly_y[2]*y*max_x + poly_y[3]*x*y ) / (max_x*max_y)
    	return final_x, final_y
      end
      
    end
    
    class Game_Map
      
      attr_reader :quadrilateral
      
      alias quadr_setup setup
      def setup(id)
    	quadr_setup(id)
    	if $list.has_key?(id)
    	  @quadrilateral = Quadrilateral.new($list[id][0],$list[id][1],$list[id][2],$list[id][3],$list[id][4],$list[id][5],$list[id][6],$list[id][7])
    	end
      end
      
    end
    
    
    class Game_Character
      
      alias quadr_screen_x screen_x
      alias quadr_screen_y screen_y
      
      def screen_x
    	if $list.has_key?($game_map.map_id)
    	  w = $game_map.quadrilateral.projection_x(@real_x/4,@real_y/4)
    	  return w-($game_map.display_x + 3) / 4 + 16
    	else
    	  quadr_screen_x
    	end
      end
      def screen_y
    	if $list.has_key?($game_map.map_id)
    	  w = $game_map.quadrilateral.projection_y(@real_x/4,@real_y/4)
    	  y = w-($game_map.display_y + 3) / 4 + 16
    	  if @jump_count >= @jump_peak
    		n = @jump_count - @jump_peak
    	  else
    		n = @jump_peak - @jump_count
    	  end
    	  return y - (@jump_peak * @jump_peak - n * n) / 2
    	else
    	  quadr_screen_y
    	end
      end
      
    end
    
    class Game_Player
      
      alias center_quadr center
      def center(x, y)
    	if $list.has_key?($game_map.map_id)
    	  max_x = ($game_map.width - 20) * 128
    	  max_y = ($game_map.height - 15) * 128
    	  w_x, w_y = $game_map.quadrilateral.projection_x_y(x*32,y*32)
    	  $game_map.display_x = [0, [w_x*4 - CENTER_X, max_x].min].max
    	  $game_map.display_y = [0, [w_y*4 - CENTER_Y, max_y].min].max
    	else
    	  center_quadr(x,y)
    	end
      end
      
      
    end 

     

    Demo

    http://www.mediafire.com/?h45zhveqbuwjumw

    Bugs e Conflitti Noti

    N/A

    Altri Dettagli

    Lo script modifica solo la posizione dei chara degli eventi, non sposta i tile: pertanto se la vostra mappa contiene ad esempio un albero, la sua immagine non verrà spostata, questo scombussola le collisioni:

    per la collisione tra EVENTI, non c'è il minimo problema: dove tu vedi l'evento, tu non puoi passare (ho sempre sognato di intercalarlo in un discorso!).

    Ci sono problemi quando i TILE non sono passabili, questo perchè i tiles non vengono spostati dallo script. Insomma accade che se un sasso (non passabile) occupa le coordinate (2,3), l'eroe non può passare per le coordinate (2,3), il problema è che il chara dell'eroe è spostato dallo script in accordo a come viene deformata la griglia della mappa, il sasso invece no.

    Come risolvere il problema?

    • Creare un evento con la grafica del sasso
    • Disegnare il sasso sulla mappa di sfondo e creare un evento non passabile vuoto nella giusta posizione

    Creditatemi se lo utilizzate

×
×
  • Create New...