Game Development

Player retention problems

Getting and keeping new players is turning out to be much harder than I originally thought.

The first problem is that the original zone designs called for a minimum of 20 players to be fun. I don’t usually have 20 players simultaneous though, which is a self-defeating prophecy. Plus the zones that I spent the most work on was the larger ones for hundreds of people, so most of my effort isn’t yet visible.

The second problem is that some people still can’t run, or those that used to run no longer can. Part of the problem is Ogre 3D does a full file scan, so older deleted files are still used, and cause errors. Usually the autopatcher deletes these but sometimes I have to reset the autopatcher database so it doesn’t happen.

The third problem is that when there are only a few players online no amount of ship designing is going to make it so that the newbie can sometimes kill the expert. With less than 15 or so people the newbies don’t get those lucky kills and don’t have fun.

The fourth problem is not enough newbies come online at once to play each other. So they sit in the newbie zone for 10 minutes, go to the regular zone, and get wasted as above.

What I might need to do is put Armada (500 players) on hold for a while and work on a zone very friendly to new players, that works well with very low populations. I’ll think for a while on this. Throwing out some possibilities:

1. Speed kill competition in a very small zone with at most 5 players, no spectators allowed. Most kills in time X wins. Since dying doesn’t matter, newbies have more fun.
2. Racing mode, just race around a track
3. ???

*** EDIT ***

Got a good idea for target drones. Adding that now. I will have them rotate to shoot at you. Shouldn’t be too hard.


Customer support

When I was a teenager I used to work in fast food, and hated doing customer service. It’s not that I hated customers, but that it was just a very monotonous job. I have an active mind and can’t stand work where you don’t use your mind.

I have to sort-of do that now. When the Galactic Melee server goes down I usually get a few emails about someone not being able to log on. But so far I don’t mind. I feel good that people want to try my game and I want them to be able to play.

But maybe I only feel this way because it’s new. Probably in a few months I’ll be bitching here about how people keep asking same dumb questions. But hopefully not 🙂


Dealing with Defective hardware

A small percentage of my users, assuming what they are telling me is accurate, have defective modems or routers that shut themselves off when UDP data is sent too frequently. One possibility is they are defective by design, turning off to prevent bot controlled computers from doing port-scans or perhaps DOS attacks. Another possibility is they just don’t know what they are doing. Probably both.

Another, larger, percentage of my users have defective keyboards, including myself. This happens to me on my Microsoft Digital Media Pro keyboard, where I cannot press up, left control, and left windows key at the same time. I’m tempted to find a partner (perhaps Logitech?) that makes keyboards that don’t suck, and to sell them through the website.

While not a defect, the largest percentage of hardware failures in my game are caused by video cards that don’t support Pixel Shader 2.0.

It would be satisfying to say “Your modem/keyboard/video card is defective/out of date. Go get a real one” Sadly, most people won’t, so I just have to implement crap work arounds.

Modem: Add a “My modem sucks” checkbox to the autopatcher that slows down the transfer rate.
Keyboard: Add gamepad support and keyremapping (Should do this anyway, so not a big deal).
Video card: Disable features, then re-add the most critical of them in crappier ways.

These problems are very annoying.


Banners on the ship wings, with alpha support

It was very painful to get this working. But player uploaded banners, saved to and downloaded from the database, now show up on ship wings. Alpha is supported too.

Ship with banner


Another order of magnitude speed increase

People were complaining about getting 10 FPS or so in Galactic Melee, which made no sense at all. You got like 10 ships, a background (billboard), and a carrier (large, but only one).

So I hop into the game, and notice even on my system my usual 200 FPS has dropped to 50 FPS when there’s a lot of bullets on the screen. Bullets are just billboards, this makes no sense at all.

As is usually the case, anytime there’s some major …feature… like this it’s code that someone else did, and this is no exception. Looking over the code, the programmer that did this created a billboard set for each individual billboard.

I create one billboard set per material, set infinite bounds, center it, and manually update the positions and orientations of each billboard.

4X speed increase (on my system) for 15 minutes of work.

People wonder why I do most of the code myself. The reason is I have to do it myself one way or another. It’s just doing it myself from the beginning saves the time and money of hiring, paying, and firing someone first.

Game Development

Even easier for newbies

I saw some newbies play for 10 minutes, fly right into a hail of bullets, say “I can’t play against ships this powerful” and quit. The real reason they were quitting is not the power of the enemy ships, because all weapons and ships are equal. It is because of a perceived unbalance, where other players of higher level would have a wider range of weapons available and this was assumed to mean more powerful. As it is a convenient excuse for poor play, it was considered as a game inbalance, and they quit.

On my part, there were three problems here.

1. The skill balance difference is still too high, with a 4:1 ratio between the best and worst players. This is far better than before, and I’m running out of ideas on how to balance it. It would be good if I can get it down to 3:1 though.

2. The initial weapon I was giving newbies (standard momentum based gun) still took too much skill to use, as in you’d have to play for a while to get the feel of how fast your bullet moves, how much to lead, how fast your ship rotates, in order to hit anything. It’s sort of like the first time you use the grenade launcher in quake, where everyone else has chain guns. It wouldn’t be very fun unless you were unusually patient or skilled. In response, I increased the Guided part of guided rockets, and make this a level 0 item, so you get it for free right away. Guided rockets take little skill, mostly strategy, and from what I’ve seen newbies like having it.

3. Even with the first two points, newbies are willing to tolerate this if they feel the challenge is temporary and surmountable. I took my queue from Planetside here, and made it so you can unlock all the weapons and items in a few weeks with dedicated play. This is much different from my original play of taking 6-9 months. Planetside is also a skill-based game, and I can see how having unusable weapons can feel unfair. What’s funny is people actually complain now it’s too easy to level, but I think that’s just because they were used to the old system. It actually takes about a year to reach max level if you were to play religiously, but right now you don’t get anything past level 20 or so.

Every time I ask people how they like it I get positive feedback. It feels good, but I’m only hearing from the people that stuck around in the first place. I’m more concerned about the guys that jump in and leave in 10 minutes. It happens less, but it still happens, and I hope to discover and address why.

Game Development

Submitted to Indy Games Showcase

I was a day late in submitting but they don’t seem to mind since I was talking to someone there about the upload. Or at least I hope they don’t mind. I will check for my game in a few days.
Indy Game Showcase

I hope everyone will vote for my game 🙂


Quick change that works pretty well

I was teaching a newbie how to play for about an hour (without looking like it) by letting him kill me and presenting challenges. While doing so I was watching what kind of mistakes he made. And it really brought me back 10 years to really seeing what he is doing, rather than through my experienced eyes. I found he had a hard time aiming, leading, would bounce on walls a lot, and would thrust and let go of thrust only when he is at his target.

The solution I took was to slow things down, and also add drag. But I can’t do this by slowing down the game as whole or it prevents no challenge at the high-end. So I swapped ships, giving the slow heavy ship as the beginner ship, and also adding linear dampening on it (drag basically) that only takes effect when you release the thrusters.

It made a BIG difference! After that change I never really saw anyone quit right away, and they played for several hours. Because the ship was slower, it was less skillful and more tactical, plus newbies could generally follow you around and shoot.

For a few minutes I even had fun 🙂 Mostly though I am holding back, knowing I still could beat the other team in 30 seconds by myself if I wanted to. This is a bad thing – it means that it’s still too skill based and therefore not fun for very new guys and not fun for very old guys.

Another thing I did was drastically reduce the time between levels. I’m still trying to find a good balance there. Right now people are gaining one level every 5 minutes, which definitely keeps them around, but also doesn’t have any longevity prospects. I’ll have to tweak numbers to find a happy medium.

Game Development

Game still too hard for newbies?

A guy logged into the game when I was there to help him out – give him some free kills against me, show him what to do, etc.

He got to level 3, bought an energy mine, and killed himself with it trying to use it against me, even though I was letting him hit me. It was because he didn’t know that it damaged yourself first.

Right after that he quit – a grand total of 5 minutes playing under the best conditions.

So I changed it so you can’t kill yourself, and energy mines, being newbie weapons, don’t damage yourself. But this is indicative of a problem I’m consistently having, which is retention. A lot of guys quit within 10-15 minutes of playing. Even the guys that compliment the game, and I do get a lot of compliments, might only play 20 minutes and say they’ll come back later.

What’s funny is this is all true with the zone I setup right now, which is specifically easier for newbies. It’s easier to kill, slower, is team based, and has a simple objective.

I’m going to have to get some inspiration here in a hurry on some way to make the game super accessible so even the most impatient guy will stick around.


Quote of the day: “Fixing this is as painful as pulling hot porcupine quills out of your ass”

This little quote of the day came about because Ogre can return 0 with _findNamedConstantDefinition if someone has a pixel shader less than 2.0. And I was calling Ogre::OverlayManager::getSingleton().destroy on the overlay if it couldn’t be used. Doing so just crashes Ogre, for no reason I can tell.

This bug probably caused 90% of the crashes for people who couldn’t run the game.

* Edit *

Also found that fallback techniques do not work for some reason. Had to setup alternate material schemes.