Showing posts with label Graphics. Show all posts
Showing posts with label Graphics. Show all posts

Friday, December 13, 2019

Bomberman Selection Korean selected for a Game Boy Color re-release?

Hudson, a now defunct videogame developer best known for their Bomberman and Mario Party spin-offs, and least known by their Same Game series of games released a few compilations covering and combining their past titles into a single game. Why is this interesting? Well, because one of compilations is probably one of the most obscure re-releases of a videogame since it is more of a downgrade than the usual instance where game developers add more features. While they do just that, they actually remove an entire game, and ultimately select the lesser-great versions of one of the included games in the process. This hasty decision makes it an almost completely pointless release (or re-release?) of an already existing compilation in a very short time apart from the original, Bomberman Collection.

First, let's start off by explaining the history of the Game Boy Bomberman games. Bomber Boy was originally released on 08/31/90 for the Japanese market, sometime in 1991 for the rest of Asia, later as Atomic Punk for the US in October 1991, and Europe received the game titled Dynablaster in 1991.

Bomber Boy is your standard Bomberman Game where you move on a birds' eye grid, place a bomb near stationary structures and moving enemies to blow them up retreiving powerups such as a higher blast radius, remote control detonators for button controlled explosions, bomb kicks, skull viruses that can either hinder the players progress by inverting their controls, disabling their ability to lay bombs, impeding their movement making them vulnerable and other effects, or causing them to speed up. In rare cases this could actually provide an advantage to the infected player. Be ware! touching other players will transmit the effects to them, offering the multiplayer battles an insane turn in either direction for all players. A port of the original Bomberman for the NES was included for good measure and offers passwords and the ability continue after a game over. The highlight of the Bomberman games was the local multiplayer deathmatches which was only achieved via the erroneous, timing sensitive Game Boy link cable. Good luck!

Later releases spanning different consoles offered slightly different gameplay modes, but overall the core gameplay remained the same; the Sega Saturn version even offered new mechanics such as interactive stage effects ranging from spotlights that only showed the players position and a very small window around them, affected controls by pressing switches by walking over the ground are just a few examples. The Sega Saturn version featured animal companions for various protections and abilities, and the now-defunct Netlink service which allowed dial-up competitive deathmatches!

Bomberman GB2 was released for the Game Boy in 1994 initially only offering the ability to play as the white bomber hero, then when Hudson partnered with Nintendo, they added Wario to mix. Bomberman GB2 is curious because it was the first game to use the Super Game Boy's internal SOUND functions for enhanced explosion sound effects and a few others in certain situations, and the game also setup and allowed for up to four local players to compete with each other without needing a Game Boy link cable as long as they had access to a SNES Multitap accessory. The drawback is the small screen area and that all players always had to be visible on screen at all times, something that the console versions worked around by using smaller sprites and landscapes. Bomberman Pocket also supported both features, which was unfortunate a rarity at best when it came to other games.

Pocket Bomberman was originally released in monochrome in Europe and it did not offer any other Super Game Boy features aside from palettes and a few display borders that changed based on game modes, no enhanced internal SOUND functions or multiplayer battles. Later, it was released for the Game Boy Color with no upgrades aside from the expanded palette for the system. Curiously, the original European version does actually load a pre-defined palette scheme if played using a Game Boy Color. Only games released in which Nintendo either published, developed directly or as a second party received special palettes if a button was not pressed when booting up.

Bomberman 3 was the last entry in the series and is a Japanese exclusive and was offered in standard and interestingly as a Nintendo Power GB Memory flash cart title. The game is exactly as you would expect from a Bomberman title without the multiplayer staple, and strangely Hudson forgot to add the Super Game Boy SOUND effects this time around. Interestingly, the game does setup MLT_REQ 03 signifying it does internally support up to four players via aforementioned SNES multitap and controllers, so, it was an early idea? Just for clarification, the original NES Bomberman and all sequential ports including the Game Boy Advance Classic NES Series also plays a DPCM explosion sound sample in their various emulated forms. Time trials and score attack and hidden boss attack modes are offered in this version, I guess as a bonus. In this installment you acquire powerups by buying them in shops. Bomberman 3 is a solid game that does have several missing features and feels very incomplete overall unpolished in contrast to the earlier games. Was it rushed? No clue but I am curious about the omissions.

Hudson released two Bomberman compilations for the Game Boy, and in a metallic tin case (hope I won't be afflicted with tetanus from handling my very slightly rusty Bomberman Collection videogame on extremely rare occasions), which was not really ideal unless you keep it on your shelf forever. The compilation includes Bomber boy, Bomberman GB and Bomberman GB 2 with no changes made except that it uses the memory mapper MCB1M. Here is an oversimplified explanation: the chip allows multiple banks of games to be stored in and swapped out of the consoles RAM than normally accessible by the 32kb and 64kb limitations. Bomberman Selection also relies on the same mapper.

Bomberman Selection is where things take a strange turn. For some inexplicable reason Hudson not only released Bomberman Collection in Korea only, they decided to remove Bomberman GB2 and downgrade Bomberman GB to the original version not including Wario, and lastly they released the game so it was only compatible with the Game Boy Color which is ridiculous because all of the games were not designed for the Game Boy Color at all. This was unnecessary and likely hurt sales of this collection. Interestingly, Super Game Boy borders and all other assets were deleted from the games that originally supported them leaving the space where they would have been completely empty and not used for additional space. This extra space was not used to map out the new palette assignment banks for the Game Boy Color, as you would imagine or expect making this more of a curiosity at best. The game select menu does contain its original Super Game Boy assets but the code to access and load them was removed and changed deliberately instead of actually deleting the files as they did with the games themselves. I actually took the time to restore the leftover menu Super Game Boy support. Here is my quote from Twitter:

"https://gamehacking.org/vb/forum/video-game-hacking-and-development/hacker-threads/13028-nensondubois-codes/page65#post207018 - Bomberman Selection Korea actually does contain the leftover Super Game Boy prg from Bomberman Selection, which was released earlier. Video soon. The SGB from Bomberman GB2 actually was removed; SOUND, border, PAL_SET does not exist in the GBC ROM.

Code is long but I took assembly shortcuts to cut down, which took 3 minutes, plus 22 or so to manually write down. Enable leftover Super Game Boy support from Bomberman Collection. Bomerman GB2 / Wario Blast Featuring Bomberman does not actually load commands after "MLT_REQ 00"

A lot of header information was changed per game. The sound test does work in Bomber Boy as well in DMG, SGB and CGB modes."

031-46F-E6A
037-13F-E62
F59-0EF-3B6
F09-0FF-196
919-10F-C4D
B79-11F-195
289-12F-195
F19-14F-195
379-15F-195
C99-16F-195
3E9-E5F-5D4
E49-E6F-6E9
E09-E7F-E63
479-E8F-6E9
219-F2F-192
009-F3F-E68
989-F4F-F72
119-F5F-B3A
0C9-F6F-6E2
009-F7F-19A
0E9-F8F-F7E
0D9-F9F-6EA
3E9-FAF-E66
809-FBF-80E
069-FCF-D5E
149-FDF-6EA
229-FEF-19D
3C9-FFF-085
05A-00F-C4D
20A-01F-195
FBA-02F-195
19A-03F-195
0DA-04F-195
20A-05F-195
F5A-06F-195
FBA-07F-195
C9A-08F-195
018-D4E-A2E
Load the unused Super Game Boy border from Same Game
D1E-80F-C40
"

So, in conclusion, Bomberman Selection is a novelty more than just a curiosity at this point with all the strange development choices.


Tuesday, May 14, 2019

Shades of blue and a hidden, broken pixel that can be fixed in Soukoban Densetsu - Hikari to Yami no Kun

Let's push some boxes... err words around because it's time for another entry!
Soukoban in case you're unfamiliar, is a classic game where you walk behind boxes and shove them around a mostly enclosed area or a maze while avoiding the prospect of being trapped into unsolvable puzzles or situations forcing you to restart the area from the start.
The game was ported to numerous consoles including two Japanese versions for both the Japanese Super Nintendo / Famicom Sega Genesis / MegaDrive, and even made its way into Deadly Premonition (hahaha we will get to this game eventually!) as a sidequest for unlocking higher tier items in the general store.
First, let's start off with exploring a few unused graphical assets in this game for the sake of some box madness (ok, I should probably stop now.)
First is an unused palette for the Super Game Boy that matches the border palette. Normally it is a variation of black and white contrasts but the game's developers programmed a blue-red brownish setting but decided against using it in the game most likely because they felt it didn't show off the user's border palette creation properties as well as it was intended. This is the only game that offers a border that is centered around using system palette 0 allowing the user to set up the border to display a palette of their choosing. I guess they chose a black and white palette for the final because it makes your custom palettes stand out and they wanted focus on that feature? They could have given the option to switch between the two but that was probably more work than the developers wanted to invest, or it just wasn't a consideration at all.
Unfortunately there are a few issues with using the system palette 0 for this feature and the most notable issue is a developer oversight which I will explain and showcase later.
Load unused Super Game Boy palette
111-31B-6EE
001-3BB-6EA
Here's the lost matching border palette. There's also an oddly matching overlay appearing to fit anywhere. There is also a variation which removes the lowermost 8x8 tilemapping.












Overlaying the game screen with black attributes was not an appropriate choice for this game because the game has too varying a set of levels that would require a lot of time to compensate per puzzle and lots of space in the game's read only memory which was a premium at no less than 1mb for Game Boy Color games. Most interesting is the fact that the game's developers left in remnants from the SDK or library they using. I also found this in numerous other games including the mostly poorly ported Game Boy version Tetris Attack (it has some good music) and B-Daman Fighting Phoenix, a crossover of Bomberman and B-Daman. As you can see, the overlay looks as if it were made to show off either a platforming game or an ourside area where it is viewed from a bird's eye angle.
All that is currently known about the understanding of the SDK from my research is that it is totally unclear where the SDK originated; whether it was developed in house by Nintendo or by a different company altogether during the development of the Super Game Boy to showcase it's enhanced features such as but not limited to a library of built-in sound effects, custom music, and the ill-fated unfinished OBJ_TRN mode which would display 'scrollable' SNES objects on the screen in either 8x8 or 16x16 form overriding the static palette limitations. It is a very early SDK most likely developed in tandem with the Super Game Boy at the time, based on the fact that it has the OBJ_TRN command as C1, which in the final build of the Super Game Boy ends in a ret or return to subroutine so it wasn't implemented, but could still be accessed. I will write about the unfinished display mode at another time. 
 There are other hints that it was an official SDK designed to promote the Super Game Boy such as the "Nintendo" Super Game Boy 'SOUND' listing in the table as well as a default setting for the SNES NMI JUMP and DATA_SND definitions to perform various tasks the user could incorporate into their games on the SNES side allowing better graphics, sounds, music and a more robust interactive multiplayer mode.

The SDK appears in several games in varying revisions to suit the developer's project needs over time. It appears in a wide range of third party company developed games to name a few: Konami and Hudson.












Loads unused palette without modifying ATTR_BLK attributes (attributes black), sets a screen area overlay within specified dimensions.
001-3BB-6EA
What were they testing? This obviously looks like it could have been reserved for the title screen, story captions and cutscenes? There is also a variation which removes the lowermost 8x8 tilemapping.
Lastly, a developer oversight caused a single 8x8 pixel of the border to display an incorrect tilemapping. This renders the whole idea of allowing users to design the custom palette of the game's border. What a shame. Well, sure enough I took the liberty of fixing this issue in a matter of minutes. I fail to see how an important miniscule feature was hindered by a nefarious oversight.











Original post:
 https://twitter.com/nensondubois_/status/891869088988975105

Took 4 minutes. To fix the border, modify 0x01086D to 00 from 0C or via Game Genie code 008-6DB-D5A. The first skull is the only one that fully matches with your custom palette. So, maybe the border's ability to adapt with the player's palette was an afterthought? The skulls actually have an attribute to match the user's palette but it was never implemented.
I also made three more videos but they're lesser interesting as an afterthought. People really seem to love afterthoughts.