<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Get Info: #birthday</title>
    <description>Posts tagged “birthday” — Blog of independent game and app developer Matt Sephton. Featuring vintage Macintosh, game development, digital artwork, Japanese esoterica, video game reviews, hacks and tips, and much more.</description>
    <link>https://blog.gingerbeardman.com/tag/birthday/</link>
    <atom:link href="https://blog.gingerbeardman.com/tag/birthday/index.xml" rel="self" type="application/rss+xml"/>
    <pubDate>Mon, 06 Jul 2026 14:37:40 +0000</pubDate>
    <lastBuildDate>Mon, 06 Jul 2026 14:37:40 +0000</lastBuildDate>
    <generator>Jekyll v4.4.1</generator>

    
      
        <item>
          <title>See the sky: Thoru Yamamoto’s Christmas story, for Playdate</title>
          <description>&lt;p&gt;&lt;em&gt;Thoru Yamamoto&lt;/em&gt; (Japanese: 山本徹 or とーるやまもと), born 1955, is a Japanese multimedia artist. Over the years he has released work in many formats including, but not limited to: magazine illustrations, HyperCard decks, interactive CD-ROMs, printed books, websites, digital stickers, and videos. He is perhaps best known for his story books distributed as HyperCard stacks and his unique 1-bit art taking advantage of the limitation imposed by early Apple Macintosh computers.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;See the sky&lt;/em&gt; is one such story book, a Christmas present released in October 1992 as a series of HyperCard stacks. In 1996 it was re-released in a remastered form: as an interactive CD-ROM, produced using Macromedia Director, which added ambient music and navigation to the original images. Also released in 1996 was &lt;a href=&quot;https://twitter.com/gingerbeardman/status/1582466068517310465&quot;&gt;a printed book of the story, presented as 3 images per page&lt;/a&gt;. Finally, in 1999 a CD-R of the combined HyperCard stacks was released.&lt;/p&gt;

&lt;h2 id=&quot;a-new-edition-for-2023&quot;&gt;A new edition for 2023&lt;/h2&gt;

&lt;p&gt;I’ve created a new version of &lt;em&gt;See the sky&lt;/em&gt; for &lt;a href=&quot;https://play.date&quot;&gt;Playdate&lt;/a&gt;. The remastering/remaking/porting process was quite involved, so I’d like to detail it in this blog post.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://cdn.gingerbeardman.com/images/posts/thoru-yamamoto-see-the-sky-playdate.gif#playdate&quot; alt=&quot;See the sky&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;extracting-the-original-images&quot;&gt;Extracting the original images&lt;/h2&gt;

&lt;p&gt;I used &lt;a href=&quot;https://github.com/PierreLorenzi/HyperCardPreview&quot;&gt;HyperCardPreview&lt;/a&gt; to export the assets from the original &lt;a href=&quot;https://en.wikipedia.org/wiki/HyperCard&quot;&gt;HyperCard&lt;/a&gt; stack. I did this back in October 2022, and had to use an old MacBook Pro running Mojave to do it.&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;Just today, whilst writing this blog post, I figured out that HyperCardPreview will refuse to open stacks if the app Stacksmith is also present on your Mac!? As soon as I deleted Stacksmith, HyperCardPreview opened the files just fine. It seems to be some sort of issue with them competing for control of the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;com.apple.hypercard.stack&lt;/code&gt; uti. Weird.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Anyway, &lt;em&gt;See the sky&lt;/em&gt; consists of just over 500 full screen card images. For other stacks, you might get a combination of background images and card images that would need re-compositing - it really depends on the stack.&lt;/p&gt;

&lt;p&gt;Thoru told me that when he first started out with HyperCard he wasn’t aware of the benefits of using a common background card and different foreground cards, which is why &lt;em&gt;See the sky&lt;/em&gt; consists of only foreground cards. For this reason it was very difficult for him to upload the files, which were rather large for the time. Later productions would make more effective use of background cards to keep the file size as small as possible.&lt;/p&gt;

&lt;h2 id=&quot;implementing-a-viewer&quot;&gt;Implementing a viewer&lt;/h2&gt;

&lt;p&gt;My way of developing is to think of the goal as clearly as possible, then get something up and working as quickly as possible, and after that iterate and refine until I reach the goal. So it was easy to create a sort of slideshow viewer for the images, keeping track of the current image and allowing navigation forwards and backwards with A and B buttons, loading the next/previous image as required. Pretty quickly it became apparent that I could not simply display each screen centred as important content would frequently be out of view.&lt;/p&gt;

&lt;h2 id=&quot;adjusting-each-screen&quot;&gt;Adjusting each screen&lt;/h2&gt;

&lt;p&gt;So I added a table to store offsets for each screen. But defining these manually would be very time consuming so I set about creating an interactive way to do this. I added a debug mode in which I map the d-pad (cursor keys) to move the current image up/down/left/right, along with the ability to save the offsets table to a file. This was a huge productivity boost! But I was still finding it quite a repetitive task, so I added further key mappings so I could use the numbers on the numeric pad of my keyboard to quickly set the offsets for a screen to each of the 8 compass directions, or centred. This increased productivity even more. At this point I found myself setting the same offsets for a screen as the previous screen, so I added to more keys to copy the offset from the previous/following screen. All in all this made setting offsets for 500 screens quick and easy. When I was happy I copied the offset table into the code and that became the default values.&lt;/p&gt;

&lt;p&gt;This is all to say that whilst the original Macintosh resolution of 512×342 does not match the Playdate’s resolution of 400×240, &lt;em&gt;See the sky&lt;/em&gt; still works on Playdate because every screen has been manually repositioned to keep the important elements in view, a process similar to the “pan and scan” adaptation of movies for 4:3 TVs.&lt;/p&gt;

&lt;h2 id=&quot;hypercard-look-and-feel&quot;&gt;HyperCard look and feel&lt;/h2&gt;

&lt;p&gt;The most recognisable feature of many HyperCard stacks are the crossfades between screens. This was essential to the experience. Thoru even took advantage of the crossfade in certain scenes by changing only small elements from screen to screen so that the crossfade turned into a sort of stop-motion animation effect.&lt;/p&gt;

&lt;p&gt;To achieve the crossfade on Playdate I do the following:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;Before the transition I capture the current screen using &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;playdate.graphics.getWorkingImage()&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;Next I make this image into an overlay, in my case I’m assigning it to a “fade” sprite&lt;/li&gt;
  &lt;li&gt;Behind the fade image/sprite I load in the requested next/previous image&lt;/li&gt;
  &lt;li&gt;Finally I use &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;playdate.graphics.image:fadedImage(alpha, Bayer8x8)&lt;/code&gt; to fade out the overlay, which happens over several frames and results in the image becoming more and more transparent, eventually disappearing completely&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;So the crossfade is simply one image fading away and the image behind it slowly being revealed. Magic.&lt;/p&gt;

&lt;p&gt;I also added the ability to have slower or faster crossfades depending on your preference. I do this by adjusting the refresh/frame rate of the game itself, rather than skipping any of the fade.&lt;/p&gt;

&lt;p&gt;The only other feature I needed to add was a flashing capability. This happens at a handful of places in the story to various degrees, mostly there are a few flashes in places but in one places there are 10 flashes. Given that people with photosensitive epilepsy won’t want to see the screen flash I honour the Playdate “reduce flashing” system setting. If the user has that toggled on the story will only flash once at each instance. The speed of the flashing is quite slow, and not tied to the speed of the crossfade.&lt;/p&gt;

&lt;p&gt;Page turn sounds are recordings of the sounds defined in the original HyperCard stack, another essential part of the experience. Thoru describes these sounds as “pipo papo” and that’s how I label it in the settings. I also provide the option to use a more realistic page turn sound, or switch off page turn sounds entirely.&lt;/p&gt;

&lt;h2 id=&quot;chapters&quot;&gt;Chapters&lt;/h2&gt;

&lt;p&gt;I added chapter navigation which unlocks as you go through the story, in a similar way to the 1996 CD-ROM release of &lt;em&gt;See the sky&lt;/em&gt;. This means you can revisit any previous chapter, and once you’ve reached the end of the story you’ll have access to all chapters. If you want to reset that progress, for example to let somebody else enjoy the story from the beginning and remove any temptation for them to skip ahead, you can delete the “game data” through Playdate Settings. Chapter title cards are only shown when using the chapter navigation, and not whilst going through the story, I do this by injecting temporary images into the crossfade system.&lt;/p&gt;

&lt;h2 id=&quot;progress&quot;&gt;Progress&lt;/h2&gt;

&lt;p&gt;I also added a progress bar, shown when you bring up the menu. It’s a vertical bar drawn in the centre of the screen between the menu and faded game image. The bar itself is dithered at 50%, and onto it I draw white markers for each chapter position. The current position is shown by drawing a solid white bar from the bottom of the screen to the current position. This means that the bar “fills” with white from the bottom as you progress through the story.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://cdn.gingerbeardman.com/images/posts/thoru-yamamoto-see-the-sky-playdate.png#playdate&quot; alt=&quot;Progress bar&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;experiments-with-sound&quot;&gt;Experiments with sound&lt;/h2&gt;

&lt;p&gt;The 1996 CD-ROM release of &lt;em&gt;See the sky&lt;/em&gt; has ambient music, but Thoru and myself couldn’t figure out the rights to this so it could not be used. I had done the work, just in case, so I’ll mention it here.&lt;/p&gt;

&lt;p&gt;I &lt;a href=&quot;/2023/08/12/extracting-sounds-from-macromedia-director-files/&quot;&gt;extracted the audio from the Director files using a technique I’ve previously blogged about&lt;/a&gt;. I then converted the audio files to 44.1KHz 16-bit WAV files, and used &lt;a href=&quot;https://www.ocenaudio.com/en/startpage&quot;&gt;Ocen Audio&lt;/a&gt; to remove the base noise from those files. Basically, you select a part of the audio that contains only noise and it removes this from the entire audio file. Doing this without first upsampling the audio meant it did not work as well or at all. After the de-noising, I converted to ADPCM using adpcm-xq which gave files half the original size at higher quality and with lower noise levels.&lt;/p&gt;

&lt;h2 id=&quot;experiments-with-music&quot;&gt;Experiments with music&lt;/h2&gt;

&lt;p&gt;After we realised we would not be able to use the ambient music, I looked at using completely different music, turning to the catalogue of watson @ MusMus. I found a piece of music for each chapter of the story and extracted loops using PyMusicLooper. I then tweaked the loops by adjusting their start point by moving a section of audio from one end to the other so the loop began with the part of the audio I thought sounded best. I use &lt;a href=&quot;https://twistedwave.com&quot;&gt;TwistedWave&lt;/a&gt; for most sound editing like this. Thoru really liked the music itself but was of the opinion that no music would be more honest to the original release. I can’t argue with that reasoning. Feel free to play your own choice of music whilst experiencing the story.&lt;/p&gt;

&lt;h2 id=&quot;optimising-for-size&quot;&gt;Optimising for size&lt;/h2&gt;

&lt;p&gt;The final app binary is tiny but the images are adding up to about 3MB. That’s fine, but I wondered how I might be able to optimise them. I used imagemagick’s montage command to stitch the images together into a grid. In Playdate land we call this an image table, but you might refer to it as a sprite sheet. This reduced the size of 500 separate card images from 3MB to a single image of just 2MB. A nice saving!&lt;/p&gt;

&lt;p&gt;The 500 screen image table occupies 10.5MB RAM, so about two thirds of the available RAM on Playdate. Side-effects of bundling 500 screens as single file are a short delay on loading for users, a short delay on building for me as a developer, and the need to regenerate the single image if any of the images it contains are changed.&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;At this point, I could have stopped. I should have stopped. But, of course, I didn’t.&lt;/p&gt;

  &lt;p&gt;I’ve often wondered how the dimensions of a sprite sheet grid affect the file size when saved as a compressed format such as PNG. The extreme examples in this case would be having a tall grid of 1×504 or a wide grid of 504×1, and in between we have some exact multiples. I generated one sprite sheet for each grid size and here found that for this set of images a grid of 42×12 resulted in the smallest image file size a saving of a further 4% or so. The savings are similar when converted to the Playdate pdt image format. Note that this sort of optimisation only works for solid images, not for images with any alpha/transparency.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;And that’s it. The final size of this new version is smaller than the original, mostly due to the image optimisation. I could make it even smaller by exporting all the final crops of the screen images, create a new image table of those, displaying them with zero offset. But I decided to not go there!&lt;/p&gt;

&lt;h2 id=&quot;the-result&quot;&gt;The result&lt;/h2&gt;

&lt;p&gt;You can download &lt;em&gt;See the sky&lt;/em&gt; for Playdate from my page on itch.io, and it is a free download. A present from Thoru and myself. With best wishes for a Merry Christmas.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://gingerbeardman.itch.io/see-the-sky&quot;&gt;gingerbeardman.itch.io/see-the-sky&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;500 screens&lt;/li&gt;
  &lt;li&gt;10 chapters&lt;/li&gt;
  &lt;li&gt;~ 1 hour experience&lt;/li&gt;
  &lt;li&gt;Quick navigation menu unlocked as you go&lt;/li&gt;
  &lt;li&gt;Position is remembered between launches&lt;/li&gt;
  &lt;li&gt;Settings for sound and crossfade speed&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;credits&quot;&gt;Credits&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;Created by Thoru Yamamoto&lt;/li&gt;
  &lt;li&gt;Edited by Matt Sephton&lt;/li&gt;
  &lt;li&gt;© 1992 Thoru Yamamoto&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;further-reading&quot;&gt;Further reading&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://lostmediawiki.com/Thoru_Yamamoto_works_(partially_found_interactive_media;_1990s)&quot;&gt;Thoru Yamamoto @ Lost Media Wiki&lt;/a&gt; read more about his work&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://archive.org/details/thoru-yamamoto-hypercard-stacks&quot;&gt;Thoru Yamamoto HyperCard Stacks Collection @ archive.org&lt;/a&gt; view the original &lt;em&gt;See the sky&lt;/em&gt; &amp;amp; more&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;birthday-blog-post&quot;&gt;Birthday blog post?&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;Check out my other &lt;a href=&quot;/tag/birthday/&quot;&gt;#birthday&lt;/a&gt; blog posts.&lt;/li&gt;
&lt;/ul&gt;
</description>
          <author>by Matt Sephton</author>
          <pubDate>Sat, 16 Dec 2023 00:00:00 +0000</pubDate>
          <link>https://blog.gingerbeardman.com/2023/12/16/see-the-sky-thoru-yamamoto-christmas-story-for-playdate/</link>
          <guid isPermaLink="true">https://blog.gingerbeardman.com/2023/12/16/see-the-sky-thoru-yamamoto-christmas-story-for-playdate/</guid>
        </item>
      
    
      
        <item>
          <title>Tomoya Ikeda - Macintosh Artist</title>
          <description>&lt;p class=&quot;tofigure&quot;&gt;&lt;img src=&quot;/images/posts/tomoya-ikeda-business-card.jpg&quot; alt=&quot;JPG&quot; title=&quot;Tomoya Ikeda - Macintosh Artist&amp;lt;br&amp;gt;(image:
Junichi Matsuda &amp;lt;a href=&amp;quot;https://twitter.com/mactechlab&amp;quot;&amp;gt;@mactechlab&amp;lt;/a&amp;gt;)&quot; /&gt;&lt;/p&gt;

&lt;h1 id=&quot;contents&quot;&gt;Contents&lt;/h1&gt;
&lt;ol&gt;
  &lt;li&gt;&lt;a href=&quot;#introduction&quot;&gt;Introduction&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#berkeley-systems&quot;&gt;Berkeley Systems&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#enzan-hoshigumi&quot;&gt;Enzan-Hoshigumi&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#macworld-expo&quot;&gt;MacWorld EXPO&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#selected-works&quot;&gt;Selected Works&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#mandala&quot;&gt;Mandala&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#the-life-and-times-of-tomoya-ikeda&quot;&gt;Timeline&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2 id=&quot;introduction&quot;&gt;Introduction&lt;/h2&gt;

&lt;p&gt;Tomoya Ikeda (池田友也) might not be a name you’re familiar with, but if you used a classic Macintosh computer at any time during in the 1990s you’re likely already familiar with some of his work.&lt;/p&gt;

&lt;p class=&quot;tofigure&quot;&gt;&lt;img src=&quot;https://cdn.gingerbeardman.com/images/posts/tomoya-ikeda-after-dark-flying-toasters-bw.png&quot; alt=&quot;PNG&quot; title=&quot;After Dark 2.0: Flying Toasters&quot; /&gt;&lt;/p&gt;

&lt;p class=&quot;tofigure&quot;&gt;&lt;img src=&quot;https://cdn.gingerbeardman.com/images/posts/tomoya-ikeda-after-dark-flying-toasters-about.png&quot; alt=&quot;PNG&quot; title=&quot;Flying Toasters: artwork by Tomoya Ikeda&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;berkeley-systems&quot;&gt;Berkeley Systems&lt;/h2&gt;

&lt;p&gt;Tomoya Ikeda played a key part in the evolution of After Dark’s world famous Flying Toasters. The original prototype artwork was done by Jack Eastman, at which time Ikeda-san was brought in as a contractor to draw the final 1-bit artwork. Later versions of the toasters were drawn in colour by Igor Gasowski and eventually rendered and animated in 3D by Jarir Maani.&lt;/p&gt;

&lt;p class=&quot;tofigure&quot;&gt;&lt;img src=&quot;https://cdn.gingerbeardman.com/images/posts/tomoya-ikeda-after-dark-flying-toasters-proto.png&quot; alt=&quot;PNG&quot; title=&quot;Flying Toasters: prototype artwork by Jack Eastman&quot; /&gt;&lt;/p&gt;

&lt;p class=&quot;tofigure&quot;&gt;&lt;img src=&quot;https://cdn.gingerbeardman.com/images/posts/tomoya-ikeda-after-dark-flying-toasters-color.png&quot; alt=&quot;PNG&quot; title=&quot;Flying Toasters: color artwork by Igor Gasowski&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Tomoya Ikeda also did the artwork for the Fish! screensaver module in Macintosh After Dark 2.0, once again &lt;a href=&quot;https://archive.org/details/artofdarkness00fent/page/21/mode/2up&quot;&gt;replacing existing artwork&lt;/a&gt; from its life as Mac Fish! by Tom &amp;amp; Ed’s Bogus Software.&lt;/p&gt;

&lt;p class=&quot;tofigure&quot;&gt;&lt;img src=&quot;https://cdn.gingerbeardman.com/images/posts/tomoya-ikeda-after-dark-fish.png&quot; alt=&quot;PNG&quot; title=&quot;After Dark 2.0: Fish!&quot; /&gt;&lt;/p&gt;

&lt;p class=&quot;tofigure&quot;&gt;&lt;img src=&quot;https://cdn.gingerbeardman.com/images/posts/tomoya-ikeda-after-dark-fish-about.png&quot; alt=&quot;PNG&quot; title=&quot;Fish Art by Tomoya Ikeda&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;enzan-hoshigumi&quot;&gt;Enzan-Hoshigumi&lt;/h2&gt;

&lt;p&gt;We need to travel back in time a bit, to the days before Ikeda-san was living in California. When he was in Japan he worked for a company called Enzan-Hoshigumi (演算星組). The company name is best translated as “Computer Gangsters”.&lt;/p&gt;

&lt;p class=&quot;tofigure&quot;&gt;&lt;img src=&quot;https://cdn.gingerbeardman.com/images/posts/tomoya-ikeda-eh-logo.png&quot; alt=&quot;PNG&quot; title=&quot; &quot; /&gt;&lt;/p&gt;

&lt;p&gt;They became well known on the early Macintosh scene by providing collections of extremely high quality Clipart in a traditional Japanese style, Dennou Emaki (電脳絵巻 or Cyber Picture Scroll), mostly drawn by Ikeda-san. And also their MacCalligraphy package that allowed drawing of traditional Japanese calligraphy using only the Macintosh mouse, with the thickness and subtleties of each stroke being controlled only by the speed and movement of the mouse.&lt;/p&gt;

&lt;h2 id=&quot;macworld-expo&quot;&gt;MacWorld EXPO&lt;/h2&gt;

&lt;p&gt;The 1988 MacWorld EXPO held in San Francisco was attended by over 45,000 people and hosted over 400 exhibits, one of which was Enzan-Hoshigumi. The hot topic of the time was &lt;a href=&quot;http://www.cornica.org/mac-reports/macworld-expo-1988/&quot;&gt;the new, colour and expandable Macintosh II&lt;/a&gt;. Photos courtesy of &lt;a href=&quot;https://twitter.com/haeckel&quot;&gt;Izumi Okano&lt;/a&gt;.&lt;/p&gt;

&lt;p class=&quot;tofigure&quot;&gt;&lt;img src=&quot;https://cdn.gingerbeardman.com/images/posts/tomoya-ikeda-eh-ikeda-prep.jpg&quot; alt=&quot;JPG&quot; title=&quot;Tomoya Ikeda preparing for the show in a San Francisco hotel room&quot; /&gt;&lt;/p&gt;

&lt;p class=&quot;tofigure&quot;&gt;&lt;img src=&quot;https://cdn.gingerbeardman.com/images/posts/tomoya-ikeda-eh-stand-prep.jpg&quot; alt=&quot;JPG&quot; title=&quot;Hirofumi Inoue (left), Izumi Okano (centre) and Ikeda-san (right, facing away) setting up&quot; /&gt;&lt;/p&gt;

&lt;p class=&quot;tofigure&quot;&gt;&lt;img src=&quot;https://cdn.gingerbeardman.com/images/posts/tomoya-ikeda-eh-stand-empty.jpg&quot; alt=&quot;JPG&quot; title=&quot;The Enzan-Hoshigumi range of Macintosh software&quot; /&gt;&lt;/p&gt;

&lt;p class=&quot;tofigure&quot;&gt;&lt;img src=&quot;https://cdn.gingerbeardman.com/images/posts/tomoya-ikeda-eh-ikeda-gosney.jpg&quot; alt=&quot;JPG&quot; title=&quot;Ikeda-san interviewed by Michael Gosney (Verbum Magazine) at Moscone Center&quot; /&gt;&lt;/p&gt;

&lt;p&gt;The Boston MacWorld EXPO event later that year also had an Enzan-Hoshigumi stand, accompanied by a 7x12 feet multi-panel Japanese folding screen comprised of a sheet-by-sheet assembly of thermal prints from an enlarged Tomoya Ikeda PixelPaint illustration. The screen was later &lt;a href=&quot;https://archive.org/details/verbum203unse/page/2/mode/2up&quot;&gt;shown at the “imagine” event&lt;/a&gt; organised at Boston Computer Museum by Verbum Magazine.&lt;/p&gt;

&lt;p class=&quot;tofigure&quot;&gt;&lt;img src=&quot;https://cdn.gingerbeardman.com/images/posts/tomoya-ikeda-folding-screen.jpg&quot; alt=&quot;JPG&quot; title=&quot; &quot; /&gt;&lt;/p&gt;

&lt;p class=&quot;tofigure&quot;&gt;&lt;img src=&quot;https://cdn.gingerbeardman.com/images/posts/tomoya-ikeda-folding-screen-colour.jpg&quot; alt=&quot;JPG&quot; title=&quot;Colour crop from Enzan-Hoshigumi profile in the 1989 No. 13 issue of MAC+ CYBER magazine&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;selected-works&quot;&gt;Selected Works&lt;/h2&gt;

&lt;p&gt;Below are some of my personal favourites.&lt;/p&gt;

&lt;p class=&quot;tofigure&quot;&gt;&lt;img src=&quot;https://cdn.gingerbeardman.com/images/posts/tomoya-ikeda-hyperlib.jpg&quot; alt=&quot;PNG&quot; title=&quot;Graphic for a feature article on サイバースペースデッキ in HyperLib issue 1, Jan/Feb 1989.&quot; /&gt;&lt;/p&gt;

&lt;p&gt;“The Golden Dragon” drawn in 1987 by Tomoya Ikeda (Enzan-Hoshigumi Co., Ltd.) using PixelPaint, the first full-color paint application for the Macintosh.&lt;/p&gt;

&lt;p class=&quot;tofigure&quot;&gt;&lt;img src=&quot;https://cdn.gingerbeardman.com/images/posts/tomoya-ikeda-golden-dragon-bw.png&quot; alt=&quot;PNG&quot; title=&quot;1-bit monochrome version, from &amp;quot;Chinese Zodiac Character Series Dragon&amp;quot;, 1987.&quot; /&gt;&lt;/p&gt;

&lt;p class=&quot;tofigure&quot;&gt;&lt;img src=&quot;https://cdn.gingerbeardman.com/images/posts/tomoya-ikeda-golden-dragon-color.jpg&quot; alt=&quot;JPG&quot; title=&quot;8-bit color version from the book &amp;quot;Getting Started in Computer Graphics&amp;quot; by Gary Olsen, 1989.&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;mandala&quot;&gt;Mandala&lt;/h2&gt;

&lt;p&gt;From 1988 Ikeda-san became fascinated with mandala—the circular figures representing the universe in Hindu and Buddhist symbolism—and would go on to draw many of them. A handful have survived in print, scattered across Macintosh graphics books published at the time. I’ve scanned those that I’ve found so far.&lt;/p&gt;

&lt;p class=&quot;tofigure&quot;&gt;&lt;img src=&quot;https://cdn.gingerbeardman.com/images/posts/tomoya-ikeda-mandala-88.jpg&quot; alt=&quot;JPG&quot; title=&quot;Manadala 88. From &amp;lt;a href=&amp;quot;https://archive.org/details/verbum203unse/page/8/mode/2up&amp;quot;&amp;gt;Verbum 2.3 (Fall &apos;88).&amp;lt;/a&amp;gt;&amp;lt;br&amp;gt;Created using clipart from the Scroll &amp;quot;Heaven&amp;quot; collection, assembled and coloured in PixelPaint. &quot; /&gt;&lt;/p&gt;

&lt;p class=&quot;tofigure&quot;&gt;&lt;img src=&quot;https://cdn.gingerbeardman.com/images/posts/tomoya-ikeda-mandala-89.jpg&quot; alt=&quot;JPG&quot; title=&quot;Mandala 89 (aka Red Mandala). From &amp;lt;a href=&amp;quot;https://archive.org/details/verbumbookofdigi0000gosn&amp;quot;&amp;gt;Verbum Book of Digital Painting (1990).&amp;lt;/a&amp;gt;&amp;lt;br&amp;gt;Created in Studio-8 and coloured using PixelPaint at full screen resolution on a 19&amp;quot; monitor. &quot; /&gt;&lt;/p&gt;

&lt;p class=&quot;tofigure&quot;&gt;&lt;img src=&quot;https://cdn.gingerbeardman.com/images/posts/tomoya-ikeda-mandala-89-bw.png&quot; alt=&quot;PNG&quot; title=&quot;Mandala 89 blueprint. From &amp;lt;a hef=&amp;quot;https://archive.org/details/graybookdesignin00gosn&amp;quot;&amp;gt;The Gray Book (1990).&amp;lt;/a&amp;gt;&amp;lt;br&amp;gt;Created in Adobe Illustrator. This is the same design featured on Ikeda-san&apos;s business card.&quot; /&gt;&lt;/p&gt;

&lt;p class=&quot;tofigure&quot;&gt;&lt;img src=&quot;https://cdn.gingerbeardman.com/images/posts/tomoya-ikeda-mandala-goddess.jpg&quot; alt=&quot;JPG&quot; title=&quot;Oriental Goddess. From &amp;lt;a href=&amp;quot;https://archive.org/details/gettingstartedin00olse_2&amp;quot;&amp;gt;Getting Started in Computer Graphics (1989).&amp;lt;/a&amp;gt;&amp;lt;br&amp;gt;Created using PixelPaint.&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;the-life-and-times-of-tomoya-ikeda&quot;&gt;The life and times of Tomoya Ikeda&lt;/h2&gt;

&lt;blockquote&gt;
  &lt;p&gt;Timeline and memorial details taken from &lt;a href=&quot;http://p-media.jp/TomoyaIkeda/profile/index.html&quot;&gt;the p-media web site&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;dl&gt;
  &lt;dt&gt;1959&lt;/dt&gt;
  &lt;dd&gt;Born in Tokyo&lt;/dd&gt;
  &lt;dt&gt;1983&lt;/dt&gt;
  &lt;dd&gt;Graduated from Tokyo National University of Fine Arts and Music, Department of Design.&lt;/dd&gt;
  &lt;dd&gt;While studying at the University, he became interested in computer graphics, and upon graduating he began creating his own works.&lt;/dd&gt;
  &lt;dt&gt;1984&lt;/dt&gt;
  &lt;dd&gt;Won the Grand Prix at the 2nd ASCII Software Contest for &lt;a href=&quot;https://archive.org/details/logi-n-january-1985/LOGiN%20-%20January%201985/page/n99/mode/2up&quot;&gt;“Coron”&lt;/a&gt; (&lt;a href=&quot;https://ameblo.jp/koorogiyousyoku/entry-11983851960.html&quot;&gt;link&lt;/a&gt;).&lt;/dd&gt;
  &lt;dd&gt;Designed the arcade game &lt;a href=&quot;https://en.wikipedia.org/wiki/Daikaijū_no_Gyakushū&quot;&gt;“Dai-Kaiju no Gyakusou”&lt;/a&gt; for Enzan-Hoshigumi which was released by Taito.&lt;/dd&gt;
  &lt;dt&gt;1985&lt;/dt&gt;
  &lt;dd&gt;Awarded the Silver Prize at the International Exhibition of High Technology Art, for the work ‘Reincarnation’.&lt;/dd&gt;
  &lt;dd&gt;By 1988, he had designed many software products for the Macintosh, including “Dennou Emaki”, “Mac Shodo”, and “CyberSpaceDeck”.&lt;/dd&gt;
  &lt;dt&gt;1989&lt;/dt&gt;
  &lt;dd&gt;Moved to the United States.&lt;/dd&gt;
  &lt;dd&gt;Started CG production in Berkeley, California.&lt;/dd&gt;
  &lt;dd&gt;Designed “Flying Toaster” at Berkeley Systems, known for After Dark.&lt;/dd&gt;
  &lt;dt&gt;1994&lt;/dt&gt;
  &lt;dd&gt;Began translating and designing game software at the request of Palm Software in Silicon Valley.&lt;/dd&gt;
  &lt;dt&gt;1997&lt;/dt&gt;
  &lt;dd&gt;Planning and production of &lt;a href=&quot;https://appletechlab.jp/blog-entry-283.html&quot;&gt;“Type Designer”&lt;/a&gt; at Palm Software.&lt;/dd&gt;
  &lt;dt&gt;1998&lt;/dt&gt;
  &lt;dd&gt;1,000 typographic designs for the “Type Designer” are created.
Type Designer is released simultaneously in the US and Japan.&lt;/dd&gt;
  &lt;dd&gt;Sudden death from cancer in October, aged 39.&lt;/dd&gt;
  &lt;dt&gt;1999&lt;/dt&gt;
  &lt;dd&gt;Memorial exhibition &lt;a href=&quot;http://p-media.jp/TomoyaIkeda/index1.html&quot;&gt;“The World of CG: Tomoya Ikeda’s Digital Communication”&lt;/a&gt; held at the TEPCO building, Ginza, Tokyo.&lt;/dd&gt;
  &lt;dd&gt;&lt;a href=&quot;http://p-media.jp/TomoyaIkeda/ohtani.html&quot;&gt;Memorial speech&lt;/a&gt; delivered by Kazutoshi Otani (大谷和利)&lt;/dd&gt;
&lt;/dl&gt;

&lt;p class=&quot;tofigure&quot;&gt;&lt;img src=&quot;https://cdn.gingerbeardman.com/images/posts/tomoya-ikeda-profile.jpg&quot; alt=&quot;PNG&quot; title=&quot;Tomoya Ikeda (1959-1998)&quot; /&gt;&lt;/p&gt;

&lt;h3 id=&quot;birthday-blog-post&quot;&gt;Birthday blog post?&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;Check out my other &lt;a href=&quot;/tag/birthday/&quot;&gt;#birthday&lt;/a&gt; blog posts.&lt;/li&gt;
&lt;/ul&gt;
</description>
          <author>by Matt Sephton</author>
          <pubDate>Thu, 16 Dec 2021 00:00:00 +0000</pubDate>
          <link>https://blog.gingerbeardman.com/2021/12/16/tomoya-ikeda-macintosh-artist/</link>
          <guid isPermaLink="true">https://blog.gingerbeardman.com/2021/12/16/tomoya-ikeda-macintosh-artist/</guid>
        </item>
      
    
      
        <item>
          <title>Band-kun バンドくん musician simulator (1990, KOEI)</title>
          <description>&lt;p&gt;I’ve been playing an old (1990, KOEI Co Ltd) Japanese NEC PC-9801 game バンドくん [Band-kun; Mr. Band; Band Man] where you start a band and have to recruit members, make some recordings and live a life of sex, drugs and rock’n’roll. It was also available for the Fujitsu FM Towns and Sharp X68000 Japanese personal computers.&lt;/p&gt;

&lt;h2 id=&quot;band-what&quot;&gt;Band-what?&lt;/h2&gt;

&lt;p&gt;Band-kun is a hybrid simulation/adventure/rhythm game. You explore a fictional city taking to various inhabitants, learning about the music and the music industry, recruiting band members and performing and recording music. You perform the music using mouse gestures, so it’s possible to ad-lib and receive better/worse results a little like playing a musical instrument. After recording you need mix the song in a studio, then get your friend Bob Marley to sell your CDs on the street corner, or figure out how to get the music played on the local radio station which is, of course, broadcasting from a zeppelin riding high above the city.&lt;/p&gt;

&lt;p&gt;You need to work dead-end jobs to pay your way, and repeat the recording/gigging process to work your way up through soul-destroying small club gigs to a big arena gig, and allegedly you can even die from the excess partying.&lt;/p&gt;

&lt;div class=&quot;carousel__holder&quot;&gt;
    &lt;div class=&quot;carousel&quot;&gt;
        
          &lt;input class=&quot;carousel__activator&quot; type=&quot;radio&quot; name=&quot;carousel&quot; id=&quot;a&quot; checked=&quot;checked&quot; /&gt;
        
          &lt;input class=&quot;carousel__activator&quot; type=&quot;radio&quot; name=&quot;carousel&quot; id=&quot;b&quot; /&gt;
        
          &lt;input class=&quot;carousel__activator&quot; type=&quot;radio&quot; name=&quot;carousel&quot; id=&quot;c&quot; /&gt;
        
          &lt;input class=&quot;carousel__activator&quot; type=&quot;radio&quot; name=&quot;carousel&quot; id=&quot;d&quot; /&gt;
        
          &lt;input class=&quot;carousel__activator&quot; type=&quot;radio&quot; name=&quot;carousel&quot; id=&quot;e&quot; /&gt;
        
          &lt;input class=&quot;carousel__activator&quot; type=&quot;radio&quot; name=&quot;carousel&quot; id=&quot;f&quot; /&gt;
        
          &lt;input class=&quot;carousel__activator&quot; type=&quot;radio&quot; name=&quot;carousel&quot; id=&quot;g&quot; /&gt;
        
        
          
          
          
          
          &lt;div class=&quot;carousel__controls&quot;&gt;
              &lt;label class=&quot;carousel__control carousel__control--backward&quot; for=&quot;g&quot;&gt;&lt;/label&gt;
              &lt;label class=&quot;carousel__control carousel__control--forward&quot; for=&quot;b&quot;&gt;&lt;/label&gt;
          &lt;/div&gt;
        
          
          
          
          
          &lt;div class=&quot;carousel__controls&quot;&gt;
              &lt;label class=&quot;carousel__control carousel__control--backward&quot; for=&quot;a&quot;&gt;&lt;/label&gt;
              &lt;label class=&quot;carousel__control carousel__control--forward&quot; for=&quot;c&quot;&gt;&lt;/label&gt;
          &lt;/div&gt;
        
          
          
          
          
          &lt;div class=&quot;carousel__controls&quot;&gt;
              &lt;label class=&quot;carousel__control carousel__control--backward&quot; for=&quot;b&quot;&gt;&lt;/label&gt;
              &lt;label class=&quot;carousel__control carousel__control--forward&quot; for=&quot;d&quot;&gt;&lt;/label&gt;
          &lt;/div&gt;
        
          
          
          
          
          &lt;div class=&quot;carousel__controls&quot;&gt;
              &lt;label class=&quot;carousel__control carousel__control--backward&quot; for=&quot;c&quot;&gt;&lt;/label&gt;
              &lt;label class=&quot;carousel__control carousel__control--forward&quot; for=&quot;e&quot;&gt;&lt;/label&gt;
          &lt;/div&gt;
        
          
          
          
          
          &lt;div class=&quot;carousel__controls&quot;&gt;
              &lt;label class=&quot;carousel__control carousel__control--backward&quot; for=&quot;d&quot;&gt;&lt;/label&gt;
              &lt;label class=&quot;carousel__control carousel__control--forward&quot; for=&quot;f&quot;&gt;&lt;/label&gt;
          &lt;/div&gt;
        
          
          
          
          
          &lt;div class=&quot;carousel__controls&quot;&gt;
              &lt;label class=&quot;carousel__control carousel__control--backward&quot; for=&quot;e&quot;&gt;&lt;/label&gt;
              &lt;label class=&quot;carousel__control carousel__control--forward&quot; for=&quot;g&quot;&gt;&lt;/label&gt;
          &lt;/div&gt;
        
          
          
          
          
          &lt;div class=&quot;carousel__controls&quot;&gt;
              &lt;label class=&quot;carousel__control carousel__control--backward&quot; for=&quot;f&quot;&gt;&lt;/label&gt;
              &lt;label class=&quot;carousel__control carousel__control--forward&quot; for=&quot;a&quot;&gt;&lt;/label&gt;
          &lt;/div&gt;
        
        &lt;div class=&quot;carousel__track&quot;&gt;
          &lt;ul&gt;
            
            &lt;li class=&quot;carousel__slide&quot; style=&quot;background-image: url(&apos;https://cdn.gingerbeardman.com/images/posts/band-kun-01.png&apos;);&quot;&gt;&lt;img class=&quot;carousel__staticimage&quot; src=&quot;https://cdn.gingerbeardman.com/images/posts/band-kun-01.png&quot; /&gt;&lt;/li&gt;
            
            &lt;li class=&quot;carousel__slide&quot; style=&quot;background-image: url(&apos;https://cdn.gingerbeardman.com/images/posts/band-kun-02.png&apos;);&quot;&gt;&lt;img class=&quot;carousel__staticimage&quot; src=&quot;https://cdn.gingerbeardman.com/images/posts/band-kun-02.png&quot; /&gt;&lt;/li&gt;
            
            &lt;li class=&quot;carousel__slide&quot; style=&quot;background-image: url(&apos;https://cdn.gingerbeardman.com/images/posts/band-kun-03.png&apos;);&quot;&gt;&lt;img class=&quot;carousel__staticimage&quot; src=&quot;https://cdn.gingerbeardman.com/images/posts/band-kun-03.png&quot; /&gt;&lt;/li&gt;
            
            &lt;li class=&quot;carousel__slide&quot; style=&quot;background-image: url(&apos;https://cdn.gingerbeardman.com/images/posts/band-kun-04.png&apos;);&quot;&gt;&lt;img class=&quot;carousel__staticimage&quot; src=&quot;https://cdn.gingerbeardman.com/images/posts/band-kun-04.png&quot; /&gt;&lt;/li&gt;
            
            &lt;li class=&quot;carousel__slide&quot; style=&quot;background-image: url(&apos;https://cdn.gingerbeardman.com/images/posts/band-kun-05.png&apos;);&quot;&gt;&lt;img class=&quot;carousel__staticimage&quot; src=&quot;https://cdn.gingerbeardman.com/images/posts/band-kun-05.png&quot; /&gt;&lt;/li&gt;
            
            &lt;li class=&quot;carousel__slide&quot; style=&quot;background-image: url(&apos;https://cdn.gingerbeardman.com/images/posts/band-kun-06.png&apos;);&quot;&gt;&lt;img class=&quot;carousel__staticimage&quot; src=&quot;https://cdn.gingerbeardman.com/images/posts/band-kun-06.png&quot; /&gt;&lt;/li&gt;
            
            &lt;li class=&quot;carousel__slide&quot; style=&quot;background-image: url(&apos;https://cdn.gingerbeardman.com/images/posts/band-kun-07.png&apos;);&quot;&gt;&lt;img class=&quot;carousel__staticimage&quot; src=&quot;https://cdn.gingerbeardman.com/images/posts/band-kun-07.png&quot; /&gt;&lt;/li&gt;
            
          &lt;/ul&gt;
        &lt;/div&gt;
        &lt;div class=&quot;carousel__indicators&quot;&gt;
            
              &lt;label class=&quot;carousel__indicator&quot; for=&quot;a&quot;&gt;&lt;/label&gt;
            
              &lt;label class=&quot;carousel__indicator&quot; for=&quot;b&quot;&gt;&lt;/label&gt;
            
              &lt;label class=&quot;carousel__indicator&quot; for=&quot;c&quot;&gt;&lt;/label&gt;
            
              &lt;label class=&quot;carousel__indicator&quot; for=&quot;d&quot;&gt;&lt;/label&gt;
            
              &lt;label class=&quot;carousel__indicator&quot; for=&quot;e&quot;&gt;&lt;/label&gt;
            
              &lt;label class=&quot;carousel__indicator&quot; for=&quot;f&quot;&gt;&lt;/label&gt;
            
              &lt;label class=&quot;carousel__indicator&quot; for=&quot;g&quot;&gt;&lt;/label&gt;
            
        &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;

&lt;style&gt;
.carousel__holder {width: 100%; position: relative; padding-bottom: 63%; margin: 1rem 0 1rem;}
.carousel {
  height: 100%;
  width: 100%;
  overflow: hidden;
  text-align: center;
  position: absolute;
  padding: 0;
}
.carousel__staticimage,
.carousel__controls,
.carousel__activator {
  display: none;
}

.carousel__activator:nth-of-type(1):checked ~ .carousel__track {
  -webkit-transform: translateX(-000%);
          transform: translateX(-000%);
}
.carousel__activator:nth-of-type(1):checked ~ .carousel__slide:nth-of-type(1) {
  transition: opacity 0.5s, -webkit-transform 0.5s;
  transition: opacity 0.5s, transform 0.5s;
  transition: opacity 0.5s, transform 0.5s, -webkit-transform 0.5s;
  top: 0;
  left: 0;
  right: 0;
  opacity: 1;
  -webkit-transform: scale(1);
          transform: scale(1);
}
.carousel__activator:nth-of-type(1):checked ~ .carousel__controls:nth-of-type(1) {
  display: block;
  opacity: 1;
}
.carousel__activator:nth-of-type(1):checked ~ .carousel__indicators .carousel__indicator:nth-of-type(1) {
  opacity: 1;
}

.carousel__activator:nth-of-type(2):checked ~ .carousel__track {
  -webkit-transform: translateX(-100%);
          transform: translateX(-100%);
}
.carousel__activator:nth-of-type(2):checked ~ .carousel__slide:nth-of-type(2) {
  transition: opacity 0.5s, -webkit-transform 0.5s;
  transition: opacity 0.5s, transform 0.5s;
  transition: opacity 0.5s, transform 0.5s, -webkit-transform 0.5s;
  top: 0;
  left: 0;
  right: 0;
  opacity: 1;
  -webkit-transform: scale(1);
          transform: scale(1);
}
.carousel__activator:nth-of-type(2):checked ~ .carousel__controls:nth-of-type(2) {
  display: block;
  opacity: 1;
}
.carousel__activator:nth-of-type(2):checked ~ .carousel__indicators .carousel__indicator:nth-of-type(2) {
  opacity: 1;
}

.carousel__activator:nth-of-type(3):checked ~ .carousel__track {
  -webkit-transform: translateX(-200%);
          transform: translateX(-200%);
}
.carousel__activator:nth-of-type(3):checked ~ .carousel__slide:nth-of-type(3) {
  transition: opacity 0.5s, -webkit-transform 0.5s;
  transition: opacity 0.5s, transform 0.5s;
  transition: opacity 0.5s, transform 0.5s, -webkit-transform 0.5s;
  top: 0;
  left: 0;
  right: 0;
  opacity: 1;
  -webkit-transform: scale(1);
          transform: scale(1);
}
.carousel__activator:nth-of-type(3):checked ~ .carousel__controls:nth-of-type(3) {
  display: block;
  opacity: 1;
}
.carousel__activator:nth-of-type(3):checked ~ .carousel__indicators .carousel__indicator:nth-of-type(3) {
  opacity: 1;
}

.carousel__activator:nth-of-type(4):checked ~ .carousel__track {
  -webkit-transform: translateX(-300%);
          transform: translateX(-300%);
}
.carousel__activator:nth-of-type(4):checked ~ .carousel__slide:nth-of-type(4) {
  transition: opacity 0.5s, -webkit-transform 0.5s;
  transition: opacity 0.5s, transform 0.5s;
  transition: opacity 0.5s, transform 0.5s, -webkit-transform 0.5s;
  top: 0;
  left: 0;
  right: 0;
  opacity: 1;
  -webkit-transform: scale(1);
          transform: scale(1);
}
.carousel__activator:nth-of-type(4):checked ~ .carousel__controls:nth-of-type(4) {
  display: block;
  opacity: 1;
}
.carousel__activator:nth-of-type(4):checked ~ .carousel__indicators .carousel__indicator:nth-of-type(4) {
  opacity: 1;
}

.carousel__activator:nth-of-type(5):checked ~ .carousel__track {
  -webkit-transform: translateX(-400%);
          transform: translateX(-400%);
}
.carousel__activator:nth-of-type(5):checked ~ .carousel__slide:nth-of-type(5) {
  transition: opacity 0.5s, -webkit-transform 0.5s;
  transition: opacity 0.5s, transform 0.5s;
  transition: opacity 0.5s, transform 0.5s, -webkit-transform 0.5s;
  top: 0;
  left: 0;
  right: 0;
  opacity: 1;
  -webkit-transform: scale(1);
          transform: scale(1);
}
.carousel__activator:nth-of-type(5):checked ~ .carousel__controls:nth-of-type(5) {
  display: block;
  opacity: 1;
}
.carousel__activator:nth-of-type(5):checked ~ .carousel__indicators .carousel__indicator:nth-of-type(5) {
  opacity: 1;
}

.carousel__activator:nth-of-type(6):checked ~ .carousel__track {
  -webkit-transform: translateX(-500%);
          transform: translateX(-500%);
}
.carousel__activator:nth-of-type(6):checked ~ .carousel__slide:nth-of-type(6) {
  transition: opacity 0.5s, -webkit-transform 0.5s;
  transition: opacity 0.5s, transform 0.5s;
  transition: opacity 0.5s, transform 0.5s, -webkit-transform 0.5s;
  top: 0;
  left: 0;
  right: 0;
  opacity: 1;
  -webkit-transform: scale(1);
          transform: scale(1);
}
.carousel__activator:nth-of-type(6):checked ~ .carousel__controls:nth-of-type(6) {
  display: block;
  opacity: 1;
}
.carousel__activator:nth-of-type(6):checked ~ .carousel__indicators .carousel__indicator:nth-of-type(6) {
  opacity: 1;
}

.carousel__activator:nth-of-type(7):checked ~ .carousel__track {
  -webkit-transform: translateX(-600%);
          transform: translateX(-600%);
}
.carousel__activator:nth-of-type(7):checked ~ .carousel__slide:nth-of-type(7) {
  transition: opacity 0.5s, -webkit-transform 0.5s;
  transition: opacity 0.5s, transform 0.5s;
  transition: opacity 0.5s, transform 0.5s, -webkit-transform 0.5s;
  top: 0;
  left: 0;
  right: 0;
  opacity: 1;
  -webkit-transform: scale(1);
          transform: scale(1);
}
.carousel__activator:nth-of-type(7):checked ~ .carousel__controls:nth-of-type(7) {
  display: block;
  opacity: 1;
}
.carousel__activator:nth-of-type(7):checked ~ .carousel__indicators .carousel__indicator:nth-of-type(7) {
  opacity: 1;
}


.carousel__control {
  height: 30px;
  width: 30px;
  margin-top: -15px;
  top: 50%;
  position: absolute;
  display: block;
  cursor: pointer;
  border-width: 5px 5px 0 0;
  border-style: solid;
  opacity: 0.35;
  opacity: 1;
  outline: 0;
  z-index: 3;
  color: #fafafa;
  mix-blend-mode: difference;
}
.carousel__control:hover {
  opacity: 1;
}
.carousel__control--backward {
  left: 20px;
  -webkit-transform: rotate(-135deg);
          transform: rotate(-135deg);
}
.carousel__control--forward {
  right: 20px;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.carousel__indicators {
  position: absolute;
  bottom: 20px;
  width: 100%;
  text-align: center;
}
.carousel__indicator {
  height: 10px;
  width: 10px;
  border-radius: 100%;
  display: inline-block;
  z-index: 2;
  cursor: pointer;
  opacity: 0.35;
  margin: 0 2.5px 0 2.5px;
}
.carousel__indicator:hover {
  opacity: 0.75;
}
.carousel__track {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 0;
  margin: 0;
  transition: -webkit-transform 0.5s ease 0s;
  transition: transform 0.5s ease 0s;
  transition: transform 0.5s ease 0s, -webkit-transform 0.5s ease 0s;
}
.carousel__track .carousel__slide {
  display: block;
  top: 0;
  left: 0;
  right: 0;
  opacity: 1;
}

.carousel__track .carousel__slide:nth-of-type(1) {
  -webkit-transform: translateX(000%) translateZ(0);
          transform: translateX(000%) translateZ(0);
}

.carousel__track .carousel__slide:nth-of-type(2) {
  -webkit-transform: translateX(100%) translateZ(0);
          transform: translateX(100%) translateZ(0);
}

.carousel__track .carousel__slide:nth-of-type(3) {
  -webkit-transform: translateX(200%) translateZ(0);
          transform: translateX(200%) translateZ(0);
}

.carousel__track .carousel__slide:nth-of-type(4) {
  -webkit-transform: translateX(300%) translateZ(0);
          transform: translateX(300%) translateZ(0);
}

.carousel__track .carousel__slide:nth-of-type(5) {
  -webkit-transform: translateX(400%) translateZ(0);
          transform: translateX(400%) translateZ(0);
}

.carousel__track .carousel__slide:nth-of-type(6) {
  -webkit-transform: translateX(500%) translateZ(0);
          transform: translateX(500%) translateZ(0);
}

.carousel__track .carousel__slide:nth-of-type(7) {
  -webkit-transform: translateX(600%) translateZ(0);
          transform: translateX(600%) translateZ(0);
}


.carousel--scale .carousel__slide {
  -webkit-transform: scale(0);
          transform: scale(0);
}
.carousel__slide {
  height: 100%;
  position: absolute;
  opacity: 0;
  overflow: hidden;
}
.carousel__slide .overlay {height: 100%;}
.carousel--thumb .carousel__indicator {
  height: 30px;
  width: 30px;
}
.carousel__indicator {
  background-color: #fafafa;
}

.carousel__slide:nth-of-type(1),
.carousel--thumb .carousel__indicators .carousel__indicator:nth-of-type(1) {
  background-size: cover;
  background-position: center;
}

.carousel__slide:nth-of-type(2),
.carousel--thumb .carousel__indicators .carousel__indicator:nth-of-type(2) {
  background-size: cover;
  background-position: center;
}

.carousel__slide:nth-of-type(3),
.carousel--thumb .carousel__indicators .carousel__indicator:nth-of-type(3) {
  background-size: cover;
  background-position: center;
}

.carousel__slide:nth-of-type(4),
.carousel--thumb .carousel__indicators .carousel__indicator:nth-of-type(4) {
  background-size: cover;
  background-position: center;
}

.carousel__slide:nth-of-type(5),
.carousel--thumb .carousel__indicators .carousel__indicator:nth-of-type(5) {
  background-size: cover;
  background-position: center;
}

.carousel__slide:nth-of-type(6),
.carousel--thumb .carousel__indicators .carousel__indicator:nth-of-type(6) {
  background-size: cover;
  background-position: center;
}

.carousel__slide:nth-of-type(7),
.carousel--thumb .carousel__indicators .carousel__indicator:nth-of-type(7) {
  background-size: cover;
  background-position: center;
}

&lt;/style&gt;

&lt;script&gt;
  function isVisible(el) {
        while (el) {
            if (el === document) {
                return true;
            }

            var $style = window.getComputedStyle(el, null);

            if (!el) {
                return false;
            } else if (!$style) {
                return false;
            } else if ($style.display === &apos;none&apos;) {
                return false;
            } else if ($style.visibility === &apos;hidden&apos;) {
                return false;
            } else if (+$style.opacity === 0) {
                return false;
            } else if (($style.display === &apos;block&apos; || $style.display === &apos;inline-block&apos;) &amp;&amp;
                $style.height === &apos;0px&apos; &amp;&amp; $style.overflow === &apos;hidden&apos;) {
                return false;
            } else {
                return $style.position === &apos;fixed&apos; || isVisible(el.parentNode);
            }
        }
  }
  
  setInterval(function(){
    var j=0;
    var elements = document.querySelectorAll(&apos;.carousel__control--forward&apos;);
    for(i=(elements.length - 1);i&gt;-1;i--) {
      if(isVisible(elements[i])) j=i;
    }
    elements[j].click();
  },7000);
  
&lt;/script&gt;

&lt;h2 id=&quot;playdate-version&quot;&gt;Playdate version?&lt;/h2&gt;

&lt;p&gt;It’s originally B&amp;amp;W so I figured it would look great on Playdate, so I made a little proof of concept.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://cdn.gingerbeardman.com/images/posts/band-kun-playdate.gif#playdate&quot; alt=&quot;GIF&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Band-kun required a MIDI-capable sound card PLUS an external MIDI sound module - a very expensive 30,000JPY piece of equipment back in 1990. So it wasn’t a success and was forgotten about. But it eventually led to Guitaroo Man and the birth of the music game genre on PlayStation.&lt;/p&gt;

&lt;p&gt;Anyway! I’d love to licence Band-kun and re-release it on a modern device that can do the original concept justice. The Playdate crank and accelerometer could be used to perform the music!&lt;/p&gt;

&lt;p&gt;I wondered if anybody knows KOEI founder Youichi Erikawa (aka “Kou Shibusawa”)? Hook a brother up! バンドを組んでメンバーを集め、レコーディングをして、セックスとドラッグとロックンロールの生活を送るという昔（1990年、KOEI）のPC-9801のゲーム「バンドくん」をプレイしています。@koeitecmogames からライセンスしたいので、襟川 陽一 に協力をお願いします。&lt;/p&gt;

&lt;p&gt;Edit: since I originally wrote this twitter thread and blog post, contact has been made with KOEI’s licensing department. 🤞&lt;/p&gt;

&lt;h2 id=&quot;period-reviews&quot;&gt;Period reviews&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Detailed review from the 1991-01 issue of #マイコンBASIC micomBASIC&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Courtesy of a &lt;a href=&quot;https://archive.org/details/micomBASIC_1991-01/page/n77/mode/2up&quot;&gt;scan at Internet Archive&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://cdn.gingerbeardman.com/images/posts/band-kun-review-micomBASIC-1991-01.jpg&quot; alt=&quot;JPG&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Super Soft Hot Information: Band-kun #バンドくん in &lt;a href=&quot;https://twitter.com/hashtag/micomBASIC?src=hash&quot;&gt;#micomBASIC&lt;/a&gt;1990/12&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Courtesy of a &lt;a href=&quot;https://archive.org/details/micomBASIC_1990-12/page/n237/mode/2up&quot;&gt;scan at Internet Archive&lt;/a&gt;.&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;“SLG in which you form a band, gain experience through practice and live house performances, and aim to win a contest. After winning, the game turns into a highly flexible session software. MIDI compatible.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;img src=&quot;https://cdn.gingerbeardman.com/images/posts/band-kun-review-micomBASIC-1990-12.jpg&quot; alt=&quot;JPG&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Review of Band-kun #バンドくん in Technopolis #テクノポリス 1991/01&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Courtesy of a &lt;a href=&quot;https://archive.org/details/technopolis-1991-01/01_journal_1991-01/page/136/mode/2up&quot;&gt;scan at Internet Archive&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;“We borrowed a studio and practiced hard with our friends to win the contest. Hone your skills!”&lt;/p&gt;

&lt;p&gt;“In the city, you’ll try to win a fight against a band member. It’s hard to get them to play with you at first.”&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://cdn.gingerbeardman.com/images/posts/band-kun-review-technopolis-1991-01.jpg&quot; alt=&quot;JPG&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;translation-wip&quot;&gt;Translation (WIP)&lt;/h2&gt;

&lt;p&gt;I’ve been poking around in the Band-kun game files.&lt;/p&gt;

&lt;p&gt;Everything is stored uncompressed in very simple structures across a few files. I’ve not figured them all out, yet, but can see graphics (done), dialogue (partial), music (to-do). Band-kun ships with Scenario 1 “ZAP CITY 1991” and is able to play additional scenarios, but none were released.&lt;/p&gt;

&lt;p&gt;Regardless: it should be easy to create a translated version of the included scenario. And maybe even create a new scenario (varying difficulty depending on changes).&lt;/p&gt;

&lt;h2 id=&quot;user-manual&quot;&gt;User Manual&lt;/h2&gt;

&lt;p&gt;A scanned PDF for Band-kun #バンドくん is available with thanks to the Neo Kobe project &lt;a href=&quot;https://archive.org/details/band-kun-manual&quot;&gt;archive.org/details/band-kun-manual&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://cdn.gingerbeardman.com/images/posts/band-kun-cover.jpg&quot; alt=&quot;JPG&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;promotional-leaflet&quot;&gt;Promotional leaflet&lt;/h2&gt;

&lt;p&gt;&lt;img src=&quot;https://cdn.gingerbeardman.com/images/posts/band-kun-leaflet-front.jpg&quot; alt=&quot;JPG&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://cdn.gingerbeardman.com/images/posts/band-kun-leaflet-back.jpg&quot; alt=&quot;JPG&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;download-the-game&quot;&gt;Download the game&lt;/h2&gt;

&lt;p&gt;Get the disk image at Internet Arcchive for &lt;a href=&quot;https://ia600100.us.archive.org/view_archive.php?archive=/22/items/NeoKobe-NecPc-98012017-11-17/Koei.zip&quot;&gt;PC-9801&lt;/a&gt; or FM-Towns&lt;/p&gt;

&lt;h2 id=&quot;all-the-faces&quot;&gt;All the faces&lt;/h2&gt;

&lt;p&gt;Here are all 120 “famous” faces, extracted from PC-9801 Band-kun, thanks to &lt;a href=&quot;https://twitter.com/fukui_keeekn/status/1223375503710539776&quot;&gt;@fukui_keeekn on Twitter&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://cdn.gingerbeardman.com/images/posts/band-kun-faces.png#pixel&quot; alt=&quot;PNG&quot; /&gt;&lt;/p&gt;

&lt;h3 id=&quot;birthday-blog-post&quot;&gt;Birthday blog post?&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;Check out my other &lt;a href=&quot;/tag/birthday/&quot;&gt;#birthday&lt;/a&gt; blog posts.&lt;/li&gt;
&lt;/ul&gt;
</description>
          <author>by Matt Sephton</author>
          <pubDate>Wed, 16 Dec 2020 00:00:00 +0000</pubDate>
          <link>https://blog.gingerbeardman.com/2020/12/16/band-kun-musician-simulator-1990-koei/</link>
          <guid isPermaLink="true">https://blog.gingerbeardman.com/2020/12/16/band-kun-musician-simulator-1990-koei/</guid>
        </item>
      
    

  </channel>
</rss>
