Monthly Archives: February 2014

Rosso’s new look

Last week I gave Starbli a little touch-up with his coloring and shading, nothing major. This week I decided I would not only re-do Rosso’s coloring but his entire character design. I’ll be honest, Rosso didn’t look too good in Stellar Alien. But now, he’s quite a handsome fella:

comparerosso

The first thing you’ll probably notice is that he has way better shading now! He’s not flat colored anymore. He has better eyes, and even some spiked hair. The hair is my favorite part about Rosso’s new design. You’ll also notice is that his forearms are some shade of blue/green now. This was actually an accident at first as I was trying to give him shading but I looked at it for a second and said “hey, that looks pretty decent”. I also don’t want all the aliens to be one single color, so I went with the blue/green forearms.

I am happy with the improvements I made to Rosso’s design, he looks like a great character to play as in Stellar Combat. What do you think of his redesign? Leave a reply!

Stellar Combat’s updates over the week

I did lots of bug squashing and artwork this week. The whole week was supposed to be completely focused on Stellar Combat’s art, such as (re)designing characters. I wanted a small break from programming, as I’ve been on a bit of a programming frenzy lately. It is exciting to work on Stellar Combat’s code, much more than Stellar Alien. I think the reasons for that is because the networking code is fun to work on, Stellar Combat has a better game engine that allows me to develop faster (entities have reusable logic, scene management), and overall I’m much more excited about the project than I was for Stellar Alien.

So…what’s new?

Game Art

Rosso’s blowing up the galaxy with a new attack:

rossobullet

Above is the sprite sheet animation of Rosso’s new attack! His attack was just a tiny little red circle before but now he’s ready to own Starbli with a powerful star blast.

Rosso also is getting a makeover, just like Starbli. This more of a redesign of the whole character. He needs more touching up though, check for another post in a few days.

Game Programming:

Added game music using howler.js:

I don’t like the HTML5 Audio tag. It is obvious that the audio tag just wasn’t meant for games. The up and coming Web Audio API is ready to deliver a more complex and powerful audio API for the web. But, the browser support for Web Audio is very poor. It has been in Chrome stable for quite a while now but only just introduced in Firefox a few versions ago.

Stellar Combat uses CocoonJS to compile its JavaScript code to a native application on Android and iOS. While CocoonJS supports many HTML5 features, it doesn’t however support Web Audio API. So I must use the Audio tag.

Not bare bones though. I used an open source audio library called howler.js. Howler.js will use the Web Audio API if it’s supported in the environment, otherwise it will fall back to HTML5 Audio. That’s perfect for me, since I am considering having Stellar Combat run in the browser as well, so using Web Audio on the desktop would be great. It also has nice audio features built-in like fade in/out so I wouldn’t have to worry about implementing those things myself (I don’t find audio code interesting).

But howler.js wouldn’t work in CocoonJS out of the box. The sound didn’t seem to load and would freeze the entire game after a few seconds. The problem was really a head scratcher. I told the friendly folks over at Ludei, the company behind CocoonJS about my audio issue and they responded insanely fast (like 45 minutes…on a Sunday!!) and told me to send them a very simple example that just plays a .ogg sound and they’ll take a look at the problem.

I was going to do just that, but the example worked fine for me. The music played. So that was when I knew it was a problem specific to howler.js. After a lot of digging in the howler.js source code, I found that before they played a sound, they would check the Audio Object’s readyState property, and if the audio is not ready it would try to load it again.

The problem is that CocoonJS’s audio object doesn’t have a readyState property. So when howler.js checked if Audio.readyState === 4, the property was undefined. This made howler.js go crazy and load the audio again…and again…and again because it thought the audio never loaded.

I told a member of Ludei that their audio object is missing the readyState property and they responded telling me “Thanks!” and that it should be included in the next release. The issue was temporarily solved by manually setting an Audio instance’s readyState property to 4 in howler.js. Now the music plays!

Network Connectivity issues:

Lately there’s been a lot of inconsistent connection issues that have been having me worried about the stability of WebSockets on mobile. Luckily, the problem isn’t with anything except my networking code. It seems like my Ping/Pong timers are a little inaccurate. In Stellar Combat, the client sends a “ping” command to the server every 15 seconds.

If the client has yet to hear from the server after 15 seconds, it will assume that it has lost connection with the server and the socket hasn’t closed yet or you’re lagging way too much to be playing, in which case it will close the WebSocket connection.

This sounds pretty simple, right? Turns out I didn’t implement this correctly and it seems to be the cause of the random disconnecting. More on this issue later.

Overall, a good week of development. Leave a reply if you have a question about the game, or anything else.

Starbli’s makeover

A couple of years ago while Stellar Alien was in the early stages of development, I decided that the main character should be  a cute, chubby alien trying to save the stars all by himself, and he just found it all as a fun little adventure. For some reason, I thought I could actually draw (I can’t) so I bought a drawing tablet and started sketching Starbli in Photoshop.

I thought Starbli looked okay considering I can’t draw very well. I did think I was able to capture his “ugly, yet cute” apperance and his chubbiness.

His flat coloring really bother me though, I went a little too basic with his colors and I can do better(?). Since Starbli is a playable character in Stellar Combat, the 2D Multiplayer Mobile Shooter I’m currently working on, I thought he could use a little make-over before he starts his epic space battles with his friends:

starblimakeover

Comparing Starbli from Stellar Alien to Stellar Combat, you’ll notice the new Starbli (Stellar Combat) has better shading and colors. I like his new colors and I think it gives him more dimension. It’s totally subject to change though, but I like it so far.

If you like the older Starbli better, leave a reply stating why, that’ll be extremely helpful!

 

The Next Game – 2D Multiplayer Space Shooter in Development

combat

After nearly a year fiddling with game concepts and JavaScript, I finally decided that my next game will be a real-time multi-player 2D shooting game programmed in JavaScript and NodeJS named “Stellar Combat”.

If I had to compare Stellar Combat (so far) to another game it’s sort of like PewPew with its controls and being a mobile shooter.  However, Stellar Combat is in space, with weird looking aliens, and best of all, multiplayer!

Stellar Combat, a very ambitious project for me (especially on mobile) is something that I’ve been working on in my free time since the last quarter of 2013. As you can tell from the name, it is loosely related to my first game, Stellar Alien. The only similarities are that the game is set in the same fictional universe and characters like Starbli and Rosso will be playable aliens in the game, along with the introduction of new characters. Besides that, the game is pretty much entirely different gameplay wise.

In Stellar Combat’s current state, you can give yourself a nickname and quickly join a room with up to four players (should be more in the future), have an epic space battle with your friends and shoot your way to victory!

I have plans for multiple game modes. Right now, there’s only deathmatch but there will be team deathmatch, and a gamemode similar to Capture the Flag. And I have some other fun game modes in mind I’ll be working on.

There will also be several playable aliens you can choose from.  Each alien will have its own abilities and attacks so you can choose one that fits your playing style.

Development on Stellar Combat so far has been suspiciously fun. There aren’t a lot of multi-player games on mobile (and for good reason), let alone written completely in JavaScript.   I’m sure all the fun will go away as soon as I’m dealing with latency issues on 3G networks or perhaps my networking code will prevail.

I will be trying to blog more often about new development updates on the game as it gears up for a private alpha test in the next couple of months. Stay tuned for more information on that and on how you can sign up and be one of the first players and help me squash bugs in this exciting new multi-player game for mobile devices!