Jump to content

AD-Blocker detected, please disable your ad-blocker when surfing in makerando.com - There is no invasive Ad.

 

  • Chatbox

    You don't have permission to chat.
    Load More
Sign in to follow this  
LusianL

RPGMAKER VX ACE Wild Rage New Generation

Recommended Posts

Lusianl

Presenta

 

titolo.png?w=450

TRAMA

Qui (anche per valutare se il gameplay era buono) si parte dalle radici. A differenza della trama normale dove Wild era già fortissimo e consapevole, qui no. Qui si parte dall'inizio, cosi si avrà l'occasione di conoscere come Wild scopre il suo potere e come lo renderà inarrestabile!

All'inizio avevo pensato di rispolverare la dea...ma poi mi sono reso conto che esiste già un formidabile avversario ed è dentro il cuore di WIld. Per il resto si ripercorre l'originale!

 

PERSONAGGI

Oltre i nostri eroi c'è la città di Pamin con i suoi abitanti, che imparerete a conoscere e forse amare!

personaggi.png?w=450

 

GAMEPLAY

-4 location

-battaglia in tempo reale

 

SCREEN



sssfine.png?w=450

wipad.png?w=450

cassettowild.png?w=450

 

VIDEO

https://www.youtube.com/watch?v=gPm0eZ-0shY

 

DOWLOAD

 

Immagine inserita

 

RINGRAZIAMENTI

Ai forum di making(almeno quelli sopravvissuti!XD)

A Ghost Rider (per la traduzione, betatest e supporto)

Thund ( per lo script e il betatest)

Moghunter(che ha fatto gli script che uso sempre)

 

BUON DIVERTIMENTO

 

Share this post


Link to post
Share on other sites
2 ore fa, Ghost Rider dice:

Come gia detto mentre testavo, l'inquadratura delle dungeon e il BS in generale mi hanno fatto tornare indietro nel tempo a Legend of Zelda (il più classico di tutti).

 

Consiglio assolutamente a tutti i nostalgici.

Grazie Ghost! Stavo cominciando a pensare che sui forum ormai mi ignorano! XD

Share this post


Link to post
Share on other sites

Eccomi qui.

Dimmi la verità fai uscire la demo quando vado in ferie cosi resto a disposizione!Sei veramente un lord beverino!

Allora

GRAFICA

La parte forte,sempre quando riguarda te.Io amo lo stile retrò,avrei preferito quella classica ma anche queste come zelda è gradevole,anche perchè ci sono tante cose bellissime come le case e i sotterranei.I personaggi a parte qualcuno sono forti,chissà perchè non riesci a ricreare nei charset del vx ace lo stessa personalità.

GAMEPLAY

Zelda!In stile wild ma zelda,e mi piace tantissimo.Poi se ho capito bene i poteri si impareranno man mano e questo è bene pure!

VOTO 8

Voto a metà perchè è solo l'inizio e mancano le solite scene alla lusian.I combattimenti con mostroni e nemici.Ma come hai detto è l'inizio dentro la città deve essere per forza tranquillo.Quindi si aspettano le grandi cose!

Share this post


Link to post
Share on other sites

Copio qui il "rapporto" che ti ho fatto privatamente, per vedere magari se anche altri si trovano d'accordo (o in disaccordo) con la mia analisi:

 

----

 

Dunque, visto che sono uno a cui piace parlare bene delle cose, iniziamo dagli aspetti positivi: il comparto grafico è tutto molto bello, sia le risorse usate, sia gli sprites, sia il mapping, i colori molti vivi, la scelta dell'inquadratura negli spazi interni... insomma da questo punto di vista nulla da criticare, veramente un ottimo lavoro; anche l'interfaccia pulita del battle system, senza icone che occludono parte della visuale (che su rpg maker è gia molto piccola). Forse sfrutterei la cosa del Wi-Pad anche come menu (cioè di fare un menu con la grafica del pad, con le varie opzioni e tutto), ma a parte questo nulla da ridire.

 

Il gameplay è fluido e scorrevole, battle system semplice e senza fronzoli. La prima cosa a cui ho pensato, come sicuramente immagini, è stato l'originale Zelda.

Forse alla lunga può diventare monotono, ma confido che ci sarà qualche abilità che potremo usare per spezzare il ritmo, anche perchè i mostri per ora non hanno poteri particolari e non si sale di livello, per quel che ho visto, quindi non c'è un vero motivo per affrontare mostri ad oltranza, spesso conviene scappare perchè tanto sono lenti.

 

Bugs:

Molti dei bug che avevo notato sono gia spariti in questo nuova versione quindi non te li elencherò, c'è solo un buggo piccolissimo, più o meno in questa zona all'inizio del dungeon:

 

image.png

 

C'è un anfora (nello screen l'ho distrutta) ma il gioco crede che sia una roccia (cioè posso distruggerla solo dopo aver preso l'abilità dal maestro tusha) e quando la distruggo fa l'effetto di una roccia.

 

Poi c'è il telefono che in alcune parti viene chiamato Wi-Pad e in altre Relifone... probabilmente hai mancato di sostiuire il nome da qualche parte.

 

Poi c'è l'enigma in questa stanza; non è un bug ma mi ha fatto comunque storcere il naso:

 

image.png

 

che mi sembra troppo "forzato"; nel senso che in teoria io potrei subito spingere il tassello vicino la leva e azionarla, ma il gioco non mi permette di farlo (perchè naturalmente l'enigma vuole che io faccia il giro lungo), ma non c'è un vero motivo "logico" per cui non posso spingere quel tasello da sopra ma solo da sotto, se non per la ragione che il gioco vuole che sia così. Insomma non so se ho reso l'idea... probabilmente ti basterà inserire un ostacolo che non mi fa passare comunque, il modo che il giocatore capisca perchè deve fare obbligatoriamente il giro xD

 

Venendo alla trama, per ora non viene svelato molto (come è giusto che sia), ma è comunque avvincente e avventurosa. I vari personaggi sono tutti molto simpatici; l'unica cosa che non mi è chiara è - se nella stanza di wild c'è la foto dei genitori morti, perchè poi dice che il mago è suo padre?

 

Altre cose che non mi hanno troppo convinto (parlando da giocatore), è che passa un bel po' di tempo prima di entrare nel vivo dell'azione, principalmente per via del sindaco che ti fa fare la quest dei sassolini; che di per se ha senso, ma dal punto di vista della scorrevolezza, secondo me, sarebbe meglio se il sindaco dia il permesso lo stesso e poi offra come sidequest quella di trovare i sassolini (o magari è la tizia dei fiori direttamente a chiederti i sassolini quando le parli per la prima volta).

Continuando il discorso dell' "entrare nel vivo dell'azione", come dicevo la prima doungeon è strutturata molto bene, ma non mi è girato bene il fatto che dopo solo pochi passi, c'è l'ostacolo e devo rifare tutta la strada all'indietro fino al dojo, che potrebbe risultare tedioso per alcuni.

 

Invece mi piace il fatto della "pietra" che ti riporta all'inizio della dungeon, infatti io ne farei più di una e di vari colori (tipo blu, rosso e giallo), magari nelle dungeon più corte bastano anche di meno, e disabiliteri il salvataggio libero nelle dungeon, in favore di un unico "Save Point" all'entrata (così che usando le pietre che teletrasporano, il giocatore può salvare solo a quei determinati checkpoint, secondo me aumenta leggermente il grado di sfida e costringe il giocatore a stare più in guardia).

 

Si potrebbe fare come cosa ricorrente, che subito prima di ogni porta c'è la pietra di quel colore, quindi fare anche le porte e le chiavi colorate:

Chiave blu -> Pietra Blu -> Porta Blu

Chiave rossa -> Pietra Rossa -> Porta Rossa

Chiave gialla (boss) -> Pietra Gialla (in pratica il checkpoint subito prima del boss) -> Porta Gialla (boss)

 

Nelle dungeon più brevi si potrebbe togliere la rossa, e in quelle più lunghe si potrebbe aggiungere una verde... i 4 colori classici insomma.

 

Questo si può combinare con il "problema" che dicevo prima del dover tornare dal maestro tusha; mettendo l'ostacolo subito dopo la prima porta, il giocatore può tornare subito col teletrasporto, per evitarsi un po' di inutile backtracking (il backtracking serve solo se è fruttuoso, tipo quando nei giochi acquisici un nuovo potere e rivisiti zone vecchie per raggiungere zone che prima non potevi visitare, altrimenti diventa noioso)

 

Altra cosa di cui si sente la mancanza (almeno nella demo, poi magari nel gioco completo ci saranno perchè ci avevi gia pensato) sono gli oggetti da raccogliere, come pozioni da conservare (lasciando comunque i cuoricini come alternativa, ma la pozione per quando non si trovano cuoricini in giro può tornare comodo), o una roba alla Legend of Zelda, che se trovi 4 frammenti di qualcosa, guadagni un nuovo cuoricino per la salute, o anche collectibles come cassette che sbloccano le tracce audio, concept arts... e chi più ne ha più ne metta, il gico per come è strutturato si presta motlissimo, i giocatori che amano collezionare tutto e fare il 100% ci andranno a nozze, e allo stesso tempo quelli che invece vanno più di fretta, possono avvalersi dei teleport.

 

Avendo l'esigenza di raccogliere collectibles, si può anche giocare di più col "backtracking" di cui ti parlavo... mi spiego:

Ipotizziamo che, come ho detto io, Wild trova il primo ostacolo dopo la prima porta, un tutorial ti mostra come usare le pietre per teletrasportarti (magari ci metti uno sketch col piccoletto che dice a Wild "ma sei pazzo, vuoi farti tutta la strada all'indietro??" e Wild "Ma no, guarda, useremo questa!"). A questo punto il giocatore ottiene il potere e può fare due cose: usare la pietra per tornare subito alla porta e continuare, oppure - se è furbo -  rivisitare le precedenti mappe della dungeon, così ora - col nuovo potere - può rompere ostacoli che prima non poteva rompere, e ottenere oggetti che prima si è perso.

 

Quindi ecco, modificherei leggermente la dungeon in questo senso (ovviamente se sei d'accordo eh xDDDD)

 

Ultimo appunto, il boss di questa dungeon: Innanzitutto il combattimento è simpatico e ingegnoso, ma lo migliorerei facendo una cosa alla Donkey Cong (o Crash Bandicoot) a più fasi, del tipo, che il boss si chiude attorno a quelle barriere, ma giusto intorno alla sua posizione, lasciandoti libero di muovere per tutto lo stage ma senza poterti avvicinare a lui; Dopo aver distrutto le 4 torrette, il boss è scoperto e può essere colpito;

Dopo averlo colpito, si ricomincia ma stavolta le torrette sono più veloci a sparare.

Dopo averle distrutte hai qualche secondo per colpire ancora il boss, dando inizio alla terza e ultima fase in cui ci sono 6 torrette invece che 4, una cosa del genere.

 

E... basta credo, penso di aver detto tutto xD

Scusa il lungo post, e spero che tu non lo abbia visto come ipercritico, il gioco ha tantissimo potenziale, proprio per questo ho cercato di sfornare tutte le idee che avevo!

 

-----

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Similar Content

    • By MrSte
      Autore: Apellonyx
       
      Versione: 1.10
       
      Informazioni: Questo Script aggiunge al gioco la Funzione di Sopravvivenza, tra cui: Fame, Vita, Acqua ecc..
       
      Screenshot:
       
       
      n/a
       
      Script: 
       
      =begin ====================================== Survival System v1.11 (formerly known as Needs System) Created by: Apellonyx Released: 2 April 2013 Last Update: 5 April 2013 ====================================== Terms of Use: You are free to use this system however you wish, in commercial and non- commercial games alike. If you edit the script extensively, it is not necessary to credit me (since you clearly only used my code as a framework), but I would appreciate credit if it is used in its current form, or if only minor changes were made to the script. ====================================== Support: While I am not wildly active, I usually log onto "rpgmakervxace.com" daily, so if you have any questions pertaining to the script, you can ask any questions there, in the topic in which this script was released. Just as a warning, though, I will not edit the script to make it compatible with any special menu systems, but I will try to fix bugs as they come up. If you find one, let me know, and I'll do my best to squash the thing. ====================================== Changelog: v1.0: 2 April 2013 - Original version. Included food, water, rest, and life. v1.01: 3 April 2013 - Added configurable maximum values for food, water, and rest, and made the maximum for life a configurable value. The failsafe mentioned in v1.0's Instructions is no longer needed. v1.02: 3 April 2013 - Added support for a fully configurable "reverse logic" stat, as suggested by esrann. v1.10: 5 April 2013 - Complete rewrite using global variables rather than game variables and switches. All stats are now optional, configurable, and can be hidden from the menu. v1.11: 17 May 2013 - Fixed a major bug involving the use of float values. Floats should work just fine now without causing the game to crash or the script to just die randomly. Also added background opacity config. ====================================== Requirements: There are no longer any requirements for this script. I'm working on a script that will allow the global variables to be changed through note calls, but it may be a minute for that. ====================================== Description: This sets up a needs system, which includes food, water, and rest, all of which affect the main need, life. The 1.02 update also added a reverse logic stat for toxin or radiation handling. All five stats, along with their update rates, are handled by global variables, and can be changed at any time with a simple script call. ====================================== Instructions: First, you're going to want to set up how you want the script to run. All of the options are in the first module of the script, named "Anyx." I don't recommend changing anything after that module unless you know what you are doing. Second, once you have all of your options set up, you can go about setting up the nourishment items. All you have to do is set it up in the database as you normally would, and then attach an effect that calls a common event. Inside the common event, use one of the following scripts call to change the appropriate variable. It's as simple as that. $survival_v[id] op value id = The stat you want to change. 1 is for life, 2 food, 3 water, 4 rest, and 5 toxin. Ids 6-10 are used to hold the stats' rates. 6 is for life, 7 food, 8 water, 9 rest, and 10 toxin (setting any of these rates to 0 will disable updates for its stat, effectively pausing the system for that stat individually without pausing it for the others) op = The operator used to formulate the new value. += is used to add, -= is for subtraction, *= is for multiplication, /= is for division, and %= is for modulus. There are others, and they all work, but I don't imagine you would use them for this script, so I won't explain them here. value = The value you would like to alter the variable by. For example, if you are adding 10 to a variable, this would be 10. $survival_s[id] = value id = The stat you wish to enable or disable. 1 is for life, 2 food, 3 water, 4 rest, 5 toxin. Ids 6-10 are used to hide the stat bars from the menu. value = true/false. Setting the value to true for ids 1-5 will enable the associated stat. Setting it to false will disable it completely. For ids 6-10, setting the value to true will hide that stat from the menu, but still allow it to update (this can be customized using the LIFEHIDEVAL, FOODHIDEVAL, WATERHIDEVAL, RESTHIDEVAL, and TOXINHIDEVAL options in the Anyx module below. When the hide option is true, that stat will be hidden from the menu until the stat is below the (STAT)HIDEVAL's value, or above the TOXINHIDEVAL's value for the toxin stat). If false, the stat will be visible in the menu at all times. You no longer need to manually set the initial values for each variable, as this can be done through the script, but you do need to turn on the survival switch manually, or the script won't do anything. ====================================== =end $imported = {} if $imported.nil? $imported['Apellonyx-Survival'] = true puts "Load: Survival System v1.10 by Apellonyx" module Anyx WINXPOS = 0 # X position of the survival window WINYPOS = 320 # Y position of the survival window WINWIDTH = 160 # Width of the survival window WINTEXT = 20 # Text size used in the survival window (looks best at 20) WINOPACITY = 255 # Opacity of the survival window SURVIVALSWITCH = 1 # Game switch ID for enabling and disabling the system ONINBATTLE = true # Whether the system will update during battle scenes DEATHATZERO = true # If true, will cause a gameover when the life stat # reaches 0 DEATHFULLTOXIN = true # If true, will cause a gameover when the toxin stat # reaches its maximum value LIFEVOCAB = "Life" # Vocab used for the life stat in the menu LIFEINIT = 100 # Initial value of the life stat in new games LIFERATE = 300 # Number of frames between life stat updates LIFEMAX = 100 # Maximum value for the life bar in the menu LIFEEXC = 100 # Maximum value for the life stat (can exceed LIFEMAX) LIFEENABLE = true # If true, the life stat will be enabled LIFEHIDE = true # If true, the life bar will be hidden from the menu LIFEHIDEVAL = 100 # If LIFEHIDE is true, the life bar will appear when it # falls below this value. FOODVOCAB = "Food" # Vocab used for the food stat in the menu FOODINIT = 100 # Initial value of the food stat in new games FOODRATE = 1200 # Number of frames between food stat updates FOODMAX = 100 # Maximum value for the food bar in the menu FOODEXC = 110 # Maximum value for the food stat (can exceed FOODMAX) FOODMOD = -1.0 # Value of the food stat's change each update; positive # values will increase the stat over time, negative # values decrease the stat over time, and 0 will cause # no update to occur over time. Accepts float values. FOODENABLE = true # If true, the food stat will be enabled FOODHIDE = true # If true, the food bar will be hidden from the menu FOODHIDEVAL = 100 # If FOODHIDE is true, the food bar will appear when it # falls below this value. WATERVOCAB = "Water" # Vocab used for the water stat in the menu WATERINIT = 100 # Initial value of the water stat in new games WATERRATE = 900 # Number of frames between water stat updates WATERMAX = 100 # Maximum value for the water bar in the menu WATEREXC = 110 # Maximum value for the water stat (can exceed WATERMAX) WATERMOD = -1.0 # Value of the water stat's change each update; positive # values will increase the stat over time, negative # values decrease the stat over time, and 0 will cause # no update to occur over time. Accepts float values. WATERENABLE = true # If true, the water stat will be enabled WATERHIDE = true # If true, the water bar will be hidden from the menu WATERHIDEVAL = 100 # If WATERHIDE is true, the water bar will appear when # it falls below this value. RESTVOCAB = "Rest" # Vocab used for the rest stat in the menu RESTINIT = 100 # Initial value of the rest stat in new games RESTRATE = 1500 # Number of frames between rest stat updates RESTMAX = 100 # Maximum value for the rest bar in the menu RESTEXC = 110 # Maximum value for the rest stat (can exceed RESTMAX) RESTMOD = -1.0 # Value of the rest stat's change each update; positive # values will increase the stat over time, negative # values decrease the stat over time, and 0 will cause # no update to occur over time. Accepts float values. RESTENABLE = true # If true, the rest stat will be enabled RESTHIDE = true # If true, the rest bar will be hidden from the menu RESTHIDEVAL = 100 # If RESTHIDE is true, the rest bar will appear when it # falls below this value. TOXINVOCAB = "Toxin" # Vocab used for the toxin stat in the menu TOXININIT = 0 # Initial value of the toxin stat in new games TOXINRATE = 100 # Number of frames between toxin stat updates TOXINMAX = 1000 # Maximum value for the toxin stat and toxin bar TOXINMOD = 0.1 # Value of the toxin stat's change each update; positive # values will increase the stat over time, negative # values decrease the stat over time, and 0 will cause # no update to occur over time. Accepts float values. TOXINENABLE = true # If true, the toxin stat will be enabled TOXINHIDE = true # If true, the toxin bar will be hidden from the menu TOXINHIDEVAL = 0 # If TOXINHIDE is true, the toxin bar will appear when it # rises above this value. LIFECOLORL = 17 # Color ID of the left side of the life bar LIFECOLORR = 6 # Color ID of the right side of the life bar FOODCOLORL = 3 # Color ID of the left side of the food bar FOODCOLORR = 24 # Color ID of the right side of the food bar WATERCOLORL = 16 # Color ID of the left side of the water bar WATERCOLORR = 4 # Color ID of the right side of the water bar RESTCOLORL = 31 # Color ID of the left side of the rest bar RESTCOLORR = 13 # Color ID of the right side of the rest bar TOXINCOLORL = 10 # Color ID of the left side of the toxin bar TOXINCOLORR = 2 # Color ID of the right side of the toxin bar EXCCOLOR = 11 # Color ID of text for stat values over 100% SATCOLOR = 24 # Color ID of text for stat values between 76 and 100% AVECOLOR = 17 # Color ID of text for stat values between 51 and 75% LOWCOLOR = 14 # Color ID of text for stat values between 26 and 50% DANCOLOR = 20 # Color ID of text for stat values between 1 and 25% DEPCOLOR = 18 # Color ID of text for stat values of 0% ################################################################################ ################################################################################ ### ### ### I don't recommend editing anything past this line unless you know what ### ### you are doing. If you do know what you're doing, however, go for it! ### ### ### ################################################################################ ################################################################################ def self.create_survival_commands $survival_v = Survival_Variables.new $survival_s = Survival_Switches.new $survival_v[1] = LIFEINIT $survival_v[6] = LIFERATE $survival_s[1] = LIFEENABLE $survival_s[6] = LIFEHIDE $survival_v[2] = FOODINIT $survival_v[7] = FOODRATE $survival_s[2] = FOODENABLE $survival_s[7] = FOODHIDE $survival_v[3] = WATERINIT $survival_v[8] = WATERRATE $survival_s[3] = WATERENABLE $survival_s[8] = WATERHIDE $survival_v[4] = RESTINIT $survival_v[9] = RESTRATE $survival_s[4] = RESTENABLE $survival_s[9] = RESTHIDE $survival_v[5] = TOXININIT $survival_v[10] = TOXINRATE $survival_s[5] = TOXINENABLE $survival_s[10] = TOXINHIDE end # def self.create_survival_commands class Survival_Variables def initialize @data = [] end # def initialize def [](variable_id) @data[variable_id] || 0 end # def [](variable_id) def []=(variable_id, value) @data[variable_id] = value on_change end # def []=(variable_id, value) def on_change $game_map.need_refresh = true end # def on_change end # class Survival_Variables class Survival_Switches def initialize @data = [] end # def initialize def [](switch_id) @data[switch_id] || false end # def [](switch_id) def []=(switch_id, value) @data[switch_id] = value on_change end # def []=(switch_id, value) def on_change $game_map.need_refresh = true end # def on_change end # class Survival_Switches def self.update if $game_switches[SURVIVALSWITCH] == true if $survival_s[1] == true if $survival_v[6] > 0 if Graphics.frame_count % $survival_v[6] == 0 Anyx.life_update end # if Graphics.frame_count % $survival_v[6] == 0 end # if $survival_v[6] > 0 end # if $survival_s[1] == true if $survival_s[2] == true if $survival_v[7] > 0 if Graphics.frame_count % $survival_v[7] == 0 if $survival_v[2] < FOODEXC $survival_v[2] += FOODMOD if $survival_v[2] > 0 end end # if Graphics.frame_count % $survival_v[7] == 0 end # if $survival_v[7] > 0 end # if $survival_s[1] == true if $survival_s[3] == true if $survival_v[8] > 0 if Graphics.frame_count % $survival_v[8] == 0 if $survival_v[3] < WATEREXC $survival_v[3] += WATERMOD if $survival_v[3] > 0 end end # if Graphics.frame_count % $survival_v[8] == 0 end # if $survival_v[8] > 0 end # if $survival_s[3] == true if $survival_s[4] == true if $survival_v[9] > 0 if Graphics.frame_count % $survival_v[9] == 0 if $survival_v[4] < RESTEXC $survival_v[4] += RESTMOD if $survival_v[4] > 0 end end # if Graphics.frame_count % $survival_v[9] == 0 end # if $survival_v[9] > 0 end # if $survival_s[4] == true if $survival_s[5] == true if $survival_v[10] > 0 if Graphics.frame_count % $survival_v[10] == 0 if $survival_v[5] < TOXINMAX $survival_v[5] += TOXINMOD if $survival_v[5] > 0 end end # if Graphics.frame_count % $survival_v[10] == 0 end # if $survival_v[10] > 0 end # if $survival_s[5] == true $survival_v[1] = 0 if $survival_v[1] < 0 $survival_v[2] = 0 if $survival_v[2] < 0 $survival_v[3] = 0 if $survival_v[3] < 0 $survival_v[4] = 0 if $survival_v[4] < 0 $survival_v[5] = 0 if $survival_v[5] < 0 $survival_v[1] = LIFEEXC if $survival_v[1] > LIFEEXC $survival_v[2] = FOODEXC if $survival_v[2] > FOODEXC $survival_v[3] = WATEREXC if $survival_v[3] > WATEREXC $survival_v[4] = RESTEXC if $survival_v[4] > RESTEXC $survival_v[5] = TOXINMAX if $survival_v[5] > TOXINMAX if $survival_v[1] <= 0 SceneManager.call(Scene_Gameover) if DEATHATZERO end # if $survival_v[1] <= 0 if $survival_v[5] >= TOXINMAX SceneManager.call(Scene_Gameover) if DEATHFULLTOXIN end # if $survival_v[5] >= TOXINMAX end # if $game_switches[SURVIVALSWITCH] == true end # def update def self.life_update if $survival_s[2] == true food_25 = FOODMAX / 4 food_26 = food_25 + 0.001 food_50 = food_25 * 2 food_51 = food_50 + 0.001 food_75 = food_25 * 3 food_76 = food_75 + 0.001 food_mod = -0.3 if 0 >= $survival_v[2] food_mod = -0.2 if (1..food_25) === $survival_v[2] food_mod = -0.1 if (food_26..food_50) === $survival_v[2] food_mod = 0.0 if (food_51..food_75) === $survival_v[2] food_mod = 0.1 if (food_76..FOODMAX) === $survival_v[2] food_mod = 0.2 if FOODMAX < $survival_v[2] else food_mod = 0 end # if $survival_s[2] == true if $survival_s[3] == true water_25 = WATERMAX / 4 water_26 = water_25 + 0.001 water_50 = water_25 * 2 water_51 = water_50 + 0.001 water_75 = water_25 * 3 water_76 = water_75 + 0.001 water_mod = -0.3 if 0 >= $survival_v[3] water_mod = -0.2 if (1..water_25) === $survival_v[3] water_mod = -0.1 if (water_26..water_50) === $survival_v[3] water_mod = 0.0 if (water_51..water_75) === $survival_v[3] water_mod = 0.1 if (water_76..WATERMAX) === $survival_v[3] water_mod = 0.2 if WATERMAX < $survival_v[3] else water_mod = 0 end # if $survival_s[4] == true if $survival_s[4] == true rest_25 = RESTMAX / 4 rest_26 = rest_25 + 0.001 rest_50 = rest_25 * 2 rest_51 = rest_50 + 0.001 rest_75 = rest_25 * 3 rest_76 = rest_75 + 0.001 rest_mod = -0.3 if 0 >= $survival_v[4] rest_mod = -0.2 if (1..rest_25) === $survival_v[4] rest_mod = -0.1 if (rest_26..rest_50) === $survival_v[4] rest_mod = 0.0 if (rest_51..rest_75) === $survival_v[4] rest_mod = 0.1 if (rest_76..RESTMAX) === $survival_v[4] rest_mod = 0.2 if RESTMAX < $survival_v[4] else rest_mod = 0 end # if $survival_s[4] == true if $survival_s[5] == true toxin_25 = TOXINMAX / 4 toxin_26 = toxin_25 + 0.001 toxin_50 = toxin_25 * 2 toxin_51 = toxin_50 + 0.001 toxin_75 = toxin_25 * 3 toxin_76 = toxin_75 + 0.001 toxin_99 = TOXINMAX - 0.001 toxin_mod = 0.1 if 0 >= $survival_v[5] toxin_mod = 0.0 if (1..toxin_25) === $survival_v[5] toxin_mod = -0.2 if (toxin_26..toxin_50) === $survival_v[5] toxin_mod = -0.4 if (toxin_51..toxin_75) === $survival_v[5] toxin_mod = -0.6 if (toxin_76..toxin_99) === $survival_v[5] toxin_mod = -0.8 if TOXINMAX <= $survival_v[5] else toxin_mod = 0.0 end # if $survival_s[5] == true life_mod = food_mod + water_mod + rest_mod + toxin_mod $survival_v[1] += life_mod.round.to_i end # def life_update() end # module Anyx class Scene_Title alias survival_new_game command_new_game def command_new_game Anyx.create_survival_commands survival_new_game end # def command_new_game end # class Scene_Title class Scene_Map < Scene_Base alias survival_map_update update def update Anyx.update survival_map_update end # def update end # class Scene_Base class Scene_Battle < Scene_Base alias survival_battle_update update def update if Anyx::ONINBATTLE == true Anyx.update survival_battle_update end # if Anyx::ONINBATTLE == true end # def update end # class Scene_Base class Scene_Menu < Scene_MenuBase alias survival_menu_start start def start create_survival_window survival_menu_start end # def start def create_survival_window barcount = 0 if $survival_s[1] == true barcount += 1 if $survival_s[6] == false || $survival_v[1] < Anyx::LIFEHIDEVAL end # if $survival_s[1] == true if $survival_s[2] == true barcount += 1 if $survival_s[7] == false || $survival_v[2] < Anyx::FOODHIDEVAL end # if $survival_s[2] == true if $survival_s[3] == true barcount += 1 if $survival_s[8] == false || $survival_v[3] < Anyx::WATERHIDEVAL end # if $survival_s[3] == true if $survival_s[4] == true barcount += 1 if $survival_s[9] == false || $survival_v[4] < Anyx::RESTHIDEVAL end # if $survival_s[4] == true if $survival_s[5] == true barcount += 1 if $survival_s[10] == false || $survival_v[5] > Anyx::TOXINHIDEVAL end # if $survival_s[5] == true @survival_window = Window_Survival.new @survival_window.contents.draw_text(0, 0, 500, 24, " Survival System") if barcount == 0 barcount -= 1 if barcount >= 1 survivalwinypos = Anyx::WINYPOS - (24 * barcount) @survival_window.x = Anyx::WINXPOS @survival_window.y = survivalwinypos @survival_window.opacity = Anyx::WINOPACITY end # def create_survival_window end # class Scene_Menu < Scene_MenuBase class Window_Survival < Window_Base def initialize winheight = 0 if $survival_s[1] == true winheight += 1 if $survival_s[6] == false || $survival_v[1] < Anyx::LIFEHIDEVAL end # if $survival_s[1] == true if $survival_s[2] == true winheight += 1 if $survival_s[7] == false || $survival_v[2] < Anyx::FOODHIDEVAL end # if $survival_s[2] == true if $survival_s[3] == true winheight += 1 if $survival_s[8] == false || $survival_v[3] < Anyx::WATERHIDEVAL end # if $survival_s[3] == true if $survival_s[4] == true winheight += 1 if $survival_s[9] == false || $survival_v[4] < Anyx::RESTHIDEVAL end # if $survival_s[4] == true if $survival_s[5] == true winheight += 1 if $survival_s[10] == false || $survival_v[5] > Anyx::TOXINHIDEVAL end # if $survival_s[5] == true if winheight == 0 winheight = 1 end # if winheight == 0 super(0, 0, Anyx::WINWIDTH, fitting_height(winheight)) self.opacity = Anyx::WINOPACITY refresh end # def initialize def exc_color text_color(Anyx::EXCCOLOR) end # def exc_color def sat_color text_color(Anyx::SATCOLOR) end # def sat_color def ave_color text_color(Anyx::AVECOLOR) end # def ave_color def low_color text_color(Anyx::LOWCOLOR) end # def low_color def dan_color text_color(Anyx::DANCOLOR) end # def dan_color def dep_color text_color(Anyx::DEPCOLOR) end # def dep_color def refresh contents.clear contents.font.size = Anyx::WINTEXT lineheight = 0 if $survival_s[1] == true if $survival_s[6] == false || $survival_v[1] < Anyx::LIFEHIDEVAL draw_life(0,0,lineheight) lineheight += 24 end # if $survival_s[6] == false || $survival_v[1] < Anyx::LIFEHIDEVAL end # if $survival_s[1] == true if $survival_s[2] == true if $survival_s[7] == false || $survival_v[2] < Anyx::FOODHIDEVAL draw_food(0,0,lineheight) lineheight += 24 end # if $survival_s[7] == false || $survival_v[2] < Anyx::FOODHIDEVAL end # if $survival_s[2] == true if $survival_s[3] == true if $survival_s[8] == false || $survival_v[3] < Anyx::WATERHIDEVAL draw_water(0,0,lineheight) lineheight += 24 end # if $survival_s[8] == false || $survival_v[3] < Anyx::WATERHIDEVAL end # if $survival_s[3] == true if $survival_s[4] == true if $survival_s[9] == false || $survival_v[4] < Anyx::RESTHIDEVAL draw_rest(0,0,lineheight) lineheight += 24 end # if $survival_s[9] == false || $survival_v[4] < Anyx::RESTHIDEVAL end # if $survival_s[4] == true if $survival_s[5] == true if $survival_s[10] == false || $survival_v[5] > Anyx::TOXINHIDEVAL draw_toxin(0,0,lineheight) lineheight += 24 end # if $survival_s[10] == false || $survival_v[5] > Anyx::TOXINHIDEVAL end # if $survival_s[5] == true end # def refresh def draw_life(actor, x, y, width = Anyx::WINWIDTH - 22) life_25 = Anyx::LIFEMAX / 4 life_26 = life_25 + 0.001 life_50 = life_25 * 2 life_51 = life_50 + 0.001 life_75 = life_25 * 3 life_76 = life_75 + 0.001 life_99 = Anyx::LIFEMAX - 0.001 life_color = dep_color if 1 > $survival_v[1] life_color = dan_color if (1..life_25) === $survival_v[1] life_color = low_color if (life_26..life_50) === $survival_v[1] life_color = ave_color if (life_51..life_75) === $survival_v[1] life_color = sat_color if (life_76..life_99) === $survival_v[1] life_color = exc_color if Anyx::LIFEMAX <= $survival_v[1] life_rate = $survival_v[1] / Anyx::LIFEMAX.to_f draw_gauge(x, y, width, life_rate, text_color(Anyx::LIFECOLORL), text_color(Anyx::LIFECOLORR)) change_color(system_color) draw_text(x, y, 100, line_height, Anyx::LIFEVOCAB) draw_current_and_max_values(x, y, width, $survival_v[1].round.to_i, Anyx::LIFEMAX, life_color, life_color) end # def draw_life(actor, x, y, width = Anyx::WINWIDTH - 22) def draw_food(actor, x, y, width = Anyx::WINWIDTH - 22) food_25 = Anyx::FOODMAX / 4 food_26 = food_25 + 0.001 food_50 = food_25 * 2 food_51 = food_50 + 0.001 food_75 = food_25 * 3 food_76 = food_75 + 0.001 food_99 = Anyx::FOODMAX - 0.001 food_color = dep_color if 1 > $survival_v[2] food_color = dan_color if (1..food_25) === $survival_v[2] food_color = low_color if (food_26..food_50) === $survival_v[2] food_color = ave_color if (food_51..food_75) === $survival_v[2] food_color = sat_color if (food_76..food_99) === $survival_v[2] food_color = exc_color if Anyx::FOODMAX <= $survival_v[2] food_rate = $survival_v[2] / Anyx::FOODMAX.to_f draw_gauge(x, y, width, food_rate, text_color(Anyx::FOODCOLORL), text_color(Anyx::FOODCOLORR)) change_color(system_color) draw_text(x, y, 100, line_height, Anyx::FOODVOCAB) draw_current_and_max_values(x, y, width, $survival_v[2].round.to_i, Anyx::FOODMAX, food_color, food_color) end # def draw_food(actor, x, y, width = Anyx::WINWIDTH - 22) def draw_water(actor, x, y, width = Anyx::WINWIDTH - 22) water_25 = Anyx::WATERMAX / 4 water_26 = water_25 + 0.001 water_50 = water_25 * 2 water_51 = water_50 + 0.001 water_75 = water_25 * 3 water_76 = water_75 + 0.001 water_99 = Anyx::WATERMAX - 0.001 water_color = dep_color if 1 > $survival_v[3] water_color = dan_color if (1..water_25) === $survival_v[3] water_color = low_color if (water_26..water_50) === $survival_v[3] water_color = ave_color if (water_51..water_75) === $survival_v[3] water_color = sat_color if (water_76..water_99) === $survival_v[3] water_color = exc_color if Anyx::WATERMAX <= $survival_v[3] water_rate = $survival_v[3] / Anyx::WATERMAX.to_f draw_gauge(x, y, width, water_rate, text_color(Anyx::WATERCOLORL), text_color(Anyx::WATERCOLORR)) change_color(system_color) draw_text(x, y, 100, line_height, Anyx::WATERVOCAB) draw_current_and_max_values(x, y, width, $survival_v[3].round.to_i, Anyx::WATERMAX, water_color, water_color) end # def draw_water(actor, x, y, width = Anyx::WINWIDTH - 22) def draw_rest(actor, x, y, width = Anyx::WINWIDTH - 22) rest_25 = Anyx::WATERMAX / 4 rest_26 = rest_25 + 0.001 rest_50 = rest_25 * 2 rest_51 = rest_50 + 0.001 rest_75 = rest_25 * 3 rest_76 = rest_75 + 0.001 rest_99 = Anyx::RESTMAX - 0.001 rest_color = dep_color if 1 > $survival_v[4] rest_color = dan_color if (1..rest_25) === $survival_v[4] rest_color = low_color if (rest_26..rest_50) === $survival_v[4] rest_color = ave_color if (rest_51..rest_75) === $survival_v[4] rest_color = sat_color if (rest_76..rest_99) === $survival_v[4] rest_color = exc_color if Anyx::RESTMAX <= $survival_v[4] rest_rate = $survival_v[4] / Anyx::RESTMAX.to_f draw_gauge(x, y, width, rest_rate, text_color(Anyx::RESTCOLORL), text_color(Anyx::RESTCOLORR)) change_color(system_color) draw_text(x, y, 100, line_height, Anyx::RESTVOCAB) draw_current_and_max_values(x, y, width, $survival_v[4].round.to_i, Anyx::RESTMAX, rest_color, rest_color) end # def draw_rest(actor, x, y, width = Anyx::WINWIDTH - 22) def draw_toxin(actor, x, y, width = Anyx::WINWIDTH - 22) toxin_25 = Anyx::TOXINMAX / 4 toxin_26 = toxin_25 + 0.001 toxin_50 = toxin_25 * 2 toxin_51 = toxin_50 + 0.001 toxin_75 = toxin_25 * 3 toxin_76 = toxin_75 + 0.001 toxin_99 = Anyx::TOXINMAX - 0.001 toxin_color = exc_color if 1 > $survival_v[5] toxin_color = sat_color if (1..toxin_25) === $survival_v[5] toxin_color = ave_color if (toxin_26..toxin_50) === $survival_v[5] toxin_color = low_color if (toxin_51..toxin_75) === $survival_v[5] toxin_color = dan_color if (toxin_76..toxin_99) === $survival_v[5] toxin_color = dep_color if Anyx::TOXINMAX <= $survival_v[5] toxin_rate = $survival_v[5] / Anyx::TOXINMAX.to_f draw_gauge(x, y, width, toxin_rate, text_color(Anyx::TOXINCOLORL), text_color(Anyx::TOXINCOLORR)) change_color(system_color) draw_text(x, y, 100, line_height, Anyx::TOXINVOCAB) draw_current_and_max_values(x, y, width, $survival_v[5].round.to_i, Anyx::TOXINMAX, toxin_color, toxin_color) end # def draw_toxin(actor, x, y, width = Anyx::WINWIDTH - 22) end # class module DataManager def self.make_save_contents contents = {} contents[:system] = $game_system contents[:timer] = $game_timer contents[:message] = $game_message contents[:switches] = $game_switches contents[:variables] = $game_variables contents[:self_switches] = $game_self_switches contents[:actors] = $game_actors contents[:party] = $game_party contents[:troop] = $game_troop contents[:map] = $game_map contents[:player] = $game_player contents[:anyx_ss] = $survival_s contents[:anyx_sv] = $survival_v contents end # self.make_save_contents def self.extract_save_contents(contents) $game_system = contents[:system] $game_timer = contents[:timer] $game_message = contents[:message] $game_switches = contents[:switches] $game_variables = contents[:variables] $game_self_switches = contents[:self_switches] $game_actors = contents[:actors] $game_party = contents[:party] $game_troop = contents[:troop] $game_map = contents[:map] $game_player = contents[:player] $survival_s = contents[:anyx_ss] $survival_v = contents[:anyx_sv] end # self.extract_save_contents(contents) end # module DataManager  
    • By Tentauren_
      Tentauren

      presenta

      La storia del manichino che per sbaglio conobbe la vita v. 3.0


      1. Introduzione
      Forse qualcuno di voi si ricorderà delle varie iterazioni di questo progetto, che da un decennio emerge e riaffonda nelle pieghe delle mie fantasie pre-sonno. Il manichino è stato tante cose: una sfida, con una demo non giocabile nel 2011 fatta con RPGMaker 2003 in un solo pomeriggio (potete trovare il topic qui, ma il link di download è sicuramente rotto); un omaggio a Planescape in un periodo di ossessione fortissima, con la stessa storia, ma ambientata a Sigil, brevissima demo giocabile e grafica rippata dai capolavori dell'Infinity Engine (qui; per qualche giorno è stato un romanzo fantasy (se siete interessati posto la bozza del primo capitolo, è decisamente sporco ma ne vado particolarmente fiero), poi è ricaduto nell'oblio appesantito da una lore molto più espansa e un mucchio di idee lasciate a metà. Da un mesetto è ritornato a tormentarmi, in una veste tutta nuova. Probabilmente la colpa è da imputare a Jimmy and the Pulsating Mass, un gioco fatto con l'engine basico di MV e nonostante questo venduto a prezzo profumato su Steam, una perla che punta sull'atmosfera e sulla narrazione più che su feature mirabolanti e vale (quasi) la spesa. 

      2. Storia *
      La storia, ad oggi, è più o meno la stessa di sempre, ma in un universo più ampio.
      La Scala è un multiverso privo di limiti conosciuti, che si espande verso l'alto e verso il basso in infiniti Gradini di infinita diversità. Le teorie sulla sua origine, la sua natura e le sue motivazioni sono, come è tipico di ogni cosmologia, tante, disparate e in violento conflitto: c'è chi afferma che i Gradini siano disposti secondo un ordine di merito, e chi li considera le vertebre della schiena di un dio-mostro cosmico. Nessuna è più vera delle altre, ma qualcosa su cui tutti -o quasi- concordano è che la forma di energia più potente della Scala è la Vita: essa si espande e si srotola in ogni immensità e in ogni anfratto, mette radici e vince anche dove le sarebbe impossibile. Non c'è un angolo della Scala che non sia sotto il dominio della Vita, che muta se stessa per esprimersi nei più disparati fenomeni: da qualche parte, non troppo distante da dove ci troviamo, un Gradino appena nato vede macchine terraformanti spegnersi definitivamente, per lasciare spazio al futuro; nella direzione opposta quello che su quel Gradino verrebbe definito un uomo accende per la prima volta la sua piccola creatura di intelligenza artificiale. La Vita continua, inesorabile, a trovare nuove forme. 

      Su un Gradino intermedio, di non troppa importanza, Azith Presbe, stregone proprietario del Magiemporio Presbe nella città di Urth, ha appena ricevuto una consegna speciale: una rarissima Pozione della Vita. Ma Yoke, il maldestro commesso, nel portarla al sicuro nei magazzini del negozio, la rompe addosso a un manichino da esposizione. Per sfuggire alle grinfie del vendicativo stregone, i due dovranno attraversare gli intricati cunicoli dei magazzini nella speranza di trovare un'altra uscita o, quantomeno, di prepararsi all'inevitabile scontro. È una storia piccola ambientata in piccoli spazi rispetto all'immensità della Scala, ma il magazzino di uno stregone archetipico può contenere i frammenti dei mondi più distanti, come una planimetria dell'intero cosmo. Quello che Yoke e il Manichino incontreranno cambierà per sempre le loro vite e, forse, quelle di molti altri.


      3. Personaggi

      Manichino



      Ehi capo, non mi manca qualche frame?
      Oh sì, te ne mancano una marea.

      Ex manichino per armature da esposizione, polveroso e abbandonato al primo piano dei sotterranei del Magiemporio Presbe. Dopo essere stato imbrattato dalla Pozione della Vita si ritrova, confuso e un po' infastidito, con una coscienza; ma non ha alcuna intenzione di lasciarsela togliere: seguirà Yoke per gli intricati cunicoli dei magazzini, per sfuggire alle grinfie di Azith.
      E' scanzonato e ribelle, un Pinocchio senza naso. 
      Il manichino è di legno, di altezza e misure standard (esattamente per essere abbigliato con armature da esposizione). Ha vaghi tratti facciali, solo abbozzati. All'inizio del gioco è nudo (per questo è in magazzino) e, cosa molto importante, non ha le dita delle mani definite.

      Yoke 

       
      Mago scadente, poco ambizioso, svogliato. Lavora come commesso al Magiemporio Presbe semplicemente perché non ha più aspettative e, se le ha mai avute, le ha messe da parte da tempo. Come ciliegina sulla torta, l'ha fatta veramente grossa: ha rotto una fiala di importanza prioritaria e adesso la sua unica possibilità è scappare, sperando che la via per i magazzini sia più sicura di quella per l'ingresso principale. Ha una fidanzata ma le cose non vanno benissimo. E' appassionato di insetti, parla l'insettese comune (che nerd) e ne porta sempre tre con sè: Zig, una Mosca Angelica (Musca domestica, ma con ali d'angelo e l'abilità di sdoppiarsi virtualmente all'infinito), Zag, una Zanzara Behemoth (uguale a una zanzara normale ma leggermente più grossa, più o meno quanto un polpastrello) e... Roll, un insetto metafisico senza un aspetto preciso e dalle intenzioni incomprensibili.
      Yoke è alto e magrissimo, ha i capelli rossi e la pelle leggermente scura (ma non troppo). Indossa la Divisa da Commesso del Magiemporio Presbe: una tuta da mago standard (grigia), coi pantaloni rigonfi verso il basso (che lasciano le caviglie scoperte) e un colletto che arriva fino al naso, aperto a v nel centro e, davanti, un grembiule verde coi bordi delle tasche gialle. Indossa un cappello da mago dello stesso colore della tuta. Ha una cintura con la fondina per il Catalizzatore e tre confezioni di mangime per insetti: uno contiene feci di ratto, un altro sangue di mucca e il terzo è completamente vuoto.

      Azith 
      "Io sono Azith Presbe, Stregone Anziano del Circolo dei Vedenti. Sono Azith Presbe, Colui che Parla coi Morti. Tessitore di Astri. Ponte-Tra-Le-Potenze. Drago Onorario. Mago Archetipico su duecento livelli. Sovrano di venti di essi. ". Insomma, Azith è uno a cui piace tanto parlare di sè. Non del tutto a torto: è effettivamente potente come dice di essere e, per via della sua ambizione, continua a diventarlo sempre di più. A Urth, sul suo piano di base, ha aperto una catena di negozi di magia, i Magiempori Presbe, i più richiesti del livello. Ha fatto un acquisto importante da un'entità importante, destinato a un'entità ancora più importante: l'unica fiala di Pozione della Vita, un oggetto di estrema rarità, probabilmente illegale se solo si sapesse della sua esistenza in giro. La sfortuna e qualche errore di calcolo l'hanno portato ad affidarlo al più inetto dei suoi dipendenti, Yoke. 
      Azith è esperto in un'ampia varietà di stili di magia, ma predilige tutto ciò che ha a che fare con gli occhi. Una delle sue tecniche-firma ha a che fare con l'espansione della vista attraverso la fuoriuscita dei bulbi oculari dalle orbite (su due antenne di vene), che gli consente tra le altre cose di vedere ciò che normalmente non è fatto per essere visto. 
      Azith è un uomo dall'altezza imponenete, ben nutrito ma non grasso. Ha capelli bianchi e, ovviamente, una barba lunga fino al petto, ma ben curata. 

      Thshtths
      Un Coverto, un membro di una razza di inferiori (o, più semplicemente demoni) abitanti di un livello detto il Buio Guardaroba. Quando si muovono, hanno l'aspetto di un uomo completamente coperto da un mantello nero. Pochi sanno che non c'è niente sotto al mantello. Hanno la capacità di dominare lo spazio, ma non è chiaro se si tratti di una potente capacità di illusione o di un effettivo controllo. Non hanno corde vocali, di conseguenza non sono in grado di parlare in una lingua diversa dalla loro, composta esclusivamente di sussuri, fruscii e singulti. Quando sono costretti a comunicare con esterni, i Coverti utilizzano bastoni su cui infilano tessere di legno con sopra impresse le lettere dell'alfabeto in questione. I Coverti sono stati di recente sottomessi dall'entità che ha venduto la Pozione della Vita ad Azith e Thshtths è stato incaricato di consegnargliela. Thshtths era un tempo un rivoltoso, ma è stato schiacciato come tutti i suoi fratelli.

      La Poltrona Rosa
      E' semplicemente una grossa poltrona con la tappezzeria rosa e le gambe di legno. Dai cuscini vengono fuori grosse zanne e una lingua eccessivamente lunga. Azith deve averla comprata su qualche livello inferiore o forse l'ha costruita lui stessa imprigionandoci uno spirito. La usa come segugio per i piani più alti del magazzino.
       
       
       
      4. Disegni/Fan Art
      (purtroppo per il momento ho soltanto i concept mostrati più in alto, quindi qui aggiungerò qualche disegno preparatorio; aggiornerò il topic abbastanza di frequente)

      5. Caratteristiche Tecniche/Gameplay *
      Purtroppo non ho grandi capacità di programmazione, quindi il BS sarà standard (laterale se riesco a recuperare qualche script), ma cercherò di renderlo interessante attraverso qualche piccolo accorgimento. Il Manichino, per esempio, combatterà per la prima parte del gioco interamente a mani nude, fino a quando non si sarà sbloccata la possibilità di intagliarlo e modificarlo per fargli tenere in mano un'arma. Il sistema di summon avrà una particolarità dovuta alla lore: non essendoci, sulla Scala, un piano che sia "più materiale" degli altri
      Se dovessi immaginare un sistema di combattimento custom, se un giorno qualcuno con capacità di programmazione avanzata decidesse di darmi una mano, manterrebbe le stesse features ma con il sistema della 3.5 di Dungeons &amp; Dragons (o una sua versione ridotta). Il mio ideale è il BS del Tempio del Male Elementale: so che è veramente troppo, ma sognare non è illegale.
      La grafica del gioco sarà interamente da 0. In origine, proprio per questo, pensavo di lavorare su 2000 o 2003. Poi però mi è capitato sotto mano il bellissimo CrownTrick e ho sognato un mondo in alta risoluzione. La mia pixel art è ancora di livello basso, quindi proprio per questo motivo ci metterò un po' di tempo in più, ma devo dire che i risultati mi rendono abbastanza fiero di me nonostante ci sia ancora molto da migliorare. 

      6. Screenshot * 
      N\A


      7. Demo/Link alla versione giocabile * 
      N\A


      8. Crediti Vari *
      Ringrazio Daniele Giampaolo per il character design dei personaggi principali (vedrete gli altri a breve). E qui colgo l'occasione per parlare del perché di questo topic: il mio gioco è un sogno e questo thread è una promessa. Ho approcciato in passato questo progetto nelle maniere più sbagliate, pretendendo tanto da me in poco tempo e finendo per pretendere dagli altri. Questa volta non avrò scadenze: non voglio fare in fretta, preferisco fare bene. Ho però una schedule, una demo di un paio di ore al massimo con due bossfight principali e una opzionale, che arrivi a un 10% della trama complessiva. Questo è quanto intendo fare per adesso, per testare le mie capacità e capire quanto in là posso spingermi. Qualsiasi aiuto, sia come partecipazione attiva al progetto (in qualsiasi ruolo: per quanto mi stia occupando io della grafica un altro paio di mani mi farebbero comodo) che come consiglio, critica, correzione, distruzione totale è più che ben accetto. Proprio per questo spero di mantenere attivo e in continuo aggiornamento questo topic e, soprattutto, spero che vi partecipiate in molti, anche solo come osservatori. 
    • By Folround
      Folround Corporation
      presenta
      Fantasmi da Marte (Demo)
      Titolo: Fantasmi da Marte (Demo)
       
      Versione: 0.4
       
      Genere: Horror/Fantascientifico
       
      Tool di sviluppo: RPG Maker 2000
       
      Data di uscita versione completa: Tra Marzo e Aprile 2020
       
      Introduzione: Fantasmi da Marte è un gioco sparatutto dall'alto ispirato all'omonimo film del 2001 "Ghosts of Mars". La storia è ripresa dal film con qualche piccola variazione.
       
      Storia: Anno 2176. Il pianeta Marte è stato quasi totalmente terraformato, permettendo agli umani di camminare sulla superficie senza dover indossare tute pressurizzate. L'agente di polizia Melanie Ballard è il comandante in seconda di una piccola squadra inviata per recuperare e trasportare un prigioniero chiamato Desolation Williams. Giunta alla vecchia miniera dove Williams viene tenuto, Ballard scopre che gli abitanti sono quasi tutti scomparsi, eccezion fatta per alcuni cadaveri senza testa e i detenuti. Investigando, scopre che gli occupanti di un'altra miniera avevano trovato una porta sotterranea che era stata creata da un'antica civiltà marziana. Quando la porta è stata aperta hanno fatto uscire degli spettri, spiriti rimasti per anni sottoterra e risvegliati dai minatori, i quali vengono impossessati da queste presenze e iniziano a dare la caccia agli invasori umani di Marte per ucciderli.
       
      Personaggi:
      Melanie Ballard: è un agente di polizia ed è il personaggio giocante del gioco, immune dalla possessione degli spettri. Il suo scopo principale è di prelevare i pochi sopravvissuti e di fuggire da Marte.
      Desolation Williams: è un criminale detenuto nella zona mineraria. Aiuterà Melanie a fuggire una volta liberato.
       
       
      Gameplay: Il gameplay è quello di uno sparatutto dall'alto in tempo reale. Avrete a disposizione due armi diverse durante il corso della demo, ed è possibile portare un'arma per volta.  L'arma con cui inizierete è una pistola con 15 colpi del caricatore, dovrete premere Invio per sparare ed Esc per ricaricare l'arma. I nemici sono umani impossessati dagli spettri che si muovono lentamente ma hanno molti hp e procurano abbastanza danni, oppure esseri mutanti come cani idrofobi, uomini-ragno o agglomerati di vari esseri.
       
      Credits: "Red Fox" , "DHD"  e "Dragon Editor" per vari charsets fantascientifici presi da charas-project.net
       
      Screenshots: in allegato 5 screenshots del gioco
       
      Demo: download
       
       
       





×