Yes I know it’s been forever… busy month + Fan Fest = very tired Shini. But I am alive (and more behind than ever). I actually just realized I forgot to do a Fan Fest write-up here… oh well. I don’t really have any photos to share anyway; all I have is group photos and food photos 🤔 I did get an autograph from my idol Koji Fox though! I missed it in 2016, but I got it this time ( ；∀；) It was a good trip. (Needless to say, I also forgot to do a live letter summary… but I wasn’t even home for it, so)
ANYWAY! This is the 100th column…! It’s been a long journey, but there’s still a long way to go.
(This column is not FFXIV-related)
#100: “Is That Really an Objective?”
Published in 2018/01/11 and 2018/01/18 combined issue
The final column I write in 2017 happens to also be the 100th. It’s just a coincidence; I didn’t do it on purpose. While it may be work, I’m honestly still surprised that I’ve kept this up for so long, when I usually get tired of things quickly.
As I’ve mentioned in various interviews already, I originally wanted to become a game scenario writer. I was moved by Dragon Quest and Final Fantasy, and I wanted to create a game based on a story of my own. However, I had no idea how to become a game writer. In fact, that was probably to be expected, because that kind of job position didn’t exist back then.
So, I started learning programming, figuring that I’d infiltrate the gaming industry first and then figure out the rest later. But for some reason, I found it boring. Even though I had so much fun coding in BASIC when I was in fifth grade, resuming my studies upon graduating high school was utterly painful. I half-assed my studies for about a year, casually signed up for a national exam, and totally failed.
When I was taking the exam, I was thinking, “Yeah, no. There’s no way I’ll pass.” Forget knowing the answers; I couldn’t even understand the questions that well. It was a real shock for me. Up until then, I’d always gotten by with my ability to swim with the tide—I could read a question and figure it out somehow. But at 18 years old, I got my first major taste of failure, unable to even understand the questions themselves.
However, I did confirm that I wouldn’t be able to pass the exam with half-assed studying, which just made studying programming even more painful. When I was thinking about what to do, I suddenly realized: Why was I trying to pass a programming exam in the first place?
I originally wanted to become a game scenario writer, and I thought that the fastest way would be to get into a game-developing company. They weren’t recruiting writers, so if I learned how to code, I could make it work somehow. It was a simple, straightforward plan. If I possessed a professional qualification, that would prove that I could write programs.
This is a bad example of “the means becoming the ends.” If you want to develop games, you should start by trying to make one. Instead of saying “I can’t make a game because I don’t know how to code”, the correct logic would be “There’s something I want to make, and there are programming commands needed to make it happen.” Learning programming isn’t the goal; it’s the means.
Since I couldn’t stand defeat, I first set “passing the national exam” as an objective. By setting it as an objective rather than the end goal, I could outline a strategy for myself. The national exam was mainly about software for clerical work rather than game development, so I tried to create that kind of software.
Being the bookworm that I was, I imagined a fictional library and pretended that I received an order to replace their handwritten ledgers with a management software. I was already familiar with the library’s borrowing system, so all I had to do was convert that into a program.
At this point in time, my programming ability was perpetually stuck at “level 2,” with my middle school-level English. But, I didn’t really need any programming knowledge to define requirements for a library management system. I was actually well-suited to this type of work, considering my excessively argumentative nature. As I was thinking, I realized that the lending side and the borrowing side would need their own separate systems.
When someone goes to a library to borrow a book, they first want to figure out whether that library even owns the book that they want to read. I knew this because that’s what I would do. Then, if they do have the book, the next things you’d want to know are whether you can borrow it, when it’d have to be returned, or whether it can be reserved. Basically, on the borrower’s side, we need to have a search system that provides information about books.
Next, on the lending side, we have to manage the people who use the library—in other words, the “customers.” We have to issue membership cards, assign user IDs, and store their personal information. We might also want to record things like how many books they have checked out, the return dates for each of them, and whether they have a history of overdue returns. We’ll be able to lend books to more people if there are penalties for repeat offenses.
Another component required for the lending side is the book database backing the library management system. This mainly stores book information. Each and every book has an ISBN issued by the Japan ISBN Agency, a title, an author name, a publisher name, a publishing date, etc. All of this data needs to be stored. The lender inputs this information so that the borrower can use it to search. So, each system will need to have different “input screens” and “search result screens.” We also need to have documentation for the screen layouts.
…It was at this point that I started having a lot of fun with it. Even though I hadn’t written a single line of code yet, I really felt that I was creating something. I was on a roll, coming up with ideas like “I need to check for repeated IDs to prevent accidental duplicates” and “Exact-match searching is easier to process, but it’d be better to have partial-match.”
Defining a clear image of what I was creating and setting a target “quality line” for user-friendliness gave me a great motivation boost. What kinds of programming commands would I need? I researched similar programs, guessed at which commands were being used for which actions, and tried writing my own code. Basically, this was the point where I began programming for real.
In the end, I didn’t become a programmer, and I somehow became a game director in my first year in the industry. However, the “fun of creating” that I learned back then was still one of my driving forces, and the programming knowledge proved to be very useful when working with developers. I feel that that knowledge and mindset are still supporting me to this day.
Right now, I still have that hazy goal of becoming a game scenario writer. However, it might be more of an “aspiration” than an objective now. Still, it’s the end of the year, making it the ideal time to redetermine whether or not my current endeavours can truly be considered “objectives” for myself.