Back to Bits.

I'm Ali Razzouk (@MachOSX). This blog is about programming & shit.

Finished writing the map dumper, & it works! Yay!


I’ve been working on setting up warp tiles. Got the basics working. So, now when you walk into a door, it detects that & I got it to print some debug info such as the warp ID, the target map ID, as well as the target warp ID on that map.

Next, I need to allow my map loader to make changes to the map tiles on the fly & then dump them back into the .tmx file. This will allow for making the world more dynamic (new buildings popping up/being destroyed, etc.).

Sorta done making Noob’s database. Now to write the model code. I’m writing my own game engine from scratch. I call it “Spark”.

Hourly chimes!

A friend of mine suggested adding an hourly chime to 24:60. To be honest, I don’t think I’ve come across any clock apps that have this feature. My grandparents have a longcase clock in their house, & I vividly remember it chiming every hour. Love that sound.

I just added it. Gonna test it till tomorrow & then submit the update to Apple. Hitting the gym in 2 hours.

Fixed a very annoying glitch I had with my tile drawing code. Basically, you’d randomly see the tiles at the edge of the screen being moved into their new positions. I realized this only starts happening after a collision.

Note to self: Always remember to commit your animations after calling [UIView beginAnimations:nil context:nil], especially before returning.

Done writing the code for generating NPCs. Now to figure out how to place them on the map. The entire overworld is just one big 1D array of 280,000 tiles. I sort of have an idea in mind for how to overlay the NPCs on top of the tile layer & then load the sprites when they appear in the viewport.

Troubleshooting tip for Perian users on Mavericks.

I have Perian for QuickTime installed on my MBP (running Mavericks). Yesterday, I tried opening a .flv using QuickTime X (which will obviously use Perian since vanilla QuickTime doesn’t support Flash). Anyway, Perian is incompatible with Mavericks & chokes up sometimes. It got stuck on the “Converting…” screen. I closed the window. However, I noticed my fans constantly spinning loudly & my battery drained very quickly. I checked Activity Monitor & it turns out Perian left an unresponsive process running called CoreMediaAuthoringSessionHelper that was eating up 100% of my CPU. Killed it & now everything’s back to normal.

What am I using to build Noob, Inc.?

Some of you might guess that I’m using Cocos2d. Sorry to burst your bubble. I *tried* using it, but I just couldn’t get comfortable with it.

So I ended up writing everything from scratch. I use the Tiled Map Editor to create the maps, & then load them using my own custom map parser. After all, .tmx files are just XML. The guy who created the program was nice enough to post everything there is to know about the file format on GitHub.

I’m not using SpriteKit either as that will limit my players to iOS 7+. Still haven’t even bothered to look at Swift yet.

Done making the initial overworld map. I’m going to start out with a single city called “Danburai”. Here’s a list of all the cities that will be in the game:

  • Azura
  • Danburai
  • Farahnia
  • Granin
  • La Farina
  • Los Silicio
  • Lucinder Town
  • Maylevine
  • New Cork
  • Slavashka

The entire region is fictional, but you’ll find in-game references to places that exist in the real world.

Making a game.

I quit making social apps.

Okay, now that I got that out of the way, here’s my idea. I’m making a Pokémon-style business RPG. The name I’ve chosen for it is “Noob, Inc.” since you start out as a n00b businessperson in the game. There’s no signup or any social bullshit. You just pick your name & whether to play as a male or female character. That’s it. There won’t be any in-game purchases (“Wait for 24 hours or pay $XXX to continue now”) or annoying ads. The game won’t need an Internet connection either. It’ll be just like the old days. :)

I’m still working on the storyline, including character names, cities, & the names of other non-playable competing businesses, but it’s going to be pretty much an open world & you can roam around. I don’t want a typical game where everyone only speaks English. The characters will be of various nationalities. In fact, you’ll come across some who only speak their native language, so you’ll need to somehow translate what they’re saying!

To spice things up, I’d like to include the ability to trade stuff between players. Not everyone has the same stuff. Your copy of the game might have resources that someone else’s doesn’t.

While in alpha, the game will cost $1.99. It’ll then be $2.99 once it’s in beta, & $5.99 when it’s out of beta. I don’t know if this game will ever even be released. I’ve never made games before, & they’re really not as easy to make as they look. So, here goes nothing.

Here’s a very, very basic demo.