Guest User

umipasta

a guest
Feb 15th, 2018
306
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 39.54 KB | None | 0 0
  1. ###Fansite
  2. http://kawasefan.net
  3. Has its own forum and holds a bunch of information regarding the series and is pretty active too
  4.  
  5. ###Prostats
  6. Jumping AFTER you release your lure will make it go higher (see umihara kawase shun tutorial video if confused, its something like level 2 or something when it plays)
  7. If there is a ladder, there is a way without a ladder
  8. All enemies have a predictable pattern (except maybe giant tuna fish?), for example, a frog that hops right one game will hop right the next, and a frog that clips into your fucking geometry will clip again next game!!!!!!!!!!
  9. Almost anything that can hurt you can be eaten, Even the netspawners or barnacles.
  10. Squid ink will force you to walk in the opposite direction you are looking.
  11.  
  12. ###Mapping
  13. It is in its infancy but thanks to collaboration between Karethoth, Nicole, Naulahauta, Commando125, et al. it is possible to make your own fucking levels. This is a major thread for this topic so I will be mirroring information from here;
  14. http://kawasefan.net/forum/index.php?PHPSESSID=b28472e38246cecb2bedacb5beb8957b&topic=13.0
  15.  
  16. Here is a run down how.
  17.  
  18. Download the editing software Riverback (kawa, se);
  19. https://www.dropbox.com/s/4yud3q8albpaydd/Riverback_fix.zip?dl=0
  20. UPDATED 12/18/2017, as far as I know there is a no Zoomed variant anymore
  21.  
  22. And the Japanese Super Famicom game if you haven't already;
  23. http://www.emuparadise.me/Super_Nintendo_Entertainment_System_(SNES)_ROMs/Umihara_Kawase_(Japan)/36209
  24. Pirating is currently the only other way of obtaining this version of the game without buying a physical copy and dumping the rom yourself with expensive equipment. This game is being sold currently on the Steam store but unfortunately not the version needed for this romhack (Super Famicom). Please support them however, you will get; global leaderboards, training mode, and workshop support. There is also less slowdown
  25. http://store.steampowered.com/sub/85452/
  26.  
  27. You will also want LunarIPS, a patching program for Super Nintendo games. This is a necessity because other mods, including mine, require the Umihara Kawase ROM to be patched with the mods .ips files to work. This way the modder does not have to distribute the game with their mod (and is therefore legal).
  28. https://fusoya.eludevisibility.org/lips/
  29.  
  30. If you are interested, texh and I have created a ROM hack titled Uku Umihara Kawase. It is a 24 level megahack featuring no randomly respawning enemies and optional bosses (none are mandatory), which after over a year has finally been completed. Here is it's thread
  31. https://kawasefan.net/forum/index.php?topic=75.0
  32. You will need to patch the SFC ROM with the .ips file found there to play it.
  33.  
  34. ###Basic Riverback controls
  35. Open the editor and then "File", and "Open ROM" pointing to of course the Umihara Kawase ROM.
  36. Once opened it will display the first level on the ROM.
  37. First of all, under the "Show" category, check "Grid". You select tiles/physmaps with left click (and can select multiple by dragging with left click), and then paste with right click.
  38.  
  39. Dragging the mouse on-level shows instant preview of what it would look like if placed.
  40. Air tiles act as "transparent" (maybe this could be changed on context?)
  41.  
  42. Left click: select tile
  43. Left hold: select area
  44. Right click: paste tile/tile cluster
  45. Right hold: "paint" with tile or tile cluster
  46. Wheel click/middle click: de-select
  47.  
  48. ctrl + left/right: Palette
  49. left/right/up/down: Select tile next to the currently selected tile in the tileset
  50. V: vertical flip
  51. H: horizontal flip
  52. O: object priority/draw over
  53. D: deselect
  54. Tab: Switch between editing tilemap and physmap
  55.  
  56. To delete a texture or physmap, select an empty slot in the texture selection section and then draw over the mistake with right click.
  57.  
  58. ###Field
  59. Field are the visuals, the textures, what the players see. There are four major types of textures. Background (darkened), foreground (bright, what you would walk on), overlay (textures that draw over objects, you can walk behind), and animated (any textures in the 7th palette). You can change palette with the "Palette" selector and can flip the textures with the checkboxes. There are 8 palettes that can be accessed by a level at any time, 0 being a monochrome green (i think this is the color the background uses), 1 being a more aesthetic color, and the last 6 palettes are decided by the "Palette indices" section in Level Header Editor, the tab next to Field Display. Each block belongs to their respective palette, the first block being palette 2, the last being palette 7. Your options are 1-9 and A-F (be sure to always click "Apply"), each giving an entirely new pool of colors. Palette 7 will always be animated, this is mainly for escalators but this will animate any texture, beware. There is also an option to change your texture bank, which are entirely different sets of textures, by going into Level Header Editor, choosing a bank, and then clicking "Apply".
  60.  
  61. ###Physmap
  62. Physmap are what gives these textures attributes, like being solid or being able to climb. It has its own tab next to "Field Tiles" and most of it are byte values. If you ever wish to see what bytes the boxes with textures are, because some textures are ambiguous and you might want to see the difference (byte 45 and 47), click the "bytes" checkbox under the "show" section near the top
  63.  
  64. Note, this all is confusing, I really recommend if you don't understand upcoming information to read the thread;
  65. http://kawasefan.net/forum/index.php?PHPSESSID=b28472e38246cecb2bedacb5beb8957b&topic=13.0
  66.  
  67.  
  68. #Physmap bytes
  69. 00: Air
  70.  
  71. 01**: always a word where the first byte implies that an action will happen when the player pushes up and the second byte implies what the action is:
  72. Where ** is:
  73. 00: climb a ladder
  74. 01: enter first door
  75. 02: enter second door
  76. 03: enter third door
  77. 04: enter fourth door
  78. 05-FF: the game will crash
  79. NOTE: There can also be only one door instance (0101 or 0102 etc.) per level or the game will crash.
  80.  
  81. 02** and 03**: always a word where the first byte implies direction and the second byte implies sprite number (up until 06).
  82. 02: sprite is facing left
  83. 03: sprite is facing right
  84. Where ** is:
  85. 00: Player starting position (There can only be one. If there's two instances of 0200 or 0300, the game will crash)
  86. 01: sprite 1
  87. 02: sprite 2
  88. 03: sprite 3
  89. 04: sprite 4
  90. 05: sprite 5
  91. 06: sprite 6
  92.  
  93. 03 07: Spawn-safe area. Enemies killed cannot respawn here. (special case, has nothing to do with sprites or facing left or right)
  94.  
  95. 04: Spawns object in slot 04.
  96.  
  97. 05: Spawns object in slot 05. Or if the field's sprite 05 is a bird, they can land in this spot.
  98. 06: Spawns object in slot 06. Or if the field's sprite 06 is a bird, they can land in this spot.
  99. It would be wise to remember that if you use birds in your levels, set them to slots 05 or 06. Setting them to 02 and 03 will cause a conflict and the game will crash. Note; this will also prevent you from using byte 05 or 06 depending on whichever slot you used for birds to spawn objects.
  100.  
  101. 07: Spawns object in slot 07.
  102.  
  103. #Object values
  104. For object values, there are 7 spots it can go in found on the "level header" page in the editor. Each spot I think affects tiles $01-$07, $39-3F, $41-47 respectively. Some objects like doors don't need to fill an object slot to be used, but those that do need a slot, you will spawn them in with the slot they are in, instead of their byte (so 06 instead of 19 for a collapsing bridge piece as an example). Following some of these bullets are the object slots they can be used in, not comprehensive, there are exceptions and I have not used many, but it is a start
  105.  
  106. 0x00: nothing
  107. 0x04: escalator slow right (animates palette 7)
  108. 0x05: escalator slow left (animates palette 7)
  109. 0x06: escalator fast right (animates palette 7)
  110. 0x07: causes death
  111. 0x08: rising platform series (bank 0) (object slot 6) (I can't get this to work? but byte 26 and 2C will work what the heck) (level 22)
  112. 0x09: falling platform series (bank 0) (object slot 7) (level 22)
  113. 0x0B: pullable/moveable wall (level 37)
  114. 0x0C: door
  115. 0x0E: downward pillar (object slot 5/6) (level 12)
  116. 0x0F: upward pillar (object slot 7) (level 12)
  117. 0x10: pop-out ceiling tile (level 37)
  118. 0x11: pop-out ground tile (level 15)
  119. 0x18: bridge piece
  120. 0x19: bridge piece, collapses when fell/jumped on (will not fall when walked on unless there is at least 1 air block above bridge, so when you walk onto it you fall 1 block down, which will cause it to collapse when "walked" upon) (object slot 6)
  121. 0x20: single platform (bank 0, white)
  122. 0x21: single platform (bank 0, blue)
  123. 0x22: waves can push you on platform $41-$47. slippery.
  124. 0x26: rising platform series (bank 0, blue, way less frequent) (object slot 7) (level 22) (for whatever reason the texture is grayish? it isn't using any active palette as far as i can tell)
  125. 0x28: boss door barricade
  126. 0x29: causes death
  127. 0x2A: ice/glass (level 37)
  128. 0x2B:
  129. 0x2C: rising platform series (bank 4) (object slot 7)
  130. 0x2D: falling platform series (bank 4) (object slot 6)
  131. 0x2E: rising spiked platform series (bank 4)
  132. 0x2F: falling spiked platform series (bank 4)
  133. 0x30: rising platform series (bank 2)
  134. 0x31: falling platform series (bank 2)
  135. 0x32: rising spiked platform series (bank 2)
  136. 0x33: falling spiked platform series (bank 2)
  137. 0x34: single platform (bank 1)
  138. 0x35: single platform (bank 5)
  139. 0x36: rising platform series (bank 1)
  140. 0x37: falling platform series (bank 1)
  141. 0x38: single platform (bank 6)
  142. 0x39: single spiked platform (bank 6)
  143. 0x3A: rising platform series (bank 5)
  144. 0x3B: falling platform series (bank 5)
  145.  
  146. #Word values
  147. Enemy spawn rates (14FF being most common spawns, 7878 being least common behind 0000 which is nothing)
  148.  
  149. 0x0000: nothing
  150. 0x14FF:
  151. 0x1E96:
  152. 0x1EA0:
  153. 0x1EB4:
  154. 0x2864:
  155. 0x2896:
  156. 0x28B4:
  157. 0x3278:
  158. 0x328C:
  159. 0x32B4:
  160. 0x32DC:
  161. 0x3C64:
  162. 0x3C78:
  163. 0x3C96:
  164. 0x3CA0:
  165. 0x3CB4:
  166. 0x3CC8:
  167. 0x3CDC:
  168. 0x4650:
  169. 0x5046:
  170. 0x5050:
  171. 0x5064:
  172. 0x5078:
  173. 0x508C:
  174. 0x5096:
  175. 0x50A0:
  176. 0x50B4:
  177. 0x5A78:
  178. 0x6428:
  179. 0x6464:
  180. 0x648C:
  181. 0x783C:
  182. 0x7864:
  183. 0x7878:
  184.  
  185. #Enemy values
  186. 0x00: nothing
  187. 0x01: "Poof"-sprite, crashes alone
  188. 0x02: "Splash"-sprite, crashes alone
  189. 0x03: net spawner (byte before this is what's dropped)
  190. 0x04: goldfish
  191. 0x05: eel
  192. 0x06: flying clam
  193. 0x07: brown snail
  194. 0x08: bucket, type 1 (byte after this is what's spouted) (always fires)
  195. 0x09: bucket, type 2 (byte after this is what's spouted) (fires only when you are close)
  196. 0x0A: flying fish (for bucket)
  197. 0x0B: small fish (for bucket)
  198. 0x0C: UNUSED. Puffer fish.
  199. 0x0D: blue fish
  200. 0x0E: "Poof"-sprite, crashes alone.
  201. 0x0F: red egg-laying fish
  202. 0x10: shark (byte after is what's thrown)
  203. 0x11: shark bait, also can be on ceiling
  204. 0x12: giant tuna fish
  205. 0x13: squid (horizontal) (byte after this is what's spitted) (level 7)
  206. 0x14: squid (vertical) (byte before this is what's spouted) (level 7)
  207. 0x15: squid ink (level 7)
  208. 0x16: tiny fish in water (decorative)
  209. 0x17: brown bird
  210. 0x18: blue bird (it was also brown when i tried it?)
  211. 0x19: "Poof"-sprite, crashes alone
  212. 0x1A: "Poof"-sprite, crashes alone
  213. 0x0B: "Poof"-sprite, crashes alone
  214. 0x1C: barnacle (ground) (byte after this is what's spitted)
  215. 0x1D: UNUSED. barnacle (vertical) (byte after this is what's spitted)
  216. 0x1E: UNUSED. blue barnacle, spits cannonballs (i cannot get this to work)
  217. 0x1F: barnacle spark
  218. 0x20: UNUSED. blue barnacle (byte after this is what's spouted) (barnacle spark goes through the ground? cannonball?)
  219. 0x21: blue snail
  220. 0x22: UNUSED. octopus (same skin as squid) (fires vertically while on ground as opposed to horizontally) (byte before this is what's spouted)
  221. 0x23: UNUSED. catfish
  222. 0x24: "Poof"-sprite, crashes alone
  223. 0x25: "Poof"-sprite, crashes alone
  224. 0x26: "Poof"-sprite, crashes alone
  225. 0x27: "Poof"-sprite, crashes alone
  226. 0x28: "Poof"-sprite, crashes alone
  227. 0x29: "Poof"-sprite, crashes alone
  228. 0x2A: "Poof"-sprite, crashes alone
  229. 0x2B: "Poof"-sprite, crashes alone
  230. 0x2C: "Poof"-sprite, crashes alone
  231. 0x2D: "Poof"-sprite, crashes alone
  232. 0x2E: "Poof"-sprite, crashes alone
  233. 0x2F: backpack (1-up)
  234. 0x30: giant tadpole (boss) (put 0x31 and 0x36 after this)
  235. 0x31: frog (for boss)
  236. 0x32: giant seahorse (boss, enemy #3) (put 0x33 and 0x35 before this, 0x34 after this)
  237. 0x33: vertical seahorse (for boss)
  238. 0x34: small seahorse (for boss)
  239. 0x35: giant ink (for boss)
  240. 0x36: frog egg? (for boss)
  241. 0x37: giant crab (boss) (put 0x38 and 0x3D after this)
  242. 0x38: crab's bubble (for boss)
  243. 0x39: tiger flying fish (boss) (put 0x3A after this) (level 61)
  244. 0x3A: tiger flying fish second formation? (boss)
  245. 0x3B: flounder flying fish (boss) (put 0x3C after this) (level 60)
  246. 0x3C: flounder flying fish second formation? (boss)
  247. 0x3D: crab's platform shrapnel (for boss)
  248. 0x3E: "Poof"-sprite, crashes alone
  249. 0x3F: "Poof"-sprite, crashes alone
  250.  
  251. #Notes for enemies
  252. 12 - Giant tuna fish - Does not follow player, flops around if player is close or if it gets hooked but in no particular direction. Is not affected by environmental hazards, for example it will not slide down an ice slope, so if you planned for a tuna palooza it probably wont go as you may have hoped. Stuns on touch. Can't be eaten or stunned
  253. 14 - Vertical squid - Scales vertically, fires horizontally. While mapping you will want whatever he is on at least 6 blocks tall (maybe more for the bottom? read on and make your own decision). He will spawn and work just fine with simply 4, however 2 blocks of his texture will go off the platform and look stupid. The solution is simple, add two additional blocks, but with the first of the two new ones being a byte 48 ground physmap. This physmap is missing a tiny sliver near the bottom, which will act as a barrier of movement for the squid. It wont mess with the hook and make you have to jump through texture hoops or whatever so just draw like it was a full block and enjoy your evil minion no longer making your map look goofy. He also does the same on the bottom but as of writing this for me, for my map, it works fine with just 6 but you may want to sort of trap the squid in with 8 blocks (with the one on the bottom instead being byte 38).
  254. 17/18 - Birbs - Spawned with the 5th and 6th sprite slots, if in the 5th slot it will land anywhere with byte 05. This includes the spawn (for example, 0305 will be a perchable spot). Same for 6th birb. I just threw a shitload in an area at once and it isn't laggy at all, they just fly around, very optimized somehow use liberally. I couldn't get blue birds to spawn though, both bytes give me brown. Can't be killed or stunned or stuck or hooked or fed, may be cute. HAHAHA HOLY FUCK WILL RARELY LAND ON YOU IF STANDING STILL I NEEDED TO WRITE THIS DOWN THAT IS GOLD
  255.  
  256. #Notes for unused enemies
  257. 0C - Puffer fish - Lazily floats in the direction his spawn points him, bobs up and down about a 2 unit vertical variance. Does not go through walls, if it touches a wall it will float up until it hits a ceiling which resets him to moving forward. Will float up even if you physically move him with hook if he touches wall. If it cannot move anymore it will just float into the corner until you are close in which case it turns around. Kills on touch, can be eaten.
  258. 20 - Blue barnacle - The barnacle spark goes through ground, maybe this is the cannonball? Touching cannonball stuns the player, touching the barnacle stuns the player. Must be unstuck before eaten.
  259. 22 - Octopus - Same skin as squid (which is really an octopus, is squid the official name? do octopus even fire ink? what the flipflop this might be another "tadpole spawns frogs" type of fuck), stays on the ground but fires vertically instead of horizontally. He spits the byte after him, assuming squid ink he fires that which will stun the player, touching him will stun. Must be unstuck before eaten.
  260. 23 - Cat fish - Stays in one spot until it sees enemy. If you are close, he will jump very high toward you. If you are hooking around him (maybe the trigger?) he will spit lightning balls that will travel down hook like barnacles. Kills on touch, stuns on lightning contact. Can be eaten
  261.  
  262. #Unused behavior
  263. Enemies who spit bytes can spit ANYTHING, an octopus can spit buckets out which spit out octopus and so on until the game crashes. Would be cool to have barnacles spit out fishes or buckets spitting out enemies like a net spawner.
  264.  
  265. #Notes for bosses
  266. Map may not load with certain object combinations (couldn't get tadpole and falling platforms to work nicely, maybe a mistake on my part? see "game issues" falling platform section, TEST THIS)
  267.  
  268. Tadpole; (TEST DIRECTIONS AGAIN, i am starting to wonder if he would move left if I made his spawn 02, I don't even know if I tested this)
  269. Will only jump to the right
  270. When returning, will always walk to the left (and will not jump at all)
  271. He will only turn around if he jumps into the edge of a level, and will not if for example he touches a wall
  272. When he walks back to the left side he will only stop at an arbitrary distance that needs to be met, not just the end of any platform, otherwise he will walk off the ledge. So if he is walking off, to change this behavior you would need to make the map longer (note, could probably be a pretty fucking cool indiana jones type mechanic if used creatively, maybe spawning on the far right so he immediately touches end of level then walks left, please try)
  273. Also on the fourth loop he will speed up and this can mess up more complex scenarios. To open the barricaded door you will need to ensure 5 successful loops.
  274.  
  275. Crab boss;
  276. This boss is scripted to run through the level in exactly the same way everytime. If you remove the floor he will walk over it, if you remove the platforms he destroyed, he will still destroy it as if it were still there. All you can really do is make new obstacles around this limitation.
  277. If moved vertically, he will remain in this new vertical position so it is possible to move him higher or lower. Maybe some cool cavernous designs are possible.
  278.  
  279. Flying fish;
  280. All you really need to do is place the spawner where you want the enemies to come from, and then place byte 47 on the ground the player needs to walk on for them to spawn. Byte 47 in Riverback is the second slow right escalator sprite, you can see the byte by pressing the check box near the top next to Physmap. You don't want byte 47 on a wall though, as if the player attaches a lure it will wiggle you up and down (byte 47 can be an escalator as well which is why it shares the same texture).
  281. Also if there are enemies beside the flying fish on the map, the flying fish wont spawn until you've killed them all.
  282.  
  283. ###SO, what the fuck does this all mean?
  284. First of all, much of these values now have an icon so you cannot see some numbers in this list (view these by pressing the "Bytes" checkbox near the top of the editor, very useful). Basically these hex values do what you want when you put them places.
  285.  
  286. For example, to make an area spawn safe, so you wont have to worry about enemies spawning in that area, you go to the Physmap Tiles and paste 03 and 07 next to one another (making sure it ends in 07). So 0307.
  287. You can even make it so no enemies randomly spawn at all by just changing the enemy spawn rate to 00 (i know some people really dislike this so I can see a mod taking this behaviour away happening in favor of static enemies)
  288.  
  289. To make a door usable, you would place 0101, first 01 being the instruction to interact with UP DPAD, second 01 being FIRST DOOR.
  290. You can loop levels by pointing a door back to the level you want to loop to, could be useful for exploration like levels with a hub?
  291. To end the game you make a door and point it to field 255, which will roll the credits once the player enters it.
  292.  
  293. However some information requires a 00 at the end, but since all blank areas on the map are technically 00 you don't need to put it. For example, level 0, the spawn area is full of NO SPAWN flags (0307), but immediately above this is 03 by itself. In this case the spawn flag is 0300, 03 itself means face right (02 would be face left, this is for spawn directions). Another example is the ladder, 0100. It is only 01. The point being, give these values an additional space to the right of them instead of putting new values immediately next to one another or this can cause problems.
  294.  
  295. Enemy creation is different, to spawn an enemy in a specific spot to never despawn you need to travel to the tab next to the Field Display section called the Level Header Editor. Enemy types are the numbers corespondent of the list up above, like level 0 enemy types are 04 (goldfish), 07 (brown snail), and 17 (brown birds). What this doesn't show you is these are taking up sprite numbers too. This is how you would choose spawns. 4 is in sprite 1 (the first section of 6), so goldfish will spawn facing left where you would write 0201.
  296.  
  297. But what about other objects? They are spawned with the rest of the slots; 04, 05, 06, and 07. You cannot spawn objects with the first three slots because they are being used for ladders (01) and spawns (02, 03) so these slots are often used for attributes. So if you wanted to spawn a single platform for example, the platform that falls when you put weight on it, put 20 in slot 04 (might work in others?) and then on the actual map just draw 04 (0400 remember that) as long as you want the falling platform to fall. Note however for this specific object type all single platforms of the slot 04 must be the same length, and also the single platforms must not be in the same vertical space or the level will hang.
  298.  
  299. For levels, like level 2, with a tutorial involving an enemy, there has to be an enemy in their slot or the level will hang. It doesn't have to be the original enemy, for example you can replace the eel with a goldfish and it wont break, but I imagine this potentially could if you for example died in the tutorial area.
  300.  
  301. ###Prostratz
  302.  
  303. #Textures
  304. Shading is always done as if the sun was in the top left, the artists designed the textures with this in mind and it wont work if you try the other direction (problems will occur at sides, you would see)
  305. Water is flickery
  306. Anything on the last color palette can potentially be animated, this includes some vegetables
  307. Escalators will move in the direction the black dot is going if that makes sense. If it doesn't,
  308. Escalator directions (facing directions are the escalator's thickest sides);
  309. -facing up, moving right, regular
  310. -facing up, moving left, horizontal flip
  311. -facing down, moving right, vertical flip
  312. -facing down, moving left, vertical and horizontal flip
  313. -facing left, moving up, regular
  314. -facing left, moving down, vertical flip
  315. -facing right, moving up, vertical and horizontal flip
  316. -facing right, moving down, horizontal and vertical flip
  317. -corners have what appears to be tiny arrows pointing in the direction they are going
  318. There are subtle differences between the squares on each side but the original game never rotates them so it is up to you, top is moving right, bottom is moving left
  319. Escalator tract with thinner strips is visually slower
  320. If the thin strips aren't visually slow and look fast as fuck, on the Level Header Editor tab change the seventh Object Type slot to 4 (like in level 0) and use physmap byte 47 (texture is also escalator slow right). This seems to have fixed my problem
  321. Objects such as enemies spawning in from the netspawner or falling platforms, will visually overlap other textures above the spawner or below the despawn. You don't want that, so you can hide this with the "draw over objects" attribute on the textures above the spawner, or below the despawn point
  322.  
  323. #My observations with how the developers handled textures
  324. Backgrounds are very often complimentary to foreground textures and are often touching the floors and walls (1, )
  325. Otherwise they are used for visual cues for secrets (9, )
  326. The platforms are most commonly 4 or 6 sided shapes, while rarely being larger than 8 sides. If longer than 8 there are commonly textures that look closer to the screen.
  327. Graphics bank traits;
  328. -graphics bank 1 always has big background blocks, rarely more than 6 sides, can fill entire rooms
  329. -graphics bank 4 is school related stuff, seemed obvious but I never really realized it until now what the heck a lot of this stuff was
  330. -graphics bank 6 best look uses many smaller blocks to make up geometry (45, ), usually bigger blocks however (and i know why because its a pain in the ass a lot of love went into 45). 6 sided shapes are most common, 8 sided shapes are not uncommon, slopes are rare, surreal canned goods theme. unused textures are salon products. Fish is good for your hair?
  331. -graphics bank 5 big arse blocks, strange urban theme. backgrounds do follow a rather complex pattern but it only matters what collumn the textures are in not row (as it will always line up left to right if it is the right collumn)
  332.  
  333. #Physmap
  334. Always press apply after you've changed something on the Level Header Editor tab, and THEN press save.
  335. The lower water height or spawn rate numbers are, the higher they are (0 water covering half the map, and enemy spawn 14FF covering the WHOLE map). 0 enemy spawn really is 0 though.
  336. If your map doesn't load, it is always something relating to physmap.
  337. Many physmap tiles aren't actually used for anything at all.
  338. Objects such as escalators and spikes must be referenced in the object types section under Level Header Editor (check official maps for some great references)
  339. The higher an enemy spawns, the longer he takes to hit the ground
  340. The earlier an object fills a slot, the higher it will visually be, as in it will overlap any other objects that come after it. An example would be if you wanted a boss barrier to be obscured by a falling pillar you would want to have the falling pillar in an earlier slot.
  341.  
  342. #Music
  343. Songs in the vanilla game corelate with the texture bank used. Listed below will be the vanilla usage of songs for reference.
  344. 1 - Graphics bank 1
  345. 2 - Graphics bank 2
  346. 3 - Game over (does not repeat, will be completely silent after the jingle, perfect for unsettling maps)
  347. 4 - Graphics bank 0
  348. 5 - Title screen (does not repeat, will be completely silent after the jingle, cannot think of a good usage)
  349. 6 - Graphics bank 6 (fits well with everything)
  350. 7 - Graphics bank 4
  351. 8 - Graphics bank 5 (fits well with everything)
  352.  
  353. #My observations concerning their level design
  354. Escalators end at a corner
  355. Platforms are almost always at least 3 units thick
  356. If there is a big empty space in the middle, try to fill it up with platforms and design the level around it. What works best is if the player always sees a bunch of things going on ingame. Use up all free space you can for best results
  357.  
  358. ###Lag
  359. I have no intention of keeping my maps vanilla-like since I am not using randomly spawning enemies. I plan on using as many enemies as I can without slowdown being unbearable. I have determined that;
  360. You don't want more than 8 enemies on a map, it is playable but you will experience lag as soon as you use your hook. Maybe more could be used in a section you didn't feel like the player would use a hook? Make no mistake though, in a room with 8 enemies it will not be too laggy, but as soon as an eel fires an acorn it will be drawing 9 sprites at once and will be just that much laggier while using the hook. Each piece of the hook must be taking up a sprite slot itself too, meaning potentially maybe something like 24 enemies is feasible so long as for some reason the player didn't use their hook. (muhhahahahahhaha)
  361. I have tried this and it works, however you will never want more than 8 enemies ON SCREEN at any time for it will crash.
  362. The longer an object is the more laggy it is (a long falling pillar for example, it will visibly slow down near the end in a room with 8 goldfish(it's sprite also crashes near the end, maybe it just isn't supposed to be that long)). This is also true for the hook, if you notice in game it will actually slow down more often if your hook is really long. This is probably why it snaps if it gets too long.
  363. Sprites of the same type share frames which is why they flicker, like Megaman. However unlike Megaman, this attribute is not found in more important sprites like enemies themselves and moving objects like the falling pillar. This behavior can be observed in sprites like the ink and most obviously water. This is lag prevention, so therefore 6 ink splotches will be just as laggy as 1 ink splotch but be much harder to see, since it is only really drawing 1 ink splotch a frame. (note this is also why while recording its likely nobody else can see the ink, it is a 60 fps game and you are probably broadcasting at 30 fps which is catching every frame the splotch isn't being drawn)
  364.  
  365. ###Basic stats (counting from the block from the floor the character stands on to where the player makes contact, probably not accurate)
  366. Is 4 blocks tall
  367. Can jump up 4 blocks high (without climbing)
  368. Can climb up to 6 blocks high
  369. Can jump up to 8 blocks across, climb or otherwise, providing both platforms were on the same level
  370. Without having to climb she can fling herself 12 blocks and continue this speed indefinitely
  371. She can fling herself 14 blocks (hooking the ground immediately beneath, pulling back, run and release)
  372. Her hook can reach 17 blocks high
  373. Her hook can reach 19 blocks high if she jumps mid execution
  374. Her hook can reach 16 blocks from either left or right
  375. Her hook can reach 14 blocks down
  376.  
  377. #Visibility
  378. From spawn point unit, not counting spawn point unit (so one over from the spawn point)
  379. 16 1/2 left (sometimes 16?)
  380. 16 1/2 right (also sometimes 16? where does the other go? maybe miscount)
  381. 13 1/2 top
  382. 13 1/2 bottom
  383. If holding left or right shoulder buttons you will gain an additional 10 units of visibility, so 26 - 26 1/2 units of visibility. When released there will also be an increased passive view distance in that direction by 2 units. Same for start except this allows vertical view altering vertical view distance by 9 units, so 22 1/2 units of visibility, and passively increasing this distance by 2 units. So, adding the vertical (45 units) and horizontal sections (52 - 53(?) units) together, and then multiplying these two numbers together, at any time the player can view 2340 - 2385 total map units at any given time.
  384. In a level, horizontally there are 64 units, vertically there are 64 units. Combined a level only contains 4096 units, so at any time provided they actually bother to look a player can see half the level.
  385.  
  386. ###Troubleshooting, quirks, problems, inconveniences, list of crap I feel like should be mentioned for whatever reason
  387.  
  388. #Game
  389. There are certain levels that don't exist and will just be level 0 repeated over again.
  390. For some reason levels wont load with certain enemy combinations. When you use the catfish (23) you will only be able to have one additional enemy. Don't know about enemies that spit bytes, but you cant have an additional eel AND goldfish for example.
  391. More than one player spawn, doors with the same numbers, and enemies spawning too close to the ground will crash the game.
  392. If there is an enemy in the starting tutorial graphic (second field in the game for example) there NEEDS to be an enemy in that slot. Doesn't have to be the original enemy, but this could introduce funny problems.
  393. Make sure enemy and player spawns are at least 2 blocks above the ground or they will either not spawn or will spawn stuck in the ground.
  394. A broken bridge can be walked through as if it didn't exist, but can be used for swinging
  395. All single platforms of a certain type are linked, and must be the same length or the game will crash.
  396. --All of the single platforms are linked together. When you step on one platform, all of the platforms of that type fall down as well (see field #11). A requirement of this is for all of the platforms to have the same vertical length (the same # of 0x07's vertically). If one of the platforms has an incorrect vertical length from the other platforms, the field will crash. To overcome some of these limitations, use the other platform type: 0x20. The platforms for type 0x20 also link together. It might be possible to move 0x21 to object slot 5 and 0x20 to object slot 4. That should let you keep the escalator object type. As far as I know, only graphics bank 0 has two graphic types for a single platform. (TEST IF THIS IS CASE WITH OTHER MOVING ITEMS? make comprehensive)
  397. Moving platforms cannot be in the same vertical space as another moving platform
  398. (TRY SIMPLY EXPORTING LEVEL AND REIMPORTING? PROBABLY FIXES THIS. TO ADD ON A RIVERBACK FIX ALSO MIGHT HAVE PERMANENTLY FIXED THIS, UPDATE) Certain textures must be present if others are or the level will turn out corrupted looking. It will work when you fix or remove the texture, I know it happens on a few cosmetic things (like the clear ruler on graphics bank 4, i dont know what causes the problem specifically)
  399. (TRY SIMPLY EXPORTING LEVEL AND REIMPORTING? PROBABLY FIXES THIS. TO ADD ON A RIVERBACK FIX ALSO MIGHT HAVE PERMANENTLY FIXED THIS, UPDATE) Certain physmap seems like it must exist, it is either a physmap or texture error. For example, if you make a ladder which doesn't have 01 at the top, and also don't have the top two bars of the ladder to make it seem broken (you wouldn't be able to press down to move down is what i had intended) graphically it would also be fucked up. But for whatever reason without the 01 on top or the top two textures is fine if it goes out the ceiling? Perhaps the platform inbetween is the key?
  400. If you hook an enemy and the floor at the exact same time the game will freeze (maybe only happens with the unused blowfish enemy?). Happens in a scenario such as the blowfish scaling up a wall and you try to hook him to the southeast over a corner while he is actually touching the corner
  401. In the vanilla game, above and below rising/falling platforms are the physmap bytes 38 and 48. I didn't understand why until now, without bytes 38/48, if you hook between one of these objects and the floor/ceiling, and the platform moves into your hook the game will crash. With byte 38/48 there is a little sliver for the hook to remain which just prevents a crash (also teleports the hook if it gets trapped but that is better than a fucking crash)
  402. Fast right escalator doesn't use the fast right looking physmap, it also uses the same physmap bytes as normal escalator right (so the fast right physmap is useless as far as I can tell)
  403. Spawner enemies such as the net and bucket do not fire in the direction you face them with 02 or 03, but always fire the direction the player is respective to them.
  404. If you play for 30 minutes straight, supposedly you will go to some specific level in the game. In Uku the level it sends you was intended to be an alternate ending, I cannot really hide it anymore. On the final level of Uku if you kill all enemies and run atop specific floors a miniboss will spawn. If you defeat this boss a boss barricade found near the spawn will disappear and you can get the true ending. This 30 minute exploit will be patched out in 1.5 but know this is a feature of the game and you somehow have to work around it. Note, can be hex edited out
  405. Alc, Naulahauta, Princess Sevenleaf - "The offset you're looking for is 0x69AD, and the values there, CE 52 02, are the decrement function of the 30 minute rule. Change to EA EA EA to disable the 30 minute rule.
  406. To do this in HxD (a hex editor, download it), open the ROM, click "search" -> "goto" and type in 0x69AD. You'll see CE 52 02. Type EA EA EA over them (do not insert new characters; change the existing ones)."
  407.  
  408. #Editor
  409. You cannot preview where you will paste things you have copied on the field display (left click drag + right click). However, I have learned it will always paste from the topleft no matter how you select it.
  410. You cannot select more than one texture at a time in the Field Tiles section
  411. There is no fast left escalator (game issue?)
  412. Physmap bytes 45 and 47 share graphics but don't (always) do the same thing, both can be used as escalators, but byte 47 will trigger school of fish boss. Not really an error, cannot imagine a more appropriate texture just worth mentioning
  413. Level Timer section of Level Header Editor says it is in seconds but is not correct, 1280 for example is 5 minutes
  414.  
  415. #Operating system errors
  416. Windows;
  417. -Every time you change levels or texture palette it will slightly hang
  418. -On Windows 7 if you use an aero theme and open Riverback it will switch you to a basic theme.
  419. Linux (assuming mono and not .net in WINE);
  420. -All textures with transparency will have fucked up backgrounds. This however can be a very positive thing if you are looking for tiny errors as it will basically highlight them. I have discovered many tiny, pixel sized bugs because of this so is definitely worth mentioning, and utilizing if you want to.
  421. -Will hang if you turn on grid but not when turning it off
  422. -Textures on the Field Tiles section will be filtered, looks blurry as fuck
  423. -Scrollwheels don't work, need to use the scroll wheel
  424.  
  425. #Things I want in the editor. Just a compilation, I would like to learn how to implement these myself
  426. Ctrl+click select for the Field Tiles selector and Field Display.
  427. Ctrl+z undo
  428. "fill with tile" tool (but only if an undo button is added)
  429. Ctrl+x cut tool for selected areas as opposed to always copying
  430. Allow "painting" with tiles selected from the field display (how it works now is that you can copy and paste field tiles but only one at a time rather than being able to hold down right click as you can from the field tiles section)
  431.  
  432. In the file menu, much further separate "Save level to ROM" and "Export level". No I have never done it, but its scaring the shit out of me every time.
  433. Rename Save level to ROM to Save As or something, it sounds like I am exporting level and again scaring the shit out of me at this point.
  434. Add palette numbers above the Palette indices area on the Level Header Editor tab (first slot is palette 2 for example)
  435. Add annoying prompt for Clear Indices
  436. Favorites tab for tiles, to have it always select certain index tiles on a texture bank
  437. Automatically export and import individual maps on save (seems like every problem i have is fixed by this simple trick, if done automatically would save a lot of grief) (may not be necessary anymore? the latest riverback fix seems to have fixed the level corruption bug which was when this was relevant)
  438. Bulk export/import option (no longer needed, can use LunarIPS to accomplish this)
  439.  
  440. In top right or wherever, show a zoom in of selected texture much like in the top left but for textures on the field, as well as list the selected texture's attributes such as how it is flipped. Would be useful for analyzing vanilla maps.
  441. On the Field Display add a sprite (like the letter D or something) to drawn over textures to help differentiate which textures are drawing over others. I frequently find spots where drawn over isn't working as intended and only find out ingame (moving platforms phasing through specific tiles for example). Checkbox to enable like for example grid would be preferable.
  442. Add dimensions outside a selected box so I can measure things such as single platform bytes without hand counting.
  443. A square overlay which showed ingame visibility around the area where clicked would be very useful
  444. Checkbox shown sprites for spawned objects (03 would show the player, 0203 would show the enemy sprite in slot 3, etc), water, background
  445. Reduce texture size of physmap tiles by one unit on each side/add see through x on the textures, somthing etc so you can see outlines of the textures beneath them while showing physmap
  446. Checkbox to deliberately fuck up transparency. Listed above under #Game I discovered a bug in mono on Linux while running Riverback, transparency is fucked up. However this made it easy as pie to find bugs (as the only bugs that are actually hard to find happen to utilize transparency). Having this as a feature rather than a bug would be useful for Windows users especially
  447.  
  448. Add rescaling to the program along with scaling to window size so I don't need Riverback Zoomed
  449. Alternatively an updated Riverback Zoomed as the old version is depecated
  450.  
  451. ###Last paste
  452. https://pastebin.com/e7aXAVK6
Add Comment
Please, Sign In to add comment