O TEMA DO FÓRUM ESTÁ EM MANUTENÇÃO. FEEDBACKS AQUI: ACESSAR

Quasar Mirabolante - Atualização 24/11: Finalmente Completo

Iniciado por Gabriel_257, 01/07/2013 às 17:41

01/07/2013 às 17:41 Última edição: 24/11/2013 às 19:05 por Gabriel_257

Criador: Gabriel_257
Gênero: Ficção Científica/Aventura/Futurista
Iniciado em: 15/03/2013
Finalizado em: 23/11/2013



   
Opa, e aí pessoal, tudo bem? Bem, este jogo que eu estou projetando foi idealizado desde o ano passado, numa pergunta que eu fiz a mim mesmo numa monótona aula de Biologia: "Como seria a criação de vida artificial, do zero?", e enquanto isso eu discutia sobre uma São Paulo cyberpunk, e voila! Eu estava pensando no que viria ser a base deste projeto. É claro, muitas coisas foram adicionadas, e muitas foram retiradas.
   Meu foco principal neste projeto é o enredo. Todos os personagens do jogo passaram por um bom tempo de desenvolvimento e adaptação ao enredo, o que levou um bom tempo e uma justificativa da demora do inicio do projeto.
   Além disso, foi necessária uma espera para poder desenvolver este jogo no RMVX Ace, devido à uma relativa escassez de scripts, pois eu precisava utilizar os sistemas certos para o meu jogo. Afinal, como devem saber, o importante não é lotar o jogo com uma miríade de scripts, mas sim utilizar os certos para o tipo de jogo que você quer desenvolver.
   Bem, creio que isto seja tudo.



Diário de Bordo – Projeto Vita Renovatio

   São Paulo, 27 de Agosto de 2023

   Era um dia de trabalho comum. Ou pelo menos era o que achávamos. O Projeto Vita Renovatio estava à
um passo de ser concluído. Faltava apenas o Sulfureto de Borestatio para que nossa fórmula estivesse completa. Iríamos finalmente criar vida artificial. Porém, ao inserir o elemento, houve uma explosão. O prédio havia caído aos pedaços. De dentro das ruínas, massas verdes saiam. Monstros de aspecto grotesco, era algo que nunca havíamos visto antes. Era o surgimento dos Bio-Monstros.
    Ass. ------------------


   E assim, o Projeto Vita Renovatio, que visava criar vida artificial para o bem da ciência, acaba de falhar. O resultado disso foi a criação dos Bio-Monstros, que foi um dos maiores desastres da humanidade.
   Após o já conhecido evento, os Bio-Monstros começaram a se replicar. Eles eram, em sua grande maioria, carnívoros, e invadiam edifícios diversos, devorando as pessoas, além de seus animais de estimação, e qualquer
tipo de carne que encontrassem. Também é sabido que os Bio-Monstros conseguem se adaptar rapidamente à diversos locais, assim sendo mais difícil de erradicá-los. Em três dias, 20% da população da Grande São Paulo já havia sido morta, e o exército estava tendo muitas dificuldades em destruir essa praga.

   O milionário Klaus Klostritch que vivia no Rio de Janeiro e era dono das Corporações Axioma, usou grande parte de seu dinheiro para construir uma redoma de vidro especial chamada Glasglocke, que era capaz de conter os ataques dos Bio-Monstros. Porém essa redoma só cobria uma pequena parte da cidade. O setor Noroeste da cidade havia sido escolhido, já que era o menos atacado. Ali surgia o Domo de São Paulo.
   A instalação foi um sucesso. Todos aclamavam Klaus como um herói. E o empresário não parava por aí, instalando na cidade sistemas de ventilação, controle de temperatura, usinas subterrâneas e hortas
sustentáveis, assim dando maior comodidade ao povo. Com o tempo, as pessoas se esqueceram dos perigos fora da redoma.

   E após 12 anos desde o desastre dos Bio-Monstros, se inicia a história do jovem Gideon.

   Ele era um órfão de 15 anos que vivia em um orfanato do Domo de São Paulo. Ele nunca soube o que era ter uma família, e era sempre ofendido no seu "lar", o que acabou deixando ele uma pessoa amarga e solitária.
  Graças a um programa do Governo, ele estudava em uma escola pública. Mas Gideon era diferente das outras pessoas. Ele desprezava Klaus, e achava que se ele fosse um herói de verdade, teria achado um jeito de destruir todos os Bio-Monstros. Tirando isso, ele era como uma pessoa comum.
   Tudo mudou no dia em que uma jovem chamada Claire entrou na mesma escola que ele. Gideon não liga, mas
presta atenção na moça, e parece conhecê-la de algum lugar. Claire então senta-se ao lado de Gideon, e os dois se apresentam.
   Após as aulas, o órfão voltou para o seu orfanato, ignorando este evento estranho. Ele lia um livro em seu quarto quando dois homens usando trajes de soldados aparecem em seu local de repouso. Eles diziam que Gideon havia ido contra as ordens de seu lider. Eles imobilizam o jovem, e o desmaiam. Após isso, eles o jogam nas ruínas do inutilizado Metrô, agora o habitat de Bio-Monstros.
   Ao acordar, ele se surpreende por estar no Metrô. Logo após o seu despertar ele é encontrado por um homem, que pergunta se era cúmplice do bandido que ele acabava de matar. Olhando para o lado, Gideon vê o cadáver do bandido, e respondia ao homem que ele acabou de se encontrar ali.
   Neste momento, um Bio-Monstro surge, e o misterioso personagem ordena que ele pegue a arma do bandido morto. Era uma espada estranha, chamada de Quasar Mirabolante. Era uma arma positrônica, um tipo de arma que é efetiva para destruir os Bio-Monstros. Após ter utilizado-a para derrotar seus inimigos, o homem diz para ele ir para a Sé, onde ele seria acolhido por Nicol Meikkur, que possuia uma organização chamada GSMER, que acolhia pessoas que estavam passando por dificuldades, não tinham lar ou comida, ou estavam perdidas no Metrô.
   E assim Gideon o fez, sendo recebido por Monique, que era uma moça da mesma idade que ele, que era excelente em combate contra Bio-Monstros, e Craig, um animado jovem esportista que a ajudava no recolhimento de comida.
   A partir daí, diversos acontecimentos ocorrem na vida de Gideon, que remetem-o ao seu surpreendente passado, e o ligando a eventos que poderão mudar a sociedade naquela época. Eventos esses que você só saberá ao jogar.



[box title=Gideon]
Nome: Gideon
Idade: 15
Sobre o Personagem: Gideon é um órfão de 15 anos que nunca soube o que é ter uma família, talvez nem tenha tido algum amigo. Ele tinha uma vida solitária e monótona no Domo de São Paulo, e queria que isso mudasse de alguma forma. Seu desejo foi realizado quando foi atacado por estranhos soldados, e arremessado ao Metrô. Agora, sobrevivendo neste local tão inóspito, vê seu destino traçado por diversas pessoas, que lhe trazem estranhas memórias do passado, e definem o seu futuro. Isso talvez mude o modo como ele vê a vida. [/box]

[box title=Claire]
Nome: Claire McMillan
Idade: 15
Sobre o Personagem: Claire vem de uma família muito rica da Inglaterra. Ela fica indignada com o descaso que os outros países tem para com a situação de São Paulo. Principalmente porquê ela tem saudades de alguém especial para ela, que ela não tem contato há muito tempo, e se preocupa, já que não sabe se esse alguém está vivo ou não. Seus pais, que percebem isso, e também se comovem com a situação atual de São Paulo, vão até lá, para ajudar o povo que não está no Domo, que sofre para sobreviver. Porém eles sofrem um acidente de avião. Resgatados por Klaus, eles agora vivem com o milionário, mas o desejo de Claire por rever essa pessoa a leva até o Domo, onde ela conhece Gideon. E aquela não será a única vez onde eles irão se encontrar...[/box]

[box title=Monique]
Nome: Monique
Idade: 15
Sobre o Personagem: Ela vive na GSMER, a organização onde Nicol Meikkur cuida dos necessitados. Ela é muito útil combatendo Bio-Monstros, o que faz dela uma peça vital para obtenção de comida em locais infestados com essas criaturas. Ela não se lembra direito de seus pais, que, segundo Nicol, morreram muito cedo. Talvez por isso ela sempre zele muito por seus companheiros na GSMER.[/box]

[box title=Craig]
Nome: Craig
Idade: 16
Sobre o Personagem: Ele e Monique são bons amigos, e sempre acabam indo em missões de obtenção de comida juntos. Ele adora esportes, e por isso possui uma ótima condição física, o que é muito útil para lutar contra os Bio-Monstros. Ele não costuma falar muito sobre seu passado, mas aparentemente ele também é um órfão.[/box]

[box title=Fritz]
Nome: Fritz Fronzen
Idade: 34
Sobre o Personagem: Fritz era um dos cientistas que trabalhava no Projeto Vita Renovatio, que visava a criação de vida artificial para ajudar no tratamento de diversas doenças. Ele já trabalhou por um curto tempo em um hospital. Após o final trágico de Vita Renovatio, ele fugiu do local o mais rápido que podia, junto do líder do projeto, Orlando Gennomea. Eles fizeram da Estação Carandiru do Metrô o seu refúgio. Na verdade, Fritz cuidou de Orlando, já que o velho cientista estava amargurado pelo seu fracasso e pelas consequências do seu ato. Fritz possui alguns segredos sobre o passado, inclusive um ocorrido que envolveu Gideon num passado remoto. Até revelá-lo, Fritz se revelará um enigma vivo.[/box]

[box title=Nicol]
Nome: Nicol Meikkur
Idade: 40
Sobre o Personagem: Este filantropo de aparência jovem já foi o dono da famosa Aukraut Inc. e um ricaço, que sofreu com a perda de sua família durante o desastre dos Bio-Monstros. Foi uma experiência terrível que transformou ele, de um esnobe egoísta, para alguém que se preocupava com os outros, mais do que com ele próprio. Foi aí que ele decidiu construir a GSMER, e cuidar de quem estava sem lar e sem comida, quem estava perdido tentando fugir pelo Metrô. Ele possui um grande afeto por Monique e Craig, os tratando como se fossem seus próprios filhos, e também acolhe Gideon de braços abertos. Mas uma sequela do antigo Nicol se esconde nas partes mais profundas de sua mente...[/box]

[box title=Orlando]
Nome: Orlando Gennomea
Idade: 58
Sobre o Personagem: Orlando sempre foi um homem da ciência. Se formou em Biologia e decidiu estudar formas de criar vida artificial, em prol da ciência. Assim ele havia criado o Projeto Vita Renovatio, e se esforçou para cumprir sua missão. Mas ele falhou, e desde então se auto-flagela, tanto física quanto mentalmente. Ele se culpa pelo acidente. Mas ele não sabe de todo o ocorrido.[/box]

[box title=Klaus]
Nome: Klaus Klostritch
Idade: 46
Sobre o Personagem: Klaus é um exemplo de homem bem sucedido, mesmo após a morte da sua esposa quando esta morreu dando a vida à seu filho. Ele nunca largou seu trabalho, pois queria dar do bom e do melhor para sua família, mas nunca os negligenciando, nem abandonado seu filho. Ficou comovido com a situação de São Paulo, e decidiu gastar por volta de 70% de sua fortuna, para construir a redoma de Glasglocke. Esse ato, enquanto filantrópico e de boa vontade, faz muitos se indagarem: por que gastar tanto dinheiro para deixar um punhado de gente viva?[/box]

[box title=Duncan]
Nome: Duncan Rosefield
Idade: 27
Sobre o Personagem: Duncan é um agente da Interpol, que recebeu uma importante tarefa: Encontrar o paradeiro dos McMillan, até então desconhecido. Centrado em sua missão, ele não vai descansar até saber o que aconteceu com uma das famílias mais importantes da Inglaterra.[/box]

[box title=Adolfe]
Nome: Adolfe Klostritch
Idade: 15
Sobre o Personagem: Adolfe é o filho único de Klaus Klostritch, e herdeiro da Axioma. É um jovem extravagante, que sempre teve tudo que quis. Não se sabe muito mais sobre ele, já que ele é um jovem também muito discreto.[/box]

[box title=Dmitri]
Nome: Dmitri Reranche
Idade: 65
Sobre o Personagem: Dmitri é o médico da família Klostritch, e o único a saber de muitos de seus segredos. Alguns dizem que Dmitri é um louco, o que explicaria o comportamento estranho dele após ter sido humilhado pela comunidade científica, quando apresentou o Elixir da Vida Eterna, que acabou sendo um fiasco.[/box]

Obs.: Alguns personagens estão com essas interrogações no lugar de suas faces pois creio que revelar suas faces poderia, de algum modo, dar um spoiler visual, além de adicionar uma pitada de curiosidade.
          Além disso, vocês devem estar se perguntando por quê alguns personagens não tem sobrenome enquanto outros tem. Simplesmente porquê tais personagens são órfãs, não tendo assim um sobrenome.

Os seguintes sistemas estão inclusos no projeto até o presente momento:

Yami Engine Symphony - Battle Symphony: É um sistema de batalha lateral, facilmente customizavel. Créditos à Yami.

Customisable ATB/Stamina Based Battle System Script: Adiciona uma barra de ação na batalha, que permite ao personagem fazer uma ação quando ela se enche, visto em certos jogos de RPG como Final Fantasy VI ou Chrono Trigger. Créditos à Fomar0153.

Effect Manager: É um sistema de efeitos eficiente, substituindo o sistema de efeitos padrão. Créditos à Tsukihime.

Effect: Required Item: Permite fazer com que uma habilidade só possa ser utilizada com o gasto de um item específico.

Victor Engine - Basic Module: Script base para os scripts da Victor Engine. Créditos à Victor Sant.

Victor Engine - Damage Popup: Faz com que a mostragem de dano seja por números em popup, ao invés do padrão do Ace. Créditos à Victor Sant.

Guyts Ace Menu: Modifica o menu principal do jogo, adicionando o Tempo de Jogo, Nº de Passos e Nome do Mapa. Créditos à Guyts.

Lune Message System: Faz com que as mensagens do jogo possam aparecer acima dos eventos e dos personagens. Créditos à Raizen.

Khas Awesome Light Effects: Adiciona um sistema de iluminação ao jogo. Créditos à Khas Arcthunder.

Múltiplas Escolhas: Faz com que o menu de escolhas possua mais de 4 opções. Créditos à Raizen

Z 01 Neo Menu System: Adiciona e remove opções presentes no menu. Créditos à Zetu

Yanfly Engine Ace: - Ace Equip Engine Muda a tela de equipamento. Créditos à Yanfly.


As imagens estão no spoiler à seguir:

Spoiler


O Orfanato onde Gideon vivia.

A escola onde ele estudava.

Aqui vemos o andar subterrâneo do orfanato, e o Lune Message System em funcionamento.

O quarto de Gideon, e o Khas Awesome Light Effects em funcionamento.

O Metrô abandonado.

A 1ª Batalha do jogo, onde vocês podem ver o Yami Battle Symphony em funcionamento.

O Guyts Ace Menu em funcionamento.

Outra seção do Metrô, desta vez o trilho está na horizontal e não na vertical.

Esta é a Estação Sé, e a entrada para a GSMER.

Dentro da GSMER.

Sala do Nicol Meikkur.

A 1ª Dungeon do jogo, o Antigo Observatório. Similarmente às dungeons de Megaman Battle Network e Megaman Starforce, cada uma destas dungeons terá um puzzle, para quebrar a monotonia de andar, lutar, andar, lutar, entendem?

E esta é a 2ª Dungeon, a Fábrica Waruyoto.

Este é o 1º Boss do jogo, ameaçador, não?

E este é o 2º Boss, mais ameçador ainda!
[close]




Se você for fã do projeto, você pode adicionar essa fanbar na sua assinatura, selecionando o código a seguir e colando na sua assinatura:

[url=http://centrorpg.com/projetos-sendo-desenvolvidos/quasar-mirabolante/][img]http://i.imgur.com/rFAQkYp.png[/img][/url]





Versão Demo - Sem RTP (23.04 MB):

Via 4shared: http://www.4shared.com/zip/ldVg9oK3/Quasar_Mirabolante_-_DEMO.html?
Via MediaFire: http://www.mediafire.com/download/5aecyu67xlcu5f6/Quasar+Mirabolante+-+DEMO.zip

Versão Full - Com RTP (59.6 MB):

http://www.4shared.com/rar/OC5wp4og/Quasar_Mirabolante.html?



Agradecimentos à:

- Deus, por eu existir;
- Enterbrain, por ter feito o RPG Maker VX Ace;
- Aos fóruns de RPG Maker em geral, por terem me ajudado a aprender como se faz um jogo, e me disponibilizar recursos;
- Aos Scripters, cujos nomes eu citei na seção "Sistemas", por estarem ajudando meu projeto com seus scripts;
- Às diversas fontes de inspiração que me ajudaram a ter ideias para este jogo;
- À Tecao98 e Net750 por terem feito, respectivamente, as buttons e o logo do projeto;
- E a vocês, membros, por criticarem meu projeto, assim melhorando-o.

Não quis ler a história pois está muito comprida
Mas alguma coisa nela me lembra o novo filme do Wil
Onde as 'coisas' da terra evoluem para destruir o homem
Os mapas estão vazios, sem vida
Apesar da boa ambientação e os tiles

Os sistemas são todos Scripts
Aconselho tentar criar alguns sistemas interessantes para o seu projeto
Melhora o visual

E o tópico tem muita informação e pouco conteúdo
O design está feio.

Aconselho dar uma arrumada em alguns pontos específicos (todos já citados)
Do mais boa sorte, vô fica de olho no projeto :ok:

Obrigado por comentar!

Quanto aos mapas, já que o jogo é pós-apocalítico, os mapas ficam sem vida, mas essa é a impressão que eu quero passar com eles, entende?
Quanto aos sistemas, não sei se conta, mas os puzzles nas dungeons, que eu citei, foram todos feitos via eventos.
E que parte do design você achou ruim? A logo, os buttons, ou tudo?
E o que você quis dizer com muita informação e pouco conteúdo?

O design no tópico está simples sim, mas isso não quer dizer que esteja ruim. Prefiro tópicos iguais ao seu do que aquelas alegorias cheias de frescuras e imagens apocalípticas. É questão de opinião, obviamente.

A simplicidade vale para os mapas também, apesar de achar que poderia ter planejado eles um pouco melhor,  não estão tão ruins. Apesar de que não sou muito exigente nesse quesito. Basta o mapa fazer sentido e não estar absurdamente vazio que eu aceito numa boa. Só uma dica: tente escolher bem os pisos e as paredes desses mapas, só de fazer isso o visual já melhora um pouco.

Sobre a historia, os Bio-Monstros remetem a Phantasy Star II do Mega Drive o que me trouxe umas boas lembranças. A historia tem o jeitão sci-fi, com varios elementos batidos, mas que pode ficar interessante se caprichar nos personagens(Coisa que você disse ter trabalhado muito).



Vou reservar qualquer critica mais profunda pra depois que rolar uma demo do jogo(só acredito jogando xD). Tenho certeza de que ela vai pintar em breve, pois em Asmodeus(Eu conheço teu passado) Gabriel eu acredito. Boa sorte ae, pode ficar um jogo interessante.





Oh noes! Ele conhece meu passado!  :o:

Brincadeiras a parte, valeu pelo comentário.

Realmente, eu me baseei em alguns jogos e Phantasy Star foi um deles, apesar do 2 não ser meu favorito, meu jogo tem alguns elementos em comum com ele.
E é realmente meio difícil escolher os pisos e paredes, já que usar aqueles medievais do RTP não cola, e não tenho muitos recursos de paredes e pisos diferentes, ainda estou procurando por alguns tilesets futuristas melhores. Você teve dificuldades em achar recursos futuristas pro seu jogo, DL?


Citação de: Gabriel_257 online 01/07/2013 às 19:20
Você teve dificuldades em achar recursos futuristas pro seu jogo, DL?
Ripagenss, Ripagens Everywhere...
Mas então, dependendo do estilo gráfico que está querendo empregar, O RM já tem varios tilesets e charsets que podem combinar:
RPG MAKER VX/ACE RESOURCES~TILES
Alguns deles encontrei fuçando nesse tópico(talvez tenha mais sorte). E como eu disse antes, uma boa ripagem ou edições em gráficos já prontos podem ajudar.
\o




Realmente tem muita coisa aí nesse link que eu posso usar no meu projeto! Valeu pela ajuda aí!  :XD:

Primeira atualização: Demo e Fanbar adicionadas!

Pois é, primeira atualização meio rápida... já que eu estou de férias consegui trabalhar um pouco mais no projeto, e consegui fazer uma demo que não fosse muito pesada. E consegui tirar o monte de resources não usados dessa demo, o que foi um sufoco! Ela foi armazenada em 2 sites, caso um link quebre, tem o outro pra vocês ignorarem baixarem.

E uma fanbar, feita por mim mesmo, que sou praticamente um leigo no que se refere a design. Mas whatever, tá aí.

Bem, acho que por hora é só...

See ya!  :XD:

Fala galera! Acabei de adicionar uma nova versão demo!

A primeira versão tava com alguns probleminhas que eu só notei à alguns dias. Essa tem esses erros corrigidos,
além de duas adições "importantes": um item que lhe permite ver um mapinha do metrô (mas só as linhas 1,2,3 e 5) e não mostra a estação onde você está (isso você vê pelo menu, onde mostra o nome do mapa) e uma fonte pro jogo, a Myriad Pro. A fonte está inclusa no arquivo.

Isso é tudo. See ya!

Tá, primeiramente, PARABÉNS Gabriel, parabéns mesmo(Segundo jogo já, hein?). Fico tão feliz quando alguém completa um jogo, ainda mais quando isso acontece com projetos que receberam menos atenção da galera do que deveriam. Pelo simples fato de isso provar que a unica coisa que um Maker precisa para concluir um projeto é a vontade para isso! 

Vou jogar quando der tempo, e espere uma analise minha aqui! \o




Vlw por comentar!

Pois é, o tópico não recebeu muitos comentários, mas pelo menos recebeu alguns ^^
Estarei esperando pela análise!

E obrigado mais uma vez por todos que me deram apoio! Vlw flws  :XD:

Parábens por esse projeto =), estou baixando par joga-lo
e em breve tratei meus comentários sobre o game. pela historia os personagens
parecem ser bem carismáticos e atraentes que prendam o jogador. se e que me
entende. enfim irei joga-lo e em breve dou um edit com as minhas impressões

Mó falta de sacangem:
[hs width=320 height=240]http://i.imgur.com/WaOINvz.jpg[/hs]
Zoa, Estava curtindo o joga cara, sério mesmo. Clima muito bacana, só alguns mapas que estavam um pouco fora do estilo sci-fi do jogo, mas de resto, muito bacana mesmo!
Sobre o problema com o RGSS3, é um negocio meio chato, e enfrentei isso no AU hahaha, é o script do Yanfly, não é?

Tente usar esse script (:
Spoiler
# Graphical Object Global Reference
# v 1.1
# A debugger script.
# Created by Mithran
# hosted at rpgmakervx.net; forums.rpgmakerweb.com
 
# Created to address the issue of specific Game.exe crashes during play
 
%q(
The cause of a given Game.exe crash could be any number of things - anything that
doesn't create throw an error in Ruby, but causes an unhandled exception in one
of the 'hidden' classes.
 
After extensive testing, I was finally able to recreate the circumstances leading
up to one such exception that, if left unhandled, could lead to Game.exe crash.  
 
1. A "GO" - Graphical Object (Sprite, Window, Plane, or Tilemap) is created
2. The Graphical Object is assigned a Viewport
3. The Viewport is disposed, but the sprite is not
4. The Graphical Object is claimed by GC (garbage disposal)*
 
* - Newly Discovered: attempting to dispose a sprite that has a disposed viewport
    will occasionally also crash. (v 1.1)
    Note that this particuar crash only seems to occur if screen draws have taken
    place (any of the Graphics methods) between the time the viewport is disposed
    and the sprite disposal is attempted.
 
Due to the way GC is implemented, you are unlikely to see an immediate effect
when the situation comes up.  It could be several scene changes down the line
before the crash finally happens.  To make matters worse, following the exact
same course of action will yield completely different results, making it seem
as though the crashes are random.  In addition, there is yet another circumstance
which I have still been unable to pinpoint, but I suspect has something to do
with the order in which assets associated with the Graphical Object are claimed
by the GC, or the amount of screen rewdraws that have taken place,
that allows the GO to be cliamed without causing an exception and
thus making it even harder to find.
 
In essence: you could be suffering from an unstable game and not even know it.
 
So that is where this little script comes in.  This does the following:
 
1. Creates a global variable backreference to every Graphical Object created.
  This prevents them from being marked by the GC so long as the reference exists,
  circumventing the final condition to cause this version of the crash.
 
2. Removes reference to the Graphical Object once it has been disposed.
  This reallows the object to be marked by GC for disposal (once all other
  references are removed).  Since the GO is disposed, condition 3 is no longer met
  and the object is deemed 'safe'.
 
3. Report on potential issues to the user.
  This allows the user (given limited scripting knowledge) to identify potential
  errors and fix them outright.
 
4. Prevents further Game.exe crashes caused by this specific issue.
  Includes a 'lazy' fix that cleans up offending Graphical Objects when the scene
  changes.*
 
* v 1.1 'Lazy' fix has been superceeded to prevent crashes caused by disposal of
    these errant sprites.  Lazy fix only works if debug criticial disposal has
    been disabled.
   
Version History:
 
v 1.1
  Discovered a new condition for a Game.exe crash.  Updated script to trap and log
  this error also.
 
v 1.01-1.05
  Minor bugfixes, improved logging, added consideration for Plane objects viewport method error
 
v 1.0
  Initial Release
   
)
# Creates a global refrence list to all graphical objects, preventing them from
# ever being garbage collected.  Objects from this list are removed when the object
# runs its dispose method, thereby allowing them to be GC'd.  
 
# Has a built in layer to notify the player if the scene changes with live
# graphical objects in play.  As a rule, this should almost never happen.  Certain
# scripts have sprites that are used across every scene and never disposed,
# thus intentionally having an additional global reference (such as mouse script)
# As such, they should never generate a critical error.  However, they can be manually
# exempted from being detected by this script by using the instance method
# 'gobj_exempt' on the sprite.  In the case of Woratana's Simple Mouse/Jets Mouse
# simply place my script as low as possible on the scripts list, but above Main,
# to avoid conflicts.
 
GOBJ_NOTIFY_LEAK = false # when true, displays a list of undisposed graphical objects
# every time the scene changes.  This includes all graphical objects
 
GOBJ_NOTIFY_CRITICAL = false # when true, displays information regarding critical
# graphical object disposal oversights on scene switch.  These are the errors
# that could otherwise turn into a Game.exe crash.
 
# The above two options print a message directly to the screen.
 
GOBJ_DEBUG_FILE = true # makes a file (gobj.txt) in the game directory containing
# information about new critcal objects whenever a scene switches
# the list includes:
# the time the error was recorded
# the object's class and ID
# the scene it was created during (NilClass = in a script before any scene was created)
# and the 'caller', or the list of methods run prior to this object's creation
# the first line on caller will generally be the location of where the
# offending object was initially CREATED
# HOWEVER, the error this script addresses is that this object is never DISPOSED
# of properly.  Knowing where the object will only allow a scripter to go back
# and properly dispose of the object at the correct time.
 
GOBJ_LOG_NON_CRITICAL = true
# if set to true creates log entries for non-critical objects that are not disposed
# between scenes.  Only works if GOBJ_DEBUG_FILE is also set to true.
# if you have a game.exe crash that seems to pop up randomly after a while
# try using this and see if there are any unfreed objects at all
 
GOBJ_LAZY = false
# turn this to true and graphical objects with disposed viewports will be disposed
# when the scene changes.  It is recommended this setting not be used and instead
# the code be cleaned up directly.
# v 1.1 This function has been superceeded by below.  
# Sprites must be kept in memory to prevent a crash if their viewport has already
# been disposed.
# Note this only seems to occur if screen redraws have occured between the time
# of viewport disposal and sprite disposal
 
GOBJ_DEBUG_CRITICAL_DISPOSAL = false
# disables disposal of GO that have had their viewports already disposed
# this is only considered unsafe if screen redraws have taken place between the
# time that the viewport and sprite are disposed.
# Some of the base scripts dispose viewport immediately before the sprites, which
# has never been known to cause errors, therefore, this option has been added to
# circumvent dealing with these type of objects.  Turn this on if you continue
# to get Game.exe crashes that are not logged.
 
 
# --- End Setup
  $gobj = []
 
 
[Sprite, Plane, Window, Tilemap].each { |cl|
class << cl
  alias new_gobj new unless $@
  def new(*args)
    obj = new_gobj(*args)
    ary = [obj, $scene.class]
    ary.push(caller) if GOBJ_DEBUG_FILE # add caller list if debug file is enabled
    # if object is disposed already during initialization, dont add it
    $gobj.push(ary) unless obj.disposed?
    obj
  end
 
end
 
cl.class_eval {
 
  alias dispose_gobj dispose unless $@
  def dispose
    if GOBJ_DEBUG_CRITICAL_DISPOSAL && viewport && viewport.disposed?
      o = $gobj.find { |a| a[0] == self }
      print "#{o[0]} created in #{o[1]} is attempting to dispose with a disposed viewport!" if GOBJ_NOTIFY_CRITICAL
      if GOBJ_DEBUG_FILE && !o[3]
        gobj_log_to_file(o, true)
        o[3] = true
      end
      return
    end
    gobj_exempt   # remove from global reference
    dispose_gobj # original dispose
  end
 
  def gobj_exempt
    $gobj.delete_if { |a| a[0] == self }
  end
 
} # class eval
 
} # each class
 
class Scene_Base
  alias main_gobj main unless $@
  def main
    if !@gobj && $TEST && $gobj.size > 0
      p 'Live Graphical Object List:', $gobj.collect { |o| o[0..1] } if GOBJ_NOTIFY_LEAK
      $gobj.clone.each { |o|
      next o[0].gobj_exempt if o[0].disposed?
      critical = o[0].viewport && o[0].viewport.disposed?
      print "#{o[0]} created in #{o[1]} is a potential for Game.exe crash!" if GOBJ_NOTIFY_CRITICAL && critical
      if GOBJ_DEBUG_FILE && !o[3] && (critical or GOBJ_LOG_NON_CRITICAL)
        gobj_log_to_file(o, critical)
        o[3] = true # do not log again this instance
      end
      if GOBJ_LAZY && critical
        o[0].dispose
      end
      } # close $gobj.each
      @gobj = true # once per run of this specfic scene object
    end # debug branch
    main_gobj  #original method
  end
 
 
end
 
module Kernel
 
  def gobj_log_to_file(o, critical)
    File.open("gobj.txt", "a") { |f|
    f.print "\n-----\n"
    f.print("Time: #{Time.now}\n")
    f.print("#{critical ? '' : 'Non-'}Critical Object #{o[0]}\n")
    f.print("In Scene #{o[1]}\n")
    f.print("Caller:: \n")
    o[2].each { |e| e.gsub!(/Section(\d+)\:(\d+)/i) { |m|
    "Script #{$1} -- #{ScriptNames[$1.to_i]}, Line: #{$2}" }
    } # close o[2].each
    outp = o[2].join("\n")
    f.print(outp)
    } # close file
  end
 
end
 
class Viewport
  alias dispose_gobj dispose unless $@
  def dispose
    @disposed = true
    dispose_gobj
  end
 
  def disposed?
    @disposed
  end
 
end
 
class Plane
  # Plane#viewport methods do not work correctly
  # Plane#viewport takes an argument and SETS the viewport
  # while Plane#viewport= is not defined at all
  # fixed to work like sprite, window and Tilemap
 
  alias viewport= viewport unless $@
  alias viewport_set viewport unless $@
  def viewport=(vp)
    @viewport = vp
    viewport_set(vp)
  end
 
  def viewport
    @viewport
  end
 
  alias initialize_vpfix initialize
  def initialize(vp = nil)
    @viewport = vp
    initialize_vpfix(vp)
  end
 
end
 
ScriptNames = {}
 
load_data("Data/Scripts.rvdata2").each_with_index {|s, i| ScriptNames[i] = s[1] }
[close]
Teste o jogo, e se o bug for causado por algum "Global Object"(Caixas de dialogo, graficos que se sobreponham etc.) ele vai gerar um arquivo em txt. com as informações do Bug, de uma olhada e vai saber o que está causando o problema! Mas é quase certeza que o problema é algum modulo do Sistema de batalha, talvez só retirando alguns deles pra deixar o jogo livre de Crashs! \o




Gostei pra caramba do jeitão do jogo, não sei porque não comentei antes (provavelmente por preguiça, lol).
Em primeiro lugar, já ganha muito crédito só por ter terminado. Dá até uma vontade a mais de jogar. E pelo jeito é bem no estilo de jogo que eu gosto. De qualquer forma, estou baixando aqui, mas provavelmente vou demorar a jogar devido ao pouco tempo que tenho agora, mas assim que possível eu comento o que achei. Tem alguma ideia de quanto tempo de gameplay tem?

E sobre o erro que o Guilherme citou acima, eu tive exatamente o mesmo. Eu também uso o Symphony, diga-se de passagem, que o sistema que causa esse erro. De fato o script que nosso amigo postou soluciona o problema, então aconselho usá-lo ;D
Já perceberam que em vez de as pessoas usarem esse espaço para uma assinatura de fato, elas colocam alguma coisa aleatória (imagem, frase filosófica, divulgação, tipo o que estou fazendo agora), e colocam no corpo das mensagens o que deveria ser a assinatura?

Obrigado pelos comentários!

Citação de: Mepps online 24/11/2013 às 16:06
Parábens por esse projeto =), estou baixando par joga-lo
e em breve tratei meus comentários sobre o game. pela historia os personagens
parecem ser bem carismáticos e atraentes que prendam o jogador. se e que me
entende. enfim irei joga-lo e em breve dou um edit com as minhas impressões


Sim, jogue por favor, quanto mais comentários melhor ^^

Citação de: GuilhermeDL online 24/11/2013 às 16:32
Mó falta de sacangem:
[hs width=320 height=240]http://i.imgur.com/WaOINvz.jpg[/hs]
Zoa, Estava curtindo o joga cara, sério mesmo. Clima muito bacana, só alguns mapas que estavam um pouco fora do estilo sci-fi do jogo, mas de resto, muito bacana mesmo!
Sobre o problema com o RGSS3, é um negocio meio chato, e enfrentei isso no AU hahaha, é o script do Yanfly, não é?

Tente usar esse script (:

Teste o jogo, e se o bug for causado por algum "Global Object"(Caixas de dialogo, graficos que se sobreponham etc.) ele vai gerar um arquivo em txt. com as informações do Bug, de uma olhada e vai saber o que está causando o problema! Mas é quase certeza que o problema é algum modulo do Sistema de batalha, talvez só retirando alguns deles pra deixar o jogo livre de Crashs! \o

Citação de: Pretty-Belle online 24/11/2013 às 17:20
Gostei pra caramba do jeitão do jogo, não sei porque não comentei antes (provavelmente por preguiça, lol).
Em primeiro lugar, já ganha muito crédito só por ter terminado. Dá até uma vontade a mais de jogar. E pelo jeito é bem no estilo de jogo que eu gosto. De qualquer forma, estou baixando aqui, mas provavelmente vou demorar a jogar devido ao pouco tempo que tenho agora, mas assim que possível eu comento o que achei. Tem alguma ideia de quanto tempo de gameplay tem?

E sobre o erro que o Guilherme citou acima, eu tive exatamente o mesmo. Eu também uso o Symphony, diga-se de passagem, que o sistema que causa esse erro. De fato o script que nosso amigo postou soluciona o problema, então aconselho usá-lo ;D

Eu testei o script, e as batalhas não dão mais crash só dele estar no projeto. É assim mesmo, ou o script só mostra onde está o bug? De qualquer forma, obrigado!

Quanto ao tempo de gameplay, varia entre 5 e 6 horas, ai depende se você vai fazer alguma sidequest, mas dá pra zerar o jogo em umas 5 horas (os personagens devem estar por volta do lvl 30-35 nesse tempo).