-->

About Yokosuka

Page updated 2008-03-25. This page is really in flux and contains somewhat disorganized data at the moment. Sorry!

What's the goal of Project Yokosuka?

Initially, the goal of this project was just to make a game engine for fun, but the goal is slowly moving towards a game engine that will allow people to put together silly little games akin to the memes that come out of ytmnd.com. Think of it as interactive YTMNDs.

Some background: I used to write text-based game engines back in high school and after I entered the working world, I didn't really continue working on games so much. I did work on Project Hazuki a few years ago, but that was only for a few months on and off and the result was, IMHO, a very satisfying 2D Street Fighter II demo. The original goal of that was to create a full-featured Shenmue style game engine, but it never materialized. I looked back at the code later on and realized it wouldn't scale so well, so I decided to rewrite it with a proper design from the very beginning. That's how Project Yokosuka started.

I want to stress that the goal was to do it right (i.e. correctly) right from the beginning. Directories are laid out in logical fashion, code is broken up into components properly, assets are separated from the code, etc. There are a few places where I strayed from the "correct design" path, but I like to think that I will go back later and fix those before I hit the v1.0 mark.

Incidentally, I initially was going to have this run on the Game Boy Advance, but I eventually realized that for the ideas I was coming up with (such as using mp3s for background music and having dozens of enemies on-screen at once), it just wasn't going to work. I cut the cord to the GBA in the summer of '07 and have since been building the app for Mac OS X and Win32 exclusively.

What's the ETA for release?

Who knows? I'm hoping to have demos up by summer of '08. The interesting thing about this project is that because it's a game engine, once I release the binary, you can start writing games for it... so long as you have all the tools necessary to compile the data into a useable format. That's really the thing that will take time: packaging all the scripts and writing documents on how to create games with the game engine. After the first release, of course there will be further updates to the system.

About the code

Multi-platform

Versioning System

I use CVS. Suits me fine considering I'm not working with anybody else or doing any funny stuff like branching.

Scripter

Tools

Coming soon


Lines of Code

C++ code

The game engine itself is written in C++.

Ruby scripts

I use Ruby for most of the asset compiling tools, such as the script compiler, the stateframe compiler, the stage compiler, and so on.

C# code

Some tools, mainly the GUI-based ones, are written in C#:

Grand total

If you combine all of the source code (.cpp, .h, .rb, and .cs), you get a total of 23000 lines of code.