The Adventures of a Coder Nerd Building a Game: Where World of Bleach came from

Part 1: Gamer Nerd Lsm
World of Bleach started as an idea in my mind back in 2009. But the story of how I got there goes back a little further: I briefly played TNR Core 1 in 2007, and ironically enough I was in a medical squad which was based on the structure from Bleach(Captain/Lieutenant/3rd Seat/etc), so I started watching the show because it was recommended to me by the squad leader. I ended up getting busy with school stuff, was taking classes at community college then. But in March 2008 I came back to TNR after core 2 launched and played it pretty hardcore for several months. Back in the days when Current was a mile and a half ahead of every other village, sasukamaru2/Bass was passing 1 million exp, etc. I played it for a long time under the usernames Lsmjudoka/UchihaObito, and trained my main in Current while my alt ran The Walking Dead ANBU in Konoki, which was the top ANBU squad for a while(Granted that wasn't saying much in Konoki). I left around spring 2009 (this was around the time that surgeries were added). I realized that TNR had been taking up too much time and effort from my schoolwork, and my grades were dropping.


Part 2: Coder Nerd Lsm
2008 was the year where I took my first computer science class in college, and it was the most fun I'd ever had in school. We learned a programming language called C++ and at first I had no idea what I was doing, just typing exactly what the teacher told us to type, but by the end of the class I was making things for fun, like calculators to calculate shopping cost and tax for all the items on a list or something. All of these were windows console applications, which basically means they all looked like this:
I took another computer science class in spring 2009 and learned more, including the most pivotal thing I needed to create a game: Structs. Structs are a type of object used in programming that ties multiple pieces of information together into a single object, making things a lot easier. Armed with that knowledge, I decided to make a game in C++. The result was BeastFight: A very simple text fight game



Which I eventually evolved into BeastFightII, an upgraded version which featured a leveling system, stats, purchasing/equipping weapons, armor, ammunition, energy for energy weapons, and enemies with special abilities like healing when they fell below a certain amount of health.


But BeastFight had a lot of things I didn't like: Many of the friends I wanted to share it with couldn't even install it, a lot of software blocked downloading of .exe files, plus it was all text input. I thought about TNR that I'd played a lot, and thought it would be cool if I could make a game like that. Then I decided to see if I could. I knew TNR had used HTML and PHP, so I took a summer class on HTML that honestly didn't teach me that much. I then went to w3schools.com and learned as much about HTML, CSS, and JavaScript as I could. I started playing around with developing a Freewebs (now webs.com) website. But gradually I realized that with just HTML/CSS/JS, I couldn't save player data. So I bit the bullet, bought an 800-page PHP + MySQL book and started working my way through it.




Part 3: BeastFight Online

PHP took a bit of getting used to. Unlike a C++ program which runs continuously from the time a player starts it up until they're done playing, PHP only starts up for a fraction of a second to process a web request (e.g. you submitting an attack choice in combat) and then shuts down again. When it starts back up, it doesn't automatically know what the player was doing, so you have to put in the structure to be able to recognize different states (first time viewing a page, second time + submitted some form input, etc) and process them accordingly. The result of my effort was this:


That version still had no database to save player accounts in, so I continued to develop and work on it. Some of the most seat-of-my-pants learning I've had has been in this period. I learned about Classes/Object-Oriented Programming and used a limited amount of it to develop the core data structure that is still somewhat in place in WoB today. It was a struggle to figure things out sometimes, because no college around me offered PHP and I didn't know anyone who knew it, so I had to figure things out myself, largely through trial and error. BeastFight Online went through at least three complete rewrites where I scrapped every line of code and started over. One of them, I did a lot of re-writing, opened it up to test it out, and nothing would work. I had no idea why, and nothing I did would fix it, so I just scrapped it before I could even do anything and started again. But finally, I got it to something resembling a game:





























Finally I had a database-driven game that had permanent stats, user inventories, monsters that could be created or edited by people through the admin panel with no coding knowledge, and much of the other basic functionality required for WoB.

Part 4: World of Bleach
When I set out to make WoB, I coded a lot of things from scratch, but using BeastFight Online as a blueprint. The first thing though, I knew the layout wouldn't be any good. So I went to freewebsitetemplates.com and procured this nice ski template which I then modified to work for WoB.






It wasn't the pinnacle of modern design by any means for the year 2010, but it worked. I grabbed some friends I used to play with on TNR (Lethal and Yodaime/Setsuna among others) to come help alpha test and got everything working for release. On February 13, 2010, I pushed the big (actually not that big) upload button and sent the site live. The first day was filled with chaotic bug fixes, including a fun hotfix where someone was spamming HTML tables in the chat that were stretching the site to 9000 pixels wide. But I enjoyed it, it was all brand new to me. Having other people actually enjoy playing something that you've made is a really, really good feeling.

The next 6 months were a blur. I was pretty much non-stop coding every day on my 10.1" screen netbook with a 90% scale keyboard, the days filled with mountain dew, energy drinks, and an odd mix of eurobeat and heavy metal pumping through my ears as I wrote 35,000 lines of code that made up the first four ranks of WoB. My friends KenijiKun and harryfangs from TNR joined and became mods, and I also enlisted Keiton and Knightmayre as my first content admins. We came up with so many ideas in those days, planning things all the way out to a potential 8-10 ranks. With every rank I added, so many features came in. At rank 2 I surprise added PvP and many people found out it was in when they suddenly found themselves in battle with another player, By September 2010, the first 4 ranks were in the game, and it was starting to come together. But the battle system was really not that much more advanced than the same "select an attack and use it" that had been in forever, despite having some special move effects. That would all change with a suggestion pitched on the forums.

Part 5: Enter The Grid

Coming soon!


















Comments

  1. There is no end gg 😱😱😱😱😱😱😱😱😱

    ReplyDelete
  2. There is no end gg 😱😱😱😱😱😱😱😱😱

    ReplyDelete
  3. Lsm.... You always leave me hanging. Im pretty sure i know what happens next.

    ReplyDelete

Post a Comment

Popular posts from this blog

Shinobi Chronicles

A Tale of Two Races - Macro-balancing in a PvP-based RPG