PDA

View Full Version : So who's ready to design their own game?



Lord Chainsaw
09-18-2005, 08:39 AM
Tis the season. Enterbrain has finally translated RPG Maker XP and put it out on www.download.com. Or if PC RPG Makers aren't your thing, then they also have a new PS2 RPG Maker out, RPG Maker 3. I wouldn't recommend it though, because it just seems so much cooler when you can insert PC files into your RPG instead of being restricted to what is on the PS2 disc.

I've been fiddling around with RPG Maker XP since Thursday, and I really do appreciate the accessibility of it. I'm pretty much hooked on it. So much fun creating these sort of things.

Really, go ahead and give it a shot. The price is a little steep at $60 for the download, but if you really enjoy video games, and want to create one, you'll find that it's more than a fair price for such an incredible program. You could also try downloading the 30 day trial at the same place. To continue using it after 30 days you'd have to register it, so it's a pretty could idea to more or less see if it is a system you'd want to be getting in to.

If you do download the game, I recommend getting some ripped 16-32 bit graphics for it. Because it usually takes so many people for the graphical design, it's probably better that way. We all end up using them.

This site (http://www.phylomortis.com) is a very good place to find character sprites, backgrounds, battle sprites, monsters, and backdrops.

Check out this program if you have the time, love rpgs, or both.

Azure Chrysanthemum
09-18-2005, 09:01 AM
A few questions.

What are the party size limitations it gives?

Does it support multiple combat systems, like, say, a mecha system that allows switching between pilot and mech?

How are the spells/abilities and their customizability?

What about equipment and the creation thereof?

Is the stat system customizable or set?

nik0tine
09-18-2005, 09:38 AM
I might be willing to compose some music for your RPG if you like. It would be an excellent opportunity for me to strengthen my skills. I dont know if I could pull it off or not, but its definetly worth a try.

Markus. D
09-18-2005, 03:09 PM
I love the Ruby Scripting (RGSS).

im creating a game inspired by, Super Mario Bros, Maple Story, Final Fantasy X-2 and Final Fantasy VII.

Im gonna try rescript the battle systems and all.

bipper
09-18-2005, 03:32 PM
I like C++! Its my favorite RPG maker. Sexy!

Now with this RPG maker, what does it do? I mean, does it write windows propritary RPG's? Any three d work or is it all 2d sprites?
Need info :D


Bipper

Markus. D
09-18-2005, 03:49 PM
well, theres the default click and drag etc etc.

but you can enhance it through ruby scripting.

i think someone made a 3d FFVII fan game (included materia system and summon videos), it looked cool...

Optium
09-18-2005, 03:51 PM
I'm down for some music making if you want to collaborate nik. :D

.opt

Maxico
09-18-2005, 03:58 PM
Ah, I remember RPG making programs. I've moved on a bit since then but they were still pretty fun. I've yet to see a project that was finished with one however.

Markus. D
09-18-2005, 03:59 PM
I'm down for some music making if you want to collaborate nik. :D

.opt

if you mean me.

i would apreciate if you would make something for like a calm theme.

bipper
09-18-2005, 04:14 PM
Heh, if anyone is a graphics buff, I would like help with textures and skinning for mostly 3d work. Thought I would throw that up.

Bip

Optium
09-18-2005, 04:16 PM
I'm down for some music making if you want to collaborate nik. :D

.opt

if you mean me.

i would apreciate if you would make something for like a calm theme.
I was talking to Nikotine but if you can give me something more to go on
than calm theme I might be able to help out, can you try to explain where
the song would be used, what the mood of the situation would be, and
maybe what type of instruments you'd want in the song (solo piano,
violins, orchestral, etc)?

.opt

Markus. D
09-18-2005, 04:24 PM
I'm down for some music making if you want to collaborate nik. :D

.opt

if you mean me.

i would apreciate if you would make something for like a calm theme.
I was talking to Nikotine but if you can give me something more to go on
than calm theme I might be able to help out, can you try to explain where
the song would be used, what the mood of the situation would be, and
maybe what type of instruments you'd want in the song (solo piano,
violins, orchestral, etc)?

.opt

hahaha, sorry, my names nik... couldnt help it :P

ummm well, more emphasis on piano, and a soft ahhhh vox sorta effect would be awesome :)

Lord Chainsaw
09-18-2005, 07:22 PM
What are the party size limitations it gives?

If you use the default script, there is a limit of four characters per battle. You can change this if you know how, or learn how to edit the Ruby Script.


Does it support multiple combat systems, like, say, a mecha system that allows switching between pilot and mech?

Yes, it does. You'd have to be pretty good with Ruby to figure out how to create the really in depth systems, but they aren't impossible. The default battle system is the Dragon Warrior style system, but people have already created their own custom systems. A very popular one is the "side view" FF style system. You can find the patch for that at phylomortis (www.phylomortis.com)

I could go out on a limb and guess the Xenogear style battle sytem could be possible if you create a switch activated by a spell that changes your battle actor when used.


How are the spells/abilities and their customizability?

From what I gather so far, spell effects are very customizable. As far as the effect of the ability goes, you can pretty much specify how it will calculate damage, resistances, elements, and so forth. Graphically I haven't gotten into ability creation, but there should be some pretty neat things you could do with the graphics.


What about equipment and the creation thereof?

Equipment works as a regular item, but with stats. You create the name of the item, the stats it gives, and who can equip it. They start you off with some pre made equipment, but it is very easy to create your own. For instance, I can create the Sword of Cosines and give it +500 ATP, make it fire elemental, make it cause sleep, and give it a spear attack graphic if I wanted to.


Is the stat system customizable or set?

You can alter the stat growth curve of your characters, and unless you know Ruby, it's probably the only thing you should do with the stats. Specify the starting value of a stat, then the level 99 value. After that you can generate a curve.

Pretty much anything goes. The better you are at Ruby, the more concepts you will have available to use. I've already taken some character portraits from various games and places and have gotten into the habit of displaying them next to the text box Lunar style when a character speaks. Fun.

Here's a little story I programmed last night:

It's end game, and the Germanic hero Siegfried decides to tackle the Persian King Xerxes at the Gates to the Afterlife. Who will win?

http://img61.imageshack.us/img61/3028/siegtalkcopy4ry.jpg
Yeah, I haven't gotten the text window down yet...

http://img180.imageshack.us/img180/1318/enemyicedamagecopy3ch.jpg
Icewires casts an Ice Spell and does mad damage to evil.

http://img180.imageshack.us/img180/407/omgdamagecopy3zg.jpg
After doing nothing but sitting there and being my punching bag for a few rounds, the boss decides to finally hit me with something. And it looks like it's gonna hurt...

http://img246.imageshack.us/img246/2430/pwntcopy1jt.jpg
OH MAH LAWD! Siegfried, you're all talk. Maybe you should gain a few levels before taking on the Persians. Maybe 500 or so.

http://img246.imageshack.us/img246/3330/gameovercopy9av.jpg
Yeah.

RSL
09-22-2005, 01:28 PM
Oh man, I had so much fun with RPG Maker back in the day. I downloaded this and am messing around with the free trial. I doubt that I'm going to drop 60 bucks on it however. I just don't see myself sticking with it.

Still, this is bringing back some fond memories.

Markus. D
09-22-2005, 01:57 PM
Lord Chainsaw, do you want a script to use the current map shot as your locations.

it makes the backgrounds less lookfully...full...

i have nothing to do with the ownership of the script.

insert a new script space and call it, Spriteset_Battle.update

#--------------------------------------------------------------------------
# ● フレーム更新
#--------------------------------------------------------------------------
def update
# アクタースプライトの内容を更新 (アクターの入れ替えに対応)
@actor_sprites[0].battler = $game_party.actors[0]
@actor_sprites[1].battler = $game_party.actors[1]
@actor_sprites[2].battler = $game_party.actors[2]
@actor_sprites[3].battler = $game_party.actors[3]
# バトルバックのファイル名が現在のものと違う場合
if @battleback_name != $game_temp.battleback_name
@battleback_name = $game_temp.battleback_name
if @battleback_sprite.bitmap != nil
@battleback_sprite.bitmap.dispose
end
#@battleback_sprite.bitmap = RPG::Cache.battleback(@battleback_name)
#@battleback_sprite.src_rect.set(0, 0, 640, 320)
end
# バトラースプライトを更新
for sprite in @enemy_sprites + @actor_sprites
sprite.update
end
# 天候グラフィックを更新
@weather.type = $game_screen.weather_type
@weather.max = $game_screen.weather_max
@weather.update
# ピクチャスプライトを更新
for sprite in @picture_sprites
sprite.update
end
# タイマースプライトを更新
@timer_sprite.update
# 画面の色調とシェイク位置を設定
@viewport1.tone = $game_screen.tone
@viewport1.ox = $game_screen.shake
# 画面のフラッシュ色を設定
@viewport4.color = $game_screen.flash_color
# ビューポートを更新
@viewport1.update
@viewport2.update
@viewport4.update
end



then
change Scene_Battle1 script to this

#================================================= =============================
# ■ Scene_Battle (分割定義 1)
#------------------------------------------------------------------------------
#  バトル画面の処理を行うクラスです。
#================================================= =============================

class Scene_Battle
#--------------------------------------------------------------------------
# ● メイン処理
#--------------------------------------------------------------------------
def main
# 戦闘用の各種一時データを初期化
$game_temp.in_battle = true
$game_temp.battle_turn = 0
$game_temp.battle_event_flags.clear
$game_temp.battle_abort = false
$game_temp.battle_main_phase = false
$game_temp.battleback_name = $game_map.battleback_name
$game_temp.forcing_battler = nil
# バトルイベント用インタプリタを初期化
$game_system.battle_interpreter.setup(nil, 0)
# トループを準備
@troop_id = $game_temp.battle_troop_id
$game_troop.setup(@troop_id)
# アクターコマンドウィンドウを作成
s1 = $data_system.words.attack
s2 = $data_system.words.skill
s3 = $data_system.words.guard
s4 = $data_system.words.item
@actor_command_window = Window_Command.new(160, [s1, s2, s3, s4])
@actor_command_window.y = 160
@actor_command_window.back_opacity = 160
@actor_command_window.active = false
@actor_command_window.visible = false
# タイルマップを作成
@tilemap = Tilemap.new()
@tilemap.tileset = RPG::Cache.tileset($game_map.tileset_name)
for i in 0..6
autotile_name = $game_map.autotile_names[i]
@tilemap.autotiles[i] = RPG::Cache.autotile(autotile_name)
end
@tilemap.map_data = $game_map.data
@tilemap.priorities = $game_map.priorities
@tilemap.ox = $game_map.display_x / 4
@tilemap.oy = $game_map.display_y / 4
# その他のウィンドウを作成
@party_command_window = Window_PartyCommand.new
@help_window = Window_Help.new
@help_window.back_opacity = 160
@help_window.visible = false
@status_window = Window_BattleStatus.new
@message_window = Window_Message.new
# スプライトセットを作成
@spriteset = Spriteset_Battle.new
# ウェイトカウントを初期化
@wait_count = 0
# トランジション実行
if $data_system.battle_transition == ""
Graphics.transition(20)
else
Graphics.transition(40, "Graphics/Transitions/" +
$data_system.battle_transition)
end
# プレバトルフェーズ開始
start_phase1
# メインループ
loop do
# ゲーム画面を更新
Graphics.update
# 入力情報を更新
Input.update
# フレーム更新
update
# 画面が切り替わったらループを中断
if $scene != self
break
end
end
# マップをリフレッシュ
$game_map.refresh
# トランジション準備
Graphics.freeze
# タイルマップを解放
@tilemap.tileset.dispose
for i in 0..6
@tilemap.autotiles[i].dispose
end
@tilemap.dispose
# ウィンドウを解放
@actor_command_window.dispose
@party_command_window.dispose
@help_window.dispose
@status_window.dispose
@message_window.dispose
if @skill_window != nil
@skill_window.dispose
end
if @item_window != nil
@item_window.dispose
end
if @result_window != nil
@result_window.dispose
end
# スプライトセットを解放
@spriteset.dispose
# タイトル画面に切り替え中の場合
if $scene.is_a?(Scene_Title)
# 画面をフェードアウト
Graphics.transition
Graphics.freeze
end
# 戦闘テストからゲームオーバー画面以外に切り替え中の場合
if $BTEST and not $scene.is_a?(Scene_Gameover)
$scene = nil
end
end
#--------------------------------------------------------------------------
# ● 勝敗判定
#--------------------------------------------------------------------------
def judge
# 全滅判定が真、またはパーティ人数が 0 人の場合
if $game_party.all_dead? or $game_party.actors.size == 0
# 敗北可能の場合
if $game_temp.battle_can_lose
# バトル開始前の BGM に戻す
$game_system.bgm_play($game_temp.map_bgm)
# バトル終了
battle_end(2)
# true を返す
return true
end
# ゲームオーバーフラグをセット
$game_temp.gameover = true
# true を返す
return true
end
# エネミーが 1 体でも存在すれば false を返す
for enemy in $game_troop.enemies
if enemy.exist?
return false
end
end
# アフターバトルフェーズ開始 (勝利)
start_phase5
# true を返す
return true
end
#--------------------------------------------------------------------------
# ● バトル終了
# result : 結果 (0:勝利 1:敗北 2:逃走)
#--------------------------------------------------------------------------
def battle_end(result)
# 戦闘中フラグをクリア
$game_temp.in_battle = false
# パーティ全員のアクションをクリア
$game_party.clear_actions
# バトル用ステートを解除
for actor in $game_party.actors
actor.remove_states_battle
end
# エネミーをクリア
$game_troop.enemies.clear
# バトル コールバックを呼ぶ
if $game_temp.battle_proc != nil
$game_temp.battle_proc.call(result)
$game_temp.battle_proc = nil
end
# マップ画面に切り替え
$scene = Scene_Map.new
end
#--------------------------------------------------------------------------
# ● バトルイベントのセットアップ
#--------------------------------------------------------------------------
def setup_battle_event
# バトルイベント実行中の場合
if $game_system.battle_interpreter.running?
return
end
# バトルイベントの全ページを検索
for index in 0...$data_troops[@troop_id].pages.size
# イベントページを取得
page = $data_troops[@troop_id].pages[index]
# イベント条件を c で参照可能に
c = page.condition
# 何も条件が指定されていない場合は次のページへ
unless c.turn_valid or c.enemy_valid or
c.actor_valid or c.switch_valid
next
end
# 実行済みの場合は次のページへ
if $game_temp.battle_event_flags[index]
next
end
# ターン 条件確認
if c.turn_valid
n = $game_temp.battle_turn
a = c.turn_a
b = c.turn_b
if (b == 0 and n != a) or
(b > 0 and (n < 1 or n < a or n % b != a % b))
next
end
end
# エネミー 条件確認
if c.enemy_valid
enemy = $game_troop.enemies[c.enemy_index]
if enemy == nil or enemy.hp * 100.0 / enemy.maxhp > c.enemy_hp
next
end
end
# アクター 条件確認
if c.actor_valid
actor = $game_actors[c.actor_id]
if actor == nil or actor.hp * 100.0 / actor.maxhp > c.actor_hp
next
end
end
# スイッチ 条件確認
if c.switch_valid
if $game_switches[c.switch_id] == false
next
end
end
# イベントをセットアップ
$game_system.battle_interpreter.setup(page.list, 0)
# このページのスパンが [バトル] か [ターン] の場合
if page.span <= 1
# 実行済みフラグをセット
$game_temp.battle_event_flags[index] = true
end
return
end
end
#--------------------------------------------------------------------------
# ● フレーム更新
#--------------------------------------------------------------------------
def update
# バトルイベント実行中の場合
if $game_system.battle_interpreter.running?
# インタプリタを更新
$game_system.battle_interpreter.update
# アクションを強制されているバトラーが存在しない場合
if $game_temp.forcing_battler == nil
# バトルイベントの実行が終わった場合
unless $game_system.battle_interpreter.running?
# 戦闘継続の場合、バトルイベントのセットアップを再実行
unless judge
setup_battle_event
end
end
# アフターバトルフェーズでなければ
if @phase != 5
# ステータスウィンドウをリフレッシュ
@status_window.refresh
end
end
end
# システム (タイマー)、画面を更新
$game_system.update
$game_screen.update
# タイルマップを更新
@tilemap.update
# タイマーが 0 になった場合
if $game_system.timer_working and $game_system.timer == 0
# バトル中断
$game_temp.battle_abort = true
end
# ウィンドウを更新
@help_window.update
@party_command_window.update
@actor_command_window.update
@status_window.update
@message_window.update
# スプライトセットを更新
@spriteset.update
# トランジション処理中の場合
if $game_temp.transition_processing
# トランジション処理中フラグをクリア
$game_temp.transition_processing = false
# トランジション実行
if $game_temp.transition_name == ""
Graphics.transition(20)
else
Graphics.transition(40, "Graphics/Transitions/" +
$game_temp.transition_name)
end
end
# メッセージウィンドウ表示中の場合
if $game_temp.message_window_showing
return
end
# エフェクト表示中の場合
if @spriteset.effect?
return
end
# ゲームオーバーの場合
if $game_temp.gameover
# ゲームオーバー画面に切り替え
$scene = Scene_Gameover.new
return
end
# タイトル画面に戻す場合
if $game_temp.to_title
# タイトル画面に切り替え
$scene = Scene_Title.new
return
end
# バトル中断の場合
if $game_temp.battle_abort
# バトル開始前の BGM に戻す
$game_system.bgm_play($game_temp.map_bgm)
# バトル終了
battle_end(1)
return
end
# ウェイト中の場合
if @wait_count > 0
# ウェイトカウントを減らす
@wait_count -= 1
return
end
# アクションを強制されているバトラーが存在せず、
# かつバトルイベントが実行中の場合
if $game_temp.forcing_battler == nil and
$game_system.battle_interpreter.running?
return
end
# フェーズによって分岐
case @phase
when 1 # プレバトルフェーズ
update_phase1
when 2 # パーティコマンドフェーズ
update_phase2
when 3 # アクターコマンドフェーズ
update_phase3
when 4 # メインフェーズ
update_phase4
when 5 # アフターバトルフェーズ
update_phase5
end
end
end




done, the only glitch is that trees will show up past the blue menu.

the long process of making these is why i dont wanna master ruby scripting

bipper
09-22-2005, 05:58 PM
It seems easier just to learn to program and make a game, then to learn some half assed scripting language.

Lord Chainsaw
09-22-2005, 06:27 PM
That's a pretty cool idea there. I think I will take you up on that offer. A lot of people are using the side-view FF system, but I honestly don't think that type of system is all that great. I'll stick with the Lufia style, because it doesn't seem as cool when the enemy is facing the side of the screen rather than looking straight at you at your computer chair. The advantage to the FF system is that you can see your characters attacking, but with the Lufia style characters, that advantage is quickly nullified.

Of course, for the really, really big enemies (the final boss), I'm going to give no graphic to the monster and set the battle background to be the boss itself.

edczxcvbnm
09-22-2005, 06:59 PM
Sweet. Now I can make the game pimp planet! Run around and fuck bitches and take their money! Greatness will be mine.

black orb
09-22-2005, 07:50 PM
>>> I tried RPGmaker XP in my brother`s computer but Im too stupid to figure out how to use it properly..

Nice screens Lord Chainsaw
RedM is Persian King Xerxes, lol..

Lord Chainsaw
09-23-2005, 01:15 AM
It's really very fun, but you're right. It has a pretty steep learning curve at the beginning, even if you don't mess with the scripts.

You can use the F1 or right click help in the actual game, but even with that it's still very confusing to start. It's pretty much almost a necessity to use rmxp.net (http://www.rmxp.net/forums/index.php) when you have problems and need to ask a technical question or if you need to view an archive of similar problem.

A very, very knowledgable RPGXP user at Gamefaqs made these tutorials, and they're a great help. You should definitely look into them at his tutorial page (http://www.limiteddeviation.com/subsidiaries/downloads.htm)

If you're still having problems with executing some of the events, you can PM me if you need help. Be warned, I know absolutely nothing about Ruby Scripting, so I can't help you there. It's probably best to ask the folks at the rmxp forums for that kind of help.

nik0tine
09-23-2005, 01:39 AM
I'm down for some music making if you want to collaborate nik. :D

.opt
yes.


Edit: To whomever is actually designing this game, is it at all possible to give it a Final Fantasy Tactics like battle system? (Yeah, I know Im probably asking way to much. :p)

Optium
09-23-2005, 03:09 AM
Quick question: what instrument(s) do you play and what programs do you
use for music making?

Me: piano (some guitar and violin, but not much...I basically teach myself
any instrument which I have available to myself, and those are the only
three that I've acquired), and I use Live, little bit of Cubase, and some
FL Studio.

.opt

RSL
09-23-2005, 01:23 PM
I was messing around with this today. I wanted to make a ship with the ship tileset. I couldn't figure it out.

Markus. D
09-23-2005, 05:48 PM
it takes awhile if your dumber then others like me, but once you mess around with it a little, it becomes a walk in the park.