Monday, October 22, 2012

New control scheme

In the past the mouse control scheme has had a significant advantage over keyboard users. The mouse allows the player to shoot and move independently, allowing them to dodge, defend, and attack at the same time. People without a mouse (or are using touch pads) couldn't use this control scheme, so they had to use the keyboard only controls, which only allow you to move and shoot in the same directions. On top of that the game has been balanced with the mouse controls in mind, so keyboard users are at a clear disadvantage.

I've addressed this problem by changing the keyboard control scheme to use both WASD and the arrow keys to control movement and laser firing respectively. This allows keyboard users to shoot and move in different directions, sharing the same advantage that mouse users have. Due to keyboard button limitations, for this control scheme I've had to move the "launch powerup" key to the F key to make sure it isn't affected by any ghosting.


The previous keyboard controls have not been removed and can still be selected if the user prefers. I have named this previous scheme "legacy controls" because they resemble the classic Asteroids controls. I know completely removing this scheme would have made some fans angry.

Players can now dodge and attack at the same time with the keyboard

Monday, August 6, 2012

Test Results

Here are some of the stats I recorded and compiled from the past test. I have put them into an infographic to make as easy to read and understand as possible.

The bar graph of powerup attacks shows how effective each attack was at hitting an opponent. This is an easy way to visualize which attacks need buffing and nerfing. It isn't necessarily bad if some powerups are stronger than others, but if some are largely out of proportion than the game won't be balanced properly.

The total amount of people who participated in this test was greater than the last test, but this test also lasted much longer. The biggest problem Nexus has to overcome is keeping an active population. If there aren't any players online there isn't anything to play.

Most players chose the balanced ship during this test. This was expected, but its percentage was much larger than it was in the previous test. Players tend to choose this ship to start with and then experiment with the others. However, during this test many players didn't play as many games since there weren't other players consistently online. This could explain the larger gap in the ship choices.

Survival mode was pretty well received. It helps players improve their skills without having to play online and gives them something to do when nobody else is on. Looking at the data from survival mode, the levels are not balanced, however. The difficulty curve doesn't fit as it should with the graphs, mainly because the difficulty spikes too suddenly. Starting at level 6 the game becomes much tougher. Having a level with difficulty between level 5 and 6 would help make the curve smoother and more enjoyable.

Thanks to everyone who participated, keep following the blog for news.


Sunday, August 5, 2012

Test Finished

Thanks for the help everyone. I wanted to have an update before I took the server down, but unfortunately I am out of time. I will post statistics from the test soon.

Saturday, July 14, 2012

Play Nexus

Testing is now open, go to the Test Nexus tab or click here to get started.

Remember to leave feedback, this is your chance to improve the game.

Tuesday, July 10, 2012

Next Test


That's right, this Saturday, July 14th another round of testing is starting. This one should last much longer than the last so if you missed out you should be able to make it this time.

The game is nearing completion so I will need as much feedback as you guys can give me. I want to hear about anything you think would make the game better. That includes bugs, gameplay tweaks, powerup ideas,   graphical concerns, anything. This is your chance to make your mark in the game.

New stuff in this test:

  • Survival mode officially added (includes keyboard controls and ship selection)
  • Snake power attack
  • Ready status in lobby
  • Changes in current power behavior
  • Personal, unlockable player-card backgrounds
  • Other stuff

There are also features that will be added as the test progresses, so stay tuned.

Tuesday, June 26, 2012

Ready Up

If you were a part of the previous tests and tried creating a game, you probably remember constantly having to ask if everyone is ready to start. That won't be an issue anymore, players can now mark their status as ready or not ready in the game lobby:




This quickly lets the game leader know when it is appropriate to start the game instead of having to guess. The leader's status is set to a crown to let everyone know who can start the game, and the rest of the players have either an X or a check. The player's status starts off as an X for not ready, and can be switched at any time to let their leader know they are ready to start. The status can be toggled back easily if you change your mind.

As of now the status is just informative, and it doesn't actually affect the leader's ability to start the game. That means if a player doesn't have a ready status the game can still start. This will likely change in the future, but first a booting system will have to be implemented in addition. One thing at a time.

Monday, June 18, 2012

The Snake Powerup

I have been working on a new powerup attack that acts a bit differently than the other attacks. The snake is an enemy that moves through the field causing damage when touching the player. The important part of the snake is the head, the rest of the body moves in the same path the head takes.

Attacks against the snake's body have no effect. In order to kill a snake, you must shoot it in the head. Each shot will remove a segment of its body until it is only a head. Shooting the remaining head will finish it.



What makes the snake unique is its ability to absorb unclaimed powerups to make it stronger. Whenever the head makes contact with a free powerup, not only does it prevent the player from using it, but it gains an additional segment in its body. This gives it more health and makes it more dangerous.

Take these enemies out as quickly as you can to prevent them from stealing your powerups.

I have also added a new wallpaper in the downloads section:










Stay tuned for the next online testing session...

Monday, April 30, 2012

Test Survival Mode

I've been working on a new game mode that is single player called Survival. The idea is to fight through all of the waves of attacks and try to survive for as long as you can. The current state of the game type is pretty rough, I want to know if you like this idea and want me to continue working on it.

Go to the page here to try it out, and make sure you let me know what you think.


Monday, March 5, 2012

Updated Lobby Mock

I've done some more work designing the lobby layout. Here are some of (not all) my mock-ups:



Also I will not be able to update the blog as often as I have been for a while due to new deadlines in real life. Keep following the blog for spontaneous updates, but they won't be as periodic.

Monday, February 20, 2012

Player Customization

I've been working on adding some basic customization for registered players. When you are in the lobby, you can select an available player and view some basic stats. The system right now works, but the player info space is very small and has little customization. I am making it larger and more appealing.


I plan on giving the player the option to customize the background and maybe even the foreground. Players could unlock different looks by having a high enough level, kill death ratio, or possibly completing streamlined "challenges."

I want players to have an identity in Nexus to give them incentive to keep playing and be rewarded for their accomplishments.

Monday, February 13, 2012

Nuke Balancing

I had some feedback from the last testing that the nukes were too powerful. Alone they aren't so bad, but when stacked with other powerups its easy to get stuck letting the timer tick down and if you stumble on a nuke you had not seen spawn you could be unfairly hit. I've done a few things to make nukes a bit more manageable.

First, nukes now have a much smaller blast radius. It is still extremely large, but if you give yourself enough time to run you can run away instead of having to shoot. Second, as suggested by the feedback, the nukes are now affected by your laser velocity. That means when you shoot the nuke it will start drifting in the direction you are hitting it at. This is useful if you have a low countdown timer, because you can shoot a few shots to push it away and then run in the opposite direction to avoid the blast. The push isn't incredibly strong, so if you want to destroy it and send the nuke back you won't have to chase it too far.

click to view


Also in response to the last update, here are some changes I've made. This is still not necessarily what the final version will look like:

click to view

Monday, February 6, 2012

Concept Art


I have been working on improving my artistic skills lately. This is some concept art I have been experimenting with that may end up being the title screen or background for the lobby.

I know this doesn't match the in-game art, but neither do most classic arcade games. The original Asteroids cover art looks nothing like the game, but is still relevant. Since Nexus has the classic arcade look and feel I may go with a similar approach. If it detracts from the game play or causes confusion, however, it's out.

Monday, January 30, 2012

Laser Hit Detection

Squashing a lot of bugs this week, nothing new to show off. Instead of showing something new, I am going to explain how a part of the game works, namely the laser hit detection.

Most of the hit detection in the game are basic hit boxes that detect when objects overlap. This method is quick and efficient for small or basic objects, however for large or oddly shaped objects it can be inaccurate. For example, both the laser power up and the gunship's main cannon fire lasers that have an area of effect that is long but thin. Using square hit boxes for these is slow and can create many areas where the detection is off. I had to develop a better method of detection to make these power ups work.

the laser powerup
the gunship's main cannon

I decided to use as simple approach as possible. Since these objects are just straight lines, I used the tried and true y=mx+b formula from early algebra.

collision detection formula explanation (click to view)

The idea behind this is that if a formula for the laser line could be found, it could be used to find the position the ship would need to be if it were hit. If the player is within a tolerance lying on this line, a collision has occurred and the player will be hurt.

The formula is created by creating an axis centered around the point of production of the laser. This makes the "y intercept" of the line zero so it is much more manageable. The slope (m) is just a conversion of the angle the laser it at using trig functions. This leaves just the y and x variables in the equation, which we can use as a function to detect where the hit position is.

The player's x position is put into the formula at the x variable and this outputs the y position on the line where it would be it were hit by the laser. This is just compared to the actual y position with a tolerance to see if the actual ship position is within the laser's line. If it is, a hit signal is sent, otherwise it doesn't need to do anything since it missed.

This will detect a hit on both sides of the projection point, which works great for the laser powerup since it is projected in both directions but for the gunship laser it can trigger false positives. This was altered by determining which direction the gunship is facing, and then ignoring the x positions in the opposite direction. This prevents targets behind the gunship from being hit even if the laser isn't facing it.

This method detects hits for attacks based on lines and works pretty efficiently. It can be optimized further to be quicker and more accurate, but it does its job well.

Monday, January 23, 2012

Downloads and Lobby Design

I've added a new page to this site that has some wallpapers and a screensaver. Right now there are only four wallpapers and one screensaver, but I may add more later on. Let me know if you have any ideas for more downloads.

I've also been working on the lobby redesign. The current graphics are very boring and give a bad first impression to people who haven't played the game before. Having something easier to look at will generate more interest and keep people in the game longer to wait for a match.

Here's a few of the sketches I've been doing for the redesign:

Monday, January 16, 2012

AI Battle Demo

Here's another demo of the npc enemy AI. This time I have two teams, red and green, fighting in the same space with fighters and gunships. You can control how many of each ship each team has. You can't spawn too many of one thing however, because it can get extremely laggy if you do. You can override the spawn limit by holding shift before hitting "accept and restart," but you should use this at your own risk.

The auto-respawn option will cause destroyed ships to immediately respawn from their team's wormhole. This will allow the battles to continuously run, but it prevents a "winner" if you are trying to see which side will win a battle.





Here's a few interesting battle set-ups:
  • 20 fighters and 2 gunships each
  • 5-30 fighters each and no gunships
  • 10-30 fighters on one side and 2-6 gunships on the other
  • 1 fighter vs 1 fighter (they usually end up killing each other at the same time)
  • 5 gunships each and no fighters

Monday, January 9, 2012

Beta Stats

Here's some interesting stats from the beta:
  • 29 accounts were registered
  • 2815 experience points were earned by registered users
  • Highest rank achieved: level 9 by two users
  • The balanced ship was the most selected

Click to view
You can see from the chart above that the balanced ship was selected the most. This is expected, it is the most accessible and easiest to start off with. The heavy and light ships were selected approximately the same amount and at a decent proportion to the balanced ship. Using this data and gameplay data, the ships seem to fit their roles pretty well.


Click to view
The registered player ranks are shown in the graph above. Most players did not have a rank, meaning they did not earn any experience points. This usually means they created an account but didn't play a game with other players. The beta was relatively unknown so this isn't too surprising, but it shows that the game definitely needs to have players in the lobby. The rest of the ranks are pretty spread out other than ranks 1 and 2, so they are pretty well balanced. In the final version there will be many more ranks however.


    Friday, January 6, 2012

    Beta Finished

    Thanks for the help everyone, the beta has been has been a huge success, but I have to shut down the server. I have a lot to work on now and hopefully the game will be playable again soon with a lot of new updates.

    Be sure to follow the blog for updates on Nexus.

    Wednesday, January 4, 2012

    Beta Update

    I've made a few small updates to the game:
    • Fighter drones have significantly less health. They now only require three shots each to be killed.
    • Minor graphical fix in lobby stats text
    • Altered asteroid hitbox to be more forgiving (both attacking and touching)
    However I think this may cause some caching issues if your browser doesn't like refreshing flash objects. If you have this problem either clear your browser's cache or switch to a different one. I will work on a fix quickly so hopefully you won't even notice.

    Edit: I think I got it. If you get the outdated version message just refresh once or twice and it should reload fine. If you still have issues leave a comment to let me know.

    Monday, January 2, 2012

    Test Nexus Now

    The game is live, go to the Test Nexus Online above to play in your browser. The server is still somewhat slow so if you live far away from the CST time zone you may have issues playing. I will be getting a much better server soon, so bare with it for the time being. Also as I said in the previous post the server will only be up until around Saturday so play as much as you can while you still can.

    New Powerups:

    Gunship:
    Fire a large gunship enemy into your opponent's field that can fire a large particle cannon and has a defense turret in addition. If you get close to this enemy it will automatically fire its turret to keep you away, but even worse if you get within its sight it will attempt to fire its large particle cannon.

    First it uses its targeting laser to aim, then if it has a lock on it fires its primary attack.
    Aiming

    Fire!
    The beam is pretty easy to dodge, but it has a very large range so you need to be careful or you can be caught off guard. It's primary weakness is that it moves very slow, but with its heavy armor and defense turret taking it down will still prove to be a challenge.

    Spiral Shot:
    In addition to the circle shot, you can now fire a cluster of bullets through the wormhole at once to clutter your opponent's field. This attack doesn't move as fast as the circle shot so it can be more easily avoided, but it produces a larger amount of shots that need to be dodged.
    The assist powerups now are touch-activated so if you find a blue powerup grab it for immediate benefit. There are three boosts right now:
    • Health - Increases your health by one slot
    • Invincibility - creates an invulnerability ring around your ship for a short time
    • Overdrive - Massively increases your speed and fire rate for a short time
    Thanks and let me know what you think