08-15-2015, 09:08 PM
Paragon: Heroes of Roguehaven
Developer's Notes for 8/15/15
What a road so far! I've been working on and off this project for years now, almost as long as I've been married! I've revised, rehashed, cried when my computer crashed, cried more when my laptop crashed, and now... luckily, I just got myself a nice little $50 1TB backup HDD. Yay, no more crashes!
Anyway, Like I said, I've been working on this a lot. I really have this to say. First, Enterbrain, you gotta love these guys. RMVXAce would be sublime if they'd have done one thing that the guys over in Engine 001 did. Engine 001 (and of course Enterbrain's Rebranded Love Child GGMaker) made it where tilesets were added and available on the fly from within the tileset window in a way that many tilests could be used on the same map, with an instant understanding of autotiles, the way walls should work, three layers, and the understanding that the three layers should be actually ste to the map (first layer being ground and items that are below the player, layer two being things that are at the same height as player, and the third being items that are above the player and other characters.
With that being said I figured that maybe I just wasn't seeing the BIGGER picture, so it got me thinking about how to best address this in RPGMakerVX.
Creating Event Sheets
“Pioneer's sets are aweosme, but so difficult to use”
Yes, I could have copped out, and just created a nice Parallax Background tile and made most tiles for the A default to a transparent walk-anywhere tile, but That would have been a cop-out, and I wanted my parallax to do more, like animated water and other items. So, I began to work on making the tilesets be something MORE... concentrating on larger items for the tilesets like houses, and walls, and castles and buildings. This allows the other items, like little rocks, shrubs, and more intricate items to be created as a character set, or in this case, event-character sets. This also allows a LOT of multilayering of forests, larger rocks and more.
A standard RMVXA Charset is actually 12 frames or cells by 8 frames or cells. This means if you have the need, you can use one sheet to house up to 96 events of the same size. This means all those extra rocks, shrubs, and other items can now be evented, kept below the character, or on the character's level if more than the traditional 1x1 editor tile. For larger events...
Rendered Larger Events
“So when you put down a tree, do you make the whole tree passable or tiles around it?”
RMXP had a lovely script called Large Events, but as I'm using RMVXA, I'm going to go with Shaz's Collision system, which goes a little something like this:
class Game_Event < Game_Character
alias shaz_large_event_collision_clear_page_settings clear_page_settings
alias shaz_large_event_collision_setup_page_settings setup_page_settings
def clear_page_settings
shaz_large_event_collision_clear_page_settings
@collide_width = 0
@collide_height = 0
end
def setup_page_settings
shaz_large_event_collision_setup_page_settings
@collide_width = 0
@collide_height = 0
list_index = 0
while list_index < @list.size && [108,408].include?(@list[list_index].code)
colx, coly = @list[list_index].parameters[0].scan(/<collision: (\d+),(\d+)>/i)[0]
@collide_width = colx.nil? ? 0 : (colx.to_i / 64)
@collide_height = coly.nil? ? 0 : (coly.to_i / 32 - 1)
list_index = @list.size if @collide_width != 32 || @collide_height != 32
list_index += 1
end
end
def pos?(x,y)
x.between?(@x - @collide_width, @x + @collide_width) &&
y.between?(@y - @collide_height, @y)
end
end
You would then just add to an event's Comment Tags this,
<collision: x,y>
Which does seem to allow me to interact with larger than life events, and be able to determine correct collision for these events. So, with that being said, when an event is on the same 'level' as a character, their BASE can effectively be have action start, collision , while still giving the freedom to be on a lower Y and end up BEHIND the event, or on a higher Y and be in front of the creature.
But, since I don't want to have to create a note tag each and every time I place a pine tree on the map I created...
Utility Placeholder Maps!
“You going to add notetags to a hundred events?”
From enemies to happy little trees, from mining nodules to specific NPC types like inns and shopkeepers, I wanted to have a place to reference them, so that I could just copy the event to the map from the utility map. I also made it so that most Utility maps have a Parallax and/or Tileset, so that I can see the actual event (size and appearance) before placing it on the map.
I then create all the necessary notetags for those events, and when I need a group of cedar trees for a map, I can just copy and paste. When I need a glob of gold ore, I just drag and drop, and if I need anything as far as complex “Run after the character” or otherwise, I get the ability to just drop it into the map quick and painlessly, once. Now about that layer priority!
Layer Priorities
“VX Ace Mapping sucks, I like layers.”
As A3 and A4 typically are meant for walls with the addition of horizontal roofs, this is perfect for the little 1x1 tile character, without much need for anything else in a blocky world. However, I'm wanting Angled roofs, I'm wanting towers, I'm wanting ziggurats of awesomeness. This is why I've basically said that most of my B-E should actually be OVERLAY or LARGE interactive ITEMS. These are items that will either always be out of the character's way, or if collided with, and aren't events, can just be there and look pretty. The B-E tilesets are all set to be at the same layer so if you consider that with the exception of the first tile (and if you use custom shadows, possibly the first row of eight on the left hand side, you still have a 512x512 tileset for each of the four tile groups. This means, if it was an RMXP tileset, and we dropped out the first row of each one of these we'd still have a RMXP tileset of
256 x 3952, more than enough for any one map's tileset. With that being said, I will probably devote a couple of tilesets to different angles and uses of thatch roofs and shingled roofs, and then maybe something for curved walls, corners, and if I don't want to event certain overhangs like plant boxes hanging off the sides, or overhangs, I can place it on tileset E. If any of these overhangs overlap, of course I can still event any of those tilesets for that extra 'third layer' of overlay.
A million and one maps? Surely not, right?
“You should never need more than 999 maps”
Okay, I wanted my world to be HUGE, I mean really HUGE, but as I am going to be concetrating on using events in a lot of my mapping, I knew that each area map couldn't BE that huge. Luckily for me, I think I will be able to enjoy the ability to use “Map folders” to dramatically increase my mapping areas. I will probably devote a group of 100 maps to any given location, area, and when needing to go between different folders, I simply use that intermediary. A location map on my atlas for instance may reference a location in 'folder_004' which then goes to that folder for the data on that map. Now, granted, I'll still have to have all the utility maps and items still referenced in each 'folder' but the data itself, will be changed mainly on the maps section.
This way, I can still have all the stuff from the regular game, sharing data between folders on the fly, and completely bypass the 999 maps limit. I feel confident that there is NO area on my world that would require more than 100 maps, and I can use more of my UTILITY maps to Right Shift Click and Left Shift paste specifc map 'puzzle pieces' in a way to create maps on the fly, and then populate each map accordingly.
ALTERNATIVE: I can still use HUGE maps, 500x500, and only mimic the understanding that 100x 100 is the max size for a map, this way, if I need 25 little rooms or hallways that seperate one or two main chambers for my maps, I can do so and effectively turn a 25 map dungeon into a 2-3 map dungeon... The reason I say 2 or 3, is because in your typical cave, you might have different parallaxes depending on how deep you are. (For instance, the top most layers might be lava tubes, while the bottom most layer might actually be the lava itself.)
Location, Location, Location...
“Your world looks massive, I'd hate to be the one to have to map all that out for the in-game maps”
I wanted to have a little bit of a fell of overland movement, without the attempt to actually great miles and miles worth of maps for each section, so I created a large location map, of the entirety of the game-world, with each location set to be explorered by clocking on it with your mouse. This mode is much like Skyrim's Fast Travel device. However, and this is often the case with most open World RPGs... people expect to be able to run through every INCH of a terrain, and this simply is not necessary. Think of a spiderweb: the web itself might cover feet, but if you roll it up, you can usually fit it into the palm of your hand. In order to minimize the amount of maps, and definitely NOT have every inch of my world mapped out, I created path-maps that, while not being the whole predefined 'stuck in a hallway, go forward or go back' stands as a way to get form point A to point B the LONG way, and opens into other location maps or discovered locations. This way, my players can still 'explore' the world while not just wandering across vast expanses of areas that would be devoid of a lot of events as my mapping system may be event-heavy.
Look ma! No hands!
“Mouse interaction is cool, at least until we can touch screen everything.”
In my efforts to have no keyboard keys whatsoever, I am coming close and closer to a fully mouse-controlled game. I still need to work on some L and R features in the menus, as well as some other functions on map but, for now, all windows are working fine. I also decided to utilize Falcao's Mouse Buttons to create Hud-like icons on the screen to get the player wherever he may need to go.
Heroes of Roguehaven!
“I think you have too MANY people. It's hard to story arc with 80 people isn't it? “
And finally, I believe I may have the field of finalists for the main heroes of my game narrowed down to the eight characters that I want to be able to start coding the start stories to Paragons. These characters or their revisions have been played characters and NPCs in countless RPG adventures throughout an almost decade and a half of playing table-top games, so the storylines are definitely there. Only thing is storyboarding the actual scenes for this particular chapter, with a basis on one of my more recent campaigns. I also have a playing field of at least 12 others to join up with the party at varying intervals, and my main court of bad guys to cause panic and mayhen wherever they arrive.
Monsters University!
“You should have monster levels”
While I agree, I realized quickly that I would need to increase DRAMATICALLY the number of slots I have available for my monsters to ensure that variations of Hit points and powers are utilized for the nearly 200 different monsters in the game. I couldn't be happier with the way these guys turns out so far. And will be working tirelessly to convert their battlers to mini-battlers for the animated battler scripts already in place in my game
Developer's Notes for 8/15/15
What a road so far! I've been working on and off this project for years now, almost as long as I've been married! I've revised, rehashed, cried when my computer crashed, cried more when my laptop crashed, and now... luckily, I just got myself a nice little $50 1TB backup HDD. Yay, no more crashes!
Anyway, Like I said, I've been working on this a lot. I really have this to say. First, Enterbrain, you gotta love these guys. RMVXAce would be sublime if they'd have done one thing that the guys over in Engine 001 did. Engine 001 (and of course Enterbrain's Rebranded Love Child GGMaker) made it where tilesets were added and available on the fly from within the tileset window in a way that many tilests could be used on the same map, with an instant understanding of autotiles, the way walls should work, three layers, and the understanding that the three layers should be actually ste to the map (first layer being ground and items that are below the player, layer two being things that are at the same height as player, and the third being items that are above the player and other characters.
With that being said I figured that maybe I just wasn't seeing the BIGGER picture, so it got me thinking about how to best address this in RPGMakerVX.
Creating Event Sheets
“Pioneer's sets are aweosme, but so difficult to use”
Yes, I could have copped out, and just created a nice Parallax Background tile and made most tiles for the A default to a transparent walk-anywhere tile, but That would have been a cop-out, and I wanted my parallax to do more, like animated water and other items. So, I began to work on making the tilesets be something MORE... concentrating on larger items for the tilesets like houses, and walls, and castles and buildings. This allows the other items, like little rocks, shrubs, and more intricate items to be created as a character set, or in this case, event-character sets. This also allows a LOT of multilayering of forests, larger rocks and more.
A standard RMVXA Charset is actually 12 frames or cells by 8 frames or cells. This means if you have the need, you can use one sheet to house up to 96 events of the same size. This means all those extra rocks, shrubs, and other items can now be evented, kept below the character, or on the character's level if more than the traditional 1x1 editor tile. For larger events...
Rendered Larger Events
“So when you put down a tree, do you make the whole tree passable or tiles around it?”
RMXP had a lovely script called Large Events, but as I'm using RMVXA, I'm going to go with Shaz's Collision system, which goes a little something like this:
class Game_Event < Game_Character
alias shaz_large_event_collision_clear_page_settings clear_page_settings
alias shaz_large_event_collision_setup_page_settings setup_page_settings
def clear_page_settings
shaz_large_event_collision_clear_page_settings
@collide_width = 0
@collide_height = 0
end
def setup_page_settings
shaz_large_event_collision_setup_page_settings
@collide_width = 0
@collide_height = 0
list_index = 0
while list_index < @list.size && [108,408].include?(@list[list_index].code)
colx, coly = @list[list_index].parameters[0].scan(/<collision: (\d+),(\d+)>/i)[0]
@collide_width = colx.nil? ? 0 : (colx.to_i / 64)
@collide_height = coly.nil? ? 0 : (coly.to_i / 32 - 1)
list_index = @list.size if @collide_width != 32 || @collide_height != 32
list_index += 1
end
end
def pos?(x,y)
x.between?(@x - @collide_width, @x + @collide_width) &&
y.between?(@y - @collide_height, @y)
end
end
You would then just add to an event's Comment Tags this,
<collision: x,y>
Which does seem to allow me to interact with larger than life events, and be able to determine correct collision for these events. So, with that being said, when an event is on the same 'level' as a character, their BASE can effectively be have action start, collision , while still giving the freedom to be on a lower Y and end up BEHIND the event, or on a higher Y and be in front of the creature.
But, since I don't want to have to create a note tag each and every time I place a pine tree on the map I created...
Utility Placeholder Maps!
“You going to add notetags to a hundred events?”
From enemies to happy little trees, from mining nodules to specific NPC types like inns and shopkeepers, I wanted to have a place to reference them, so that I could just copy the event to the map from the utility map. I also made it so that most Utility maps have a Parallax and/or Tileset, so that I can see the actual event (size and appearance) before placing it on the map.
I then create all the necessary notetags for those events, and when I need a group of cedar trees for a map, I can just copy and paste. When I need a glob of gold ore, I just drag and drop, and if I need anything as far as complex “Run after the character” or otherwise, I get the ability to just drop it into the map quick and painlessly, once. Now about that layer priority!
Layer Priorities
“VX Ace Mapping sucks, I like layers.”
As A3 and A4 typically are meant for walls with the addition of horizontal roofs, this is perfect for the little 1x1 tile character, without much need for anything else in a blocky world. However, I'm wanting Angled roofs, I'm wanting towers, I'm wanting ziggurats of awesomeness. This is why I've basically said that most of my B-E should actually be OVERLAY or LARGE interactive ITEMS. These are items that will either always be out of the character's way, or if collided with, and aren't events, can just be there and look pretty. The B-E tilesets are all set to be at the same layer so if you consider that with the exception of the first tile (and if you use custom shadows, possibly the first row of eight on the left hand side, you still have a 512x512 tileset for each of the four tile groups. This means, if it was an RMXP tileset, and we dropped out the first row of each one of these we'd still have a RMXP tileset of
256 x 3952, more than enough for any one map's tileset. With that being said, I will probably devote a couple of tilesets to different angles and uses of thatch roofs and shingled roofs, and then maybe something for curved walls, corners, and if I don't want to event certain overhangs like plant boxes hanging off the sides, or overhangs, I can place it on tileset E. If any of these overhangs overlap, of course I can still event any of those tilesets for that extra 'third layer' of overlay.
A million and one maps? Surely not, right?
“You should never need more than 999 maps”
Okay, I wanted my world to be HUGE, I mean really HUGE, but as I am going to be concetrating on using events in a lot of my mapping, I knew that each area map couldn't BE that huge. Luckily for me, I think I will be able to enjoy the ability to use “Map folders” to dramatically increase my mapping areas. I will probably devote a group of 100 maps to any given location, area, and when needing to go between different folders, I simply use that intermediary. A location map on my atlas for instance may reference a location in 'folder_004' which then goes to that folder for the data on that map. Now, granted, I'll still have to have all the utility maps and items still referenced in each 'folder' but the data itself, will be changed mainly on the maps section.
This way, I can still have all the stuff from the regular game, sharing data between folders on the fly, and completely bypass the 999 maps limit. I feel confident that there is NO area on my world that would require more than 100 maps, and I can use more of my UTILITY maps to Right Shift Click and Left Shift paste specifc map 'puzzle pieces' in a way to create maps on the fly, and then populate each map accordingly.
ALTERNATIVE: I can still use HUGE maps, 500x500, and only mimic the understanding that 100x 100 is the max size for a map, this way, if I need 25 little rooms or hallways that seperate one or two main chambers for my maps, I can do so and effectively turn a 25 map dungeon into a 2-3 map dungeon... The reason I say 2 or 3, is because in your typical cave, you might have different parallaxes depending on how deep you are. (For instance, the top most layers might be lava tubes, while the bottom most layer might actually be the lava itself.)
Location, Location, Location...
“Your world looks massive, I'd hate to be the one to have to map all that out for the in-game maps”
I wanted to have a little bit of a fell of overland movement, without the attempt to actually great miles and miles worth of maps for each section, so I created a large location map, of the entirety of the game-world, with each location set to be explorered by clocking on it with your mouse. This mode is much like Skyrim's Fast Travel device. However, and this is often the case with most open World RPGs... people expect to be able to run through every INCH of a terrain, and this simply is not necessary. Think of a spiderweb: the web itself might cover feet, but if you roll it up, you can usually fit it into the palm of your hand. In order to minimize the amount of maps, and definitely NOT have every inch of my world mapped out, I created path-maps that, while not being the whole predefined 'stuck in a hallway, go forward or go back' stands as a way to get form point A to point B the LONG way, and opens into other location maps or discovered locations. This way, my players can still 'explore' the world while not just wandering across vast expanses of areas that would be devoid of a lot of events as my mapping system may be event-heavy.
Look ma! No hands!
“Mouse interaction is cool, at least until we can touch screen everything.”
In my efforts to have no keyboard keys whatsoever, I am coming close and closer to a fully mouse-controlled game. I still need to work on some L and R features in the menus, as well as some other functions on map but, for now, all windows are working fine. I also decided to utilize Falcao's Mouse Buttons to create Hud-like icons on the screen to get the player wherever he may need to go.
Heroes of Roguehaven!
“I think you have too MANY people. It's hard to story arc with 80 people isn't it? “
And finally, I believe I may have the field of finalists for the main heroes of my game narrowed down to the eight characters that I want to be able to start coding the start stories to Paragons. These characters or their revisions have been played characters and NPCs in countless RPG adventures throughout an almost decade and a half of playing table-top games, so the storylines are definitely there. Only thing is storyboarding the actual scenes for this particular chapter, with a basis on one of my more recent campaigns. I also have a playing field of at least 12 others to join up with the party at varying intervals, and my main court of bad guys to cause panic and mayhen wherever they arrive.
Monsters University!
“You should have monster levels”
While I agree, I realized quickly that I would need to increase DRAMATICALLY the number of slots I have available for my monsters to ensure that variations of Hit points and powers are utilized for the nearly 200 different monsters in the game. I couldn't be happier with the way these guys turns out so far. And will be working tirelessly to convert their battlers to mini-battlers for the animated battler scripts already in place in my game
BLOG: JayVinci.blogspot.com
FORUM COMING SOON
Currently working on:
Ambitions: RPG Developer Bakin
Heart of Vox: RPG Developer Bakin