Saturday, November 23, 2013

Video Devlog 1

It's been too long since I recorded the first vlogs, so here's the first:






 Mostly just an introduction to the way this game is being made, with some insight into graphics.

Friday, August 16, 2013

Devlog 5: FIRST BOOT!

It's been a long time coming, but I finally have video of the boot sequence. Actual video devlogs will come soon, but this is a milestone.


It needs work, but it's all functional.

In terms of graphics, character portraits are finally a go. Check it out:



The pink is RGB 255, 0, 255, the usual alpha channel for games and other things. (It's used because it's highly unlikely that anything else in the image will use that color).

There is a portrait template for male and female characters, so I can streamline the process a bit. There's a bit of fixing to do on this character (look at the left arm) and just general stuff to make things neat, like moving everything a little bit to the left. During dialogue, one character will be on the left side of the screen, and another will be on the right. I've been playing around with the idea of two people being on the screen at the same time, with one grayed out/in the background, but I'm not entirely sure yet.

Programming-wise, massive work has been done to basically everything, making it absolutely as streamlined as possible. I fixed a strange glitch where dialogue boxes and portraits would be drawn over each other if the dialogue method was called within the same script, which was the most annoying part of development yet. Basically, all the work I'm doing right now is to make the rest of development easy. Comparatively.

A big thing happened in terms of hardware recently, too. For a while, I was using my MacBook Pro with Parallels, using this little program called Pixen for pixel art, but everything was running really slow. So, I took all the project files, and moved them to my desktop. Now, I'm using Photoshop for all the pixel art, and mostly Ableton Live for the music, except for a few songs that I still make on Logic Pro. Everything's kept updated on Dropbox, because it's great.

TO DO:

Make the prologue sequence (not really important at present)
make more character portraits
Finish up sprite templates (most important)
make some ambient/background music

Oh yes! Check out RPG Toolkit, which I've been using to make this game. It's free, the scripting is in C++ (roughly), though I'd suggest you try one of the Community Rebuilds of the engine as the official release is a bit weird. http://rpgtoolkit.net/

Saturday, July 27, 2013

Devlog 4: And also some other game things

I apologize in advance for the lack of pictures.

While I am basically a professional, character art takes a very, very long time. The reason for this is that I don't want samey characters, but instead characters instantly recognizable by what they look like. I haven't even finished a spritesheet for a single character, let alone the numerous other characters that will be appearing. This is officially the most ambitious project I've ever done, in terms of scale, scope, and the percentage of my overall skill being put to work. For the record, it's basicaly 100%.

The list of stuff that needs to be done is currently massive, but I don't expect this game to be done any time soon. I have to finish templates for character animations, then make some characters, then I have to make portraits for each character, then I have to write the code for a pretty complicated pause system, and then I can really move on into the creation of each chapter. That includes massive spritesheets and tilesheets for each.

Anyway, I've been working on another, currently unnamed game that may or may not be eventually put under Kraken Studio's purview, but that's a long way from any sort of completion. I'm primarily the artist and composer, but considering I know C++ fairly well (and we're making this game in Torque 2D) I've been doing a lot of the programming, too. I'm doubtful anything about this game will show up in its own devlog for quite a while.

...And outside of making these games, I've been getting ready to kick the production of a new album into gear. I'm currently in Colorado for a week, and all my equipment is at home, or in transit. I bought a new Novation keyboard to do real production work with, so I just need to get home and wait a couple days for that to arrive before things really start getting done.

Here's a link to a WIP song from this album:

https://soundcloud.com/theoregontrails/unnamed-track

Wednesday, July 24, 2013

Devlog 3: Raiders of the Bitmap Font

I planned on having a post up around last Wednesday, but I got stuck in a very strange rut and only yesterday on a plane flight to Colorado did I figure it out.

















This picture is a rough version of the character template I'll be using for the entire game. The feet have since been improved to look a bit more realistic, but other than that, I'm very pleased with it.










Besides the aforementioned character template and a whole lot of coding, general pixel art and tweaking, I've also started work on the game's bitmap font. It was originally going to be 3x4 per character, but I realized that was going to end up way too stylized and blocky for the game's aesthetic. I saved the smaller font, as I have use of it elsewhere, but the half-finished font above is the game's current version.

I could make a changelog for each version, but it would start getting very lengthy due to all the small graphical and programming changes I make basically every day.

Current To-Do List:

Write a pause menu (this is more a long-term goal at this point)
Create the walking animations for a couple characters (Current project)
Finish the bitmap font and integrate it into the game

Thursday, July 18, 2013

Devlog 2: functions and portraits

It's been a busy last few days in terms of work. Within the last day alone, I wrote about a hundred lines just for the different message systems used ingame, and at some point there will probably be more. These consist of Dialogue();, which takes three lines of dialogue (and I'm probably going to boost it up to four, just for compatibility's sake) and a defined character portrait (which I am currently procrastinating on making, but I'll get to that in a bit), and display them all in a tasteful manner. I'll have a picture of this once I have a few portraits done. The other is miniwindow(), which takes four lines of dialogue and is usually used for prompts and descriptions.

Now, the problem with this currently is that the default text color is white, and I haven't figured out a way to change it to something a little more readable on the message window, say, black. 

In other programming news, I've also programmed a neat little one-slot saving function, which I might bump up to three, but I'm not sure yet. 

Anyway, on to the character portraits. These are used for the aforementioned Dialogue function, which displays an image of whoever's speaking at either the right or the left side of the screen. I was initially making them in Flash, but when I realized it wasn't working out, I scrapped that idea and decided to do a more traditional style. That still has yet to be done, and will probably be done a lot later than most other things. I've tried so many styles and versions that it's getting a bit overwhelming. Things just don't come out in the style I want.

In better news, the soundtrack is coming along very well. I have a bunch of music composed, but I need to slap preliminary versions together to see how they work. For production, I use Logic Pro 9, which is absolutely amazing for this purpose. I will begin posting music here very soon. 

Monday, July 15, 2013

Rambling: How the Ouya could be improved

I was (and still am) a big proponent of Ouya. I have mine, a backer-only dim bronze-colored cube, sitting in front of my TV right now, downloading my Humble Bundle games while I write this. I am more than pleased with it. Because it's based on Android, it's incredibly easy to develop for compared to creating a new OS, and touch apps work properly with the controller's trackpad-ish thing. The controllers have a comfortable style, but not nearly as agressively ergonomic as the Gamecube controller, and I suppose that's the point. If you're making a controller for a system that has many more "casual" games, you'll want a controller that's a little more relaxed. Now, the only other controller I have that I would have any chance of using is the Logitech RumblePad 2, and it's based on a PS2 controller and everybody who plays any PlayStation games knows that the #1 problem with the controllers is that thay don't fill your hand. Same with an Xbox controller, but to a lesser extent. There are very few contact points between your hands and the controller, in the PS3's case feeling like the controller is about to fall out of your hands, and in the Xbox 360's case feeling sort of weird most of the time. With the Ouya's controller, your palms wrap around the end of the controller's arms, with your thumbs resting perfectly on the Xbox-organized analog sticks (something I initially was not fond of, until I realized that I hated the layout on the Xbox because they were placed terribly), your index fingers on the triggers (and being able to rock up to press the secondary triggers), and your remaining fingers comfortably wrapped around.
It's a great controller, and extremely comfortable. The only problem is that since so many apps have been ported (at least, many of the ones i tried out), controller input lagged. This would make sense with highly-intensive games, but with something like Puddle THD, I sometimes get trigger control delayed up to five seconds, and in a game where sometimes utmost control is key, that's a problem.

Then you have games like Flashout, whose control scheme on Ouya is just confusing. It felt like even though I was nudging the analog stick like a pro from my experiences with F-Zero, it felt like control was stiff and sudden, not letting me glide around corners. Or maybe I just don't understand how this game works.

On the other side of the spectrum, Canabalt HD is impressively ported controls-wise, and most new games work just fine.

Now, I'm sure you're wondering if I'm going to mention the controller lag. Well, yes, there is, and at first, it was confusing. I'm sure the lag in Puddle was software-related, because it never happened in any other game. However, there is a helpful tip that comes up now basically anywhere people complain about this:

TURN IT, TOP FACING FORWARD.

This article elaborates:

http://indieambitions.com/ouya/ouya-fix-controller-lag/

This is incredible, but also unfortunately pretty obvious. People say stuff like "I look for things that could block the Bluetooth signal", or "move stuff around", there's no need. The bluetooth chip in this is equivalent to most of the stuff in an Android phone. The true problem, I believe, is the snazzy metal casing they put it in. The top of the Ouya is all plastic, so the wireless transmission can flow freely without direct interference. I'm sure there's some way to remedy this. I KNOW there's a way to remedy this. First, make a slightly longer antenna, like what you find in a laptop. Second, make that antenna mount as high up in the upper plastic housing as possible. And bam! less interference. I'm pretty sure that modification would have fit in the $99 price tag of this thing.

There are also few things software-wise that could be changed to make everything a little nicer. First, I want the option to have my Software under the Play tab, so I don't have to go through that extra couple button presses to play my third-party games. Second, the on-screen keyboard could be a whole lot nicer, and the browser that it's using is the default Android browser, which isn't completely compatible with the hardware.

Anyway, I'm sure a couple people are wondering if we're going to be developing for it. The answer is yes, but we're waiting for Torque 2D's 3.0 version to start anything as we're not huge fans of Unity (not to mention it's not a 2D engine). We already have a game in mind, and it's very, VERY different from Phoenix Core: Shadow. A lot less serious, but we'll be crossing that bridge when we come to it.
 This system is promising, but it's still missing a few things. What it does have, however, is the one "Killer App" that no other console will ever have:

No Brakes Valet.



...

...in other news, the Intro/load sequence for Phoenix Core: Shadow is nearly done and will be posted here very soon.

Thursday, July 11, 2013

Devlog 1: what must be done

For a game who's development for about 80% of it's life has been a one-man show (the latter half, mind you), Phoenix Core: Shadow has made massive improvement from the rough tech demo just a month ago. I personally like the big-pixeled look of a lot of 2D games out there, but I didn't think it was right for this game's style to intentionally do that with the 640x480 window. However, I also didn't want the game becoming too small to see easily when in fullscreen, so I just made the game run in 640x480 while in fullscreen, too. Some people might complain that there's letterboxing, but it's all for the good of compatibility.

Speaking of which, this game is going to be for both Windows and Mac, and if I can find a way to compile it, Linux. I wish porting it to systems like Ouya were possible, but getting it to Unix-based operating systems is already a bit of a hassle, so I doubt that it would work at all on Android.

Right now, I'm fleshing out the first ten minutes of gameplay, getting the controls to feel correct, and just general stuff that I should do now so I won't have to deal with it later on. There's a lot to do, but I've been chugging along steadily at what I've described as the first few footholds so I can get some serious work done.

I'll be the first to admit that I'm not very confident in my programming skills, but the further I go with development, the better I get. I used to do a lot of HTML, some C++, among other things, but they've gotten rusty, so I hope that work on this will get me back into other programming languages, too. In fact, most of the last hour was spent with me trying to remember how to set and recall variables in the engine. I was overthinking it.

The biggest time sink with this game is that basically everything can be interacted with, sometimes with multiple lines of dialogue depending on whether you've completed an objective or not, or even just how many times you've interacted with it. And sometimes both.

Story-wise, the game consists of three Acts, each of which are split into fifteen chapters, which take roughly an hour each if you just blow through the story. There's an absolutely massive amount of content for you to explore and find, however, and a mind-blowing number of easter eggs to discover.

Here are some screenshots from early testing:

Bathroom


Test map (some of the tiles in this image are incomplete, and the map itself isn't part of the game)

Both of these images are related to the very first chapter of the game, as it is the chapter with the most development time put into it.


Now, there are some very important things that I haven't gotten around to doing yet that I'm going to at least begin today, including a settings screen so you can change whether it plays in windowed or fullscreen, and change game volume, among other things. I also need to finish the pause menu, which will allow you to examine items, view the current quest, and there might be a map function if I figure out a way to give each map (or parts of a map if they get big enough) a coordinate.

Over the next couple weeks, I'll be posting a lot about how I go about making this game, and after that things will settle down into regular devlog format. If you want to know how I do something, let me know and I'll probably be able to tell you.

Until then, stay frosty.
-q