Networked Space Wars: My May One Game A Month is Online #1GAM

The month is just about over and my attempt at creating a multiplayer game has yielded some interesting results. First of all, I did make a multiplayer game where players can host and join a server and then fly space ships around and blow each other up. I haven’t tested it too excessively, but I know it works on multiple computers over my home wifi. I am not sure how many servers can be created or how many players can join!? Here is a link to the networked Space Wars Online – you will need a friend to join you to make it fun…

Screen Shot 2014-05-29 at 10.09.20 PM

Game controls:

WASD – Move and Rotate

Space – Fire weapon

-+ Zoom in and out

I couldn’t get points or multiple hits working in time. Every change you make to a networked game seems to break it and require lots of debugging. I hope to refine it in the future and make it more fun. I’d like to be able to show who you are targeting, have ships that can take more than one hit. Selectable types of weapons to use.

Screen Shot 2014-05-29 at 10.08.57 PM

The start page has a place for players to enter their names and also customize their ship color. While not mind blowing, since I am still learning, it took forever just to get these two simple pieces of information to be shared across the multiple players. Colors would not show up for the longest time. I think I am getting the hang of it, the names are an attempt at a larger player management system with a shared scoring system but I need to wrap my head around handling collisions of projectiles and giving credit to the player who shot them. One day!

I used a lot of references to make this thing work –

Paladin Studios Unity Networking Tutorial – helped me figure out RPCs the best…

Palladium Games Unity Networking Tutorial

Unity Cookie networking tutorial -its in Javascript though so I had to change it to C#

Unity Multiplayer Games book by Alan Stagner

Unity Networking book by Lawrence Grant

Thanks to all of you for doing your best to explain a super complicated topic. After going through all that stuff, I can see the need for a few more tutorials. Perhaps if I ever understand it well enough I will give it a try.

Dev Log: Updates on Tap Invasion, SpaceWars, Giant Pixelated Robots and GIFs

#Screenshotsaturday Making gifs is an easier process than I thought! Enjoy this Tap Invasion action gif.

tapinvasiongif

Above is one of my students making an epic run in Tap Invasion.

Dev Log Updates:
My April game (Tap Invasion) has stretched far into May! While the game was mostly completed in May, I wanted to port it to the Android Google Play store and get it out to the mobile audience for which it was designed. In that I succeed by about mid-month. I still need to port it to iOS. It was really created with the iPad in mind.

With that being said, I still am making good on my #1GAM challenge. I originally had noted that my next big attempt would be multiplayer. This weekend I finally got something working! The basic game for May is a multiplayer player vs. player SpaceWars game. It may not be super polished by the end of the month, but my goal is to have a game 4 players can join with one player hosting the server, a bunch of obstacles to fly around and hide behind and a scoring system.

Screen Shot 2014-05-24 at 5.35.39 PM

Currently the game has been tested on the desktop and through the webplayer on a server and both work so far. I will be adding interpolation optimization to the game to make everything smoother  in the next few days and then I will probably publish for folks to try out. Maybe one day I will rig up one of my old computers as an always on server for folks to log on to.

One of my main frustrations has been loading new players with their own perspective camera so that they could all fly around a bigger area on their own. The problem seems to be something a lot of Unity programmers have to deal with. I have tabled it for now, but I am hoping to make the space wars concept a little more massively in the future once I figure this thing out. So in the spirit of completing things in a month, the game now just takes place arena style on one screen with really small players.

Additionally, I came up with a one screen game – sort of smash-brothers meets joust meets explosions. I’ve been calling it Robot Destruction Dome for short. I couldn’t really make it this month because it took me so long to launch Tap Invasion and then learn networking (still learning that!). The RDD would require lots of new pixel art and I want to do it right! Here is my drawing of the game…

robotbrainstorm The guys with the motorcycle helmets are player one and two. They fight an infinite army of procedurally configured robots.

March Game of the Month Ideas – Haunted houses, flat shading, cyber tank battles, giant robots

I’ve been trying to decide what to do for my March #1GAM and a few ideas have floated around. I am exploring the haunted house genre with the idea of exploring dark rooms with just a flashlight and hearing cool sound effects of floor boards and distant doors slamming. I remember being really into ghost stories and horror stuff as a kid. I still love a good scare. I’ve been thinking about the old Alone in the Dark game with its impossible combat against Lovecraftian beasts in an old mansion. Another great haunted house was in the Vampire Masquerade game–the abandoned hotel. It had some legit scares! Designing a virtual haunted house would be cool and making the gameplay  more about exploration and stealth (hide / run for your life)  rather than a shoot-em-up would be neat. I’d make it first person with good headphones and a dark room mandatory.

After watching that, I may have to go back and play that game!! Here is Vampire’s haunted hotel… This may be more my style, but perhaps with the old school graphics?

How about the creepy toy following you around… Or the kitchen scene… or the light bulbs bursting. Nice effects…
Then I’ve been looking into flat shaded 3D graphics (oh and this one is cool too- check out the Italian youtube at the bottom)which harken back to when 3D games first started hitting the arcade when I was a kid. Virtua Fighter, Virtua Cop, Cyber Sled were some of my favorite things to play. On modern computers the style actually looks really cool and I might be able to pull something off with it. I also like the idea of a robot arena fighting game like Cyber Sled or Virtua On. A Cyber Sled remake might be fun and not too far out for my one man studio if I get cracking now. The sleds are like bulky tank robots, not too hard to throw together. The spider one might be hard but I don’t have to include special models – maybe just a few sled/tank types with different speed to firepower to armor ratios. Do that, a few arenas, some enemy AI and we  could call it a game. Here is some footage of the game:

Virtua On was much more polished and the robots you could choose from were a little more involved. I’d love to play or make something like it tho. The robots were mostly fast and they could jump over buildings, engage in hand-to-hand combat as well as ranged attacks around an arena. I played the army looking one with the night-stick arms. It would probably take more that the month to do it right tho and the 3D modeling.

Finally, another idea I’ve been toying with is a creating a classic style game like Pacman and do a tutorial series as I make it so that folks at home who want to try Unity can follow along. Pacman would be cool because it would teach moving a character with the keyboard, building maze levels, creating simple enemy AI, pickups, power-ups and points. The framework could be an easy jumping off point for learners to make their own games – a dungeon crawler isn’t much different: a maze with a different texture for walls, enemies that swing swords or throw fireballs could easily spring from a pacman clone. Tutorials are a big undertaking, but I think we could create a game for the month and document How-tos at the same time. Perhaps I will start here, but those games above are near and dear to my heart so look for games inspired by them someday from me.