Saturday

Heaps of changes to osc

I've been working on osc quite a bit lately, and some new features (and, of course, bugs, which I'll work on soon) have been added.
There's arrow key support (finally!), checkpoints, mildly challenging enemy AI (if you can call it that), support for loading levels which have been designed in the level editor with l + any number key from 1-5, and sounds.
I've made a video showing some of the new stuff.

Monday

Level Editor

osc now has a working (to an extent) level editor.
There are 5 slots for user-generated levels. Holding s and pressing a number key from 1-5 will save to any of these slots. Currently there's no way to load or playtest a level, but hopefully in the future that'll change.

Friday

osc update: Turrets and 'sil'

Turrets are fully operational (almost). They're blocks which shoot at you until you shoot at them. They serve two purposes: to fire at the player and to block off possible routes until they are destroyed. They look like a normal wood block with a ruby in the middle and red wires wrapped around them.
Screenie soon, when I update the version on my Mac.

In other news, a prototype for the sequel to osc, nicknamed 'sil', is sort of semi-working. It's a horror-survival type game, in which the protagonist (sil, who is actually osc, but got a name change after taming a glowing egg who fused its powers with those of osc) must navigate around claustrophobic levels with limited light. The prototype was just a test to see if I'd be able to make it when the time came, so since osc isn't nearly as finished as it would have to be for sil to be built off it, this prototype will be deleted as soon as I've finished playing around with it.

On a side note, I've decided this blog doesn't have enough memes (or cowbell). Only one short post a long time ago has ever had a meme in it, so to make up for the past meme-less posts:
















Demo of osc :D

Well, level linking is all working okay, osc now spits fireballs and I've put treasures into the game. All I have to do now is to patch up a few things (like the cheat I put in for easy testing where pressing 'g' gave you a free key) and write the readme. There are a few things which need to be set up in order for the game to work, so the readme actually does need to be read unless you already know how to set it up. I'll make the readme easy to understand so that people like me who don't have much experience with setting up programming languages and stuff can easily get osc up and running. :D

*a while later*

Well, I've written instructions.txt and taken out the 'g' cheat. The osc demo is ready to go :D

Alright. I'm going to see if I can attach it to this Blogger post or something, because there's no way I'm using one of those advertisement-encrusted file upload sites.
Hmm. I've heard of dropbox (some online friends of mine use it), and it looks pretty cool.

*a few minutes later*
Woooo, it is cool!

Monday

Another update on osc.

Well, I've been working hard(er than usual) on a level linking system for osc. Levels now have an x and y value, which show where they are on a grid. When osc moves off the side of a level, he either goes to the level which is adjacent in that direction on the grid or, if there isn't an adjacent level there, falls to his doom. At the moment, it works pretty well, except that:
a) Instead of appearing at the right side of the level if he came from the left of the next level along (and vice versa), he appears in the spawn point of that level (whereever I've put an 'x' in the level.txt),
b) when I fix that, osc will respawn where the x was in the first level, which could be in a really weird place), and
d) ...I forgot c.

So, with all of these problems in mind, I'm going to set off on Fishy's Epic Quest of Fixing-ness. Tomorrow. Because it's late. grraaaawaiwfojdsifnxnfioewhf.

See you tomorrow! :D

Tuesday

Fishy made a stupid.

Well, I was having trouble with creating the blocks which made up the level (I had just moved the 'generate level' code from the code for the game window to a Level class); the blocks were being created inside the game window '$window', but according to the error message, as far as the blocks were concerned '$window' didn't exist. This was odd, since all of the blocks had (as far as I could tell) been created after $window had been initialized.

Somehow I managed to get into my head that it would be a good idea to try replacing '$window' with 'Game.new', making each new block spawn in a new window. Unfortunately, every time a window is created, about 100 blocks are created. Yeah. Infinite loops FTL.

The computer froze, and I had no choice but to press the power button.

if fishy.fails == true
  fishy.facepalm
end

Monday

Update on osc

I'm still not really sure exactly which direction I want osc to pursue, but I've settled on a plan for now. osc will be the first in a non-linear series of games. It will set up the story for the next games, without having any kind of interesting twist which makes it separate from all other Metroidvania games. I'm too far into it to add an interesting gameplay element, but I'll keep trying to think of some, and each of these twists will be the basis for an entire game, which will be a sequel to osc. At some point in the story of osc will be a decision between several paths. In osc itself, nothing will change no matter which path is taken, but the next game in the series will be decided by it, much like the evolution pattern of the Pokemon Eevee. For example, when the game is beaten, the ending message will tell what the sequel will be based on the choice in the game. The sequel will carry on where osc left off, and each possible sequel will have a different main gameplay element.

As for my progress on the game, I must admit I haven't done much. I managed to put in keys and doors without many problems, and also doors to other levels without any problems in the code, but with many problems in practicality.

I've also added an external level editor. Isn't it just so advanced?
That .txt file results in the level shown in the image in the post below. It really is a text file, and it's incredibly annoying to use. There aren't even any line breaks, because I think that was probably where I went wrong the last time I tried to make a similar level editor. To be able to understand which row is which without having to count in multiples of 16, I have to resize the window so that the text wraps around every 16 characters. Safe to say, it's a huge step down from Atmosphir.

Next step is to give osc the ability to throw part of his scarf at enemies.

Thursday

It's been a long time.

I'll admit I kind of lost interest in my blog, but I feel I would like to make another post, so it'll either be really long or really condensed, as a lot of things have happened since I last posted. The biggest thing for me at the moment (and definitely the most related to this blog) is osc. osc (yep, it's lowercase even at the start of a sentence) is a game based around the eponymous character, an orange-scarf-wearing cat thing. 'osc' is in fact an acronym of 'orange' and 'scarf' (sort of).

It's a platformer-RPG-Metroidvania-survival game, so... yeah. The art style is similar to that of Cave Story and Fez, and I wish I could post screenshots, but whenever I try the game window shows up pitch black on the screenshot. I'll work on making a simulated screenshot by photoshopping (or Paint.NETing, as it were) all of the backgrounds, blocks and props (and osc, of course) together. Hopefully it'll look like a real screenshot.

I've also been playing heaps of Minecraft. An online friend of mine, Turqmelon, created a server. I've had to repair the house twice after creeper attacks.

Well, I spent a few minutes making a screenshot. I used the real version for reference, so it looks exactly how it would have looked if I had actually taken a screenshot.


There's only one difference, though: keys aren't actually in the game yet, and neither are doors. Hopefully those shouldn't be too hard to implement though, so those will come very soon.
I'm making it in Ruby using the Gosu code library, FL Studio for music and Paint.NET for the art.

This is the furthest I've got with a game by myself so far! :D

Wednesday

New Author! :D

We welcome a new author of the blog: my friend Marlon, whom anyone who plays Atmosphir will probably know as Hobgoblin. He has a lot of great game ideas, and when we make a game (which we have done 0.3 times), he's pretty much the designer and I'm the programmer. From now on, all posts will have a thingy under the title saying who wrote them (Giantfishy if it's me, and probably Hobgoblin or maybe Captain Spam if it's Marlon). Also, we might occasionally put a thing at the bottom of the post saying who wrote it as well.

-Giantfishy

Sunday

Just popping out to walk the goblin...

...Pet Goblins? O_O
User pfunked of opengameart.org is pretty much the god of animated isometric sprites.
We found this goblin the other day, and the sprite sheet includes 7 animations: idle, hop (the one shown in that preview), charge, attack, throw, block and hit. We've decided to add it as a pet, which means two new classes:
Pet (subclass of ServerConstrainedGameObject, the building-block class for anything which moves around based on information from the server), and Goblin (subclass of Pet).

On a slightly related note, I've been using Git for this project; it's really awesome and useful! :D
It's like a way of sharing what you've been doing with everybody who's working on the same project.