Introduction
I'm a (22) game designer & developer student and I want to learn all kind of new techniques in making games, so that I can broad myself and do task faster, more efficient and spend more time on making the game itself rather that setting up etc... I have been here for a while, but never posted anything nor replied on a topic yet until now. I do wonder around here on the forums once a while, but what makes me post this is the fact of one of my goals for 2013.
One of them is to develop a online multiplayer game, by trying out various network multiplayer services like PlayerIO. I have tried Unity3D networking, peer-to-peer which was easy to setup but though time fixing who-was-right. Now I wanted something more client-to-server model, with a multiplayer service included to handle all the back-end stuff.
Below you'll read some process I got into using PlayerIO, while some will be posted on my own blog...
p.s. feel free to contact me, perhaps we might be working together on project in the future.
- Jayce Rettob
==
Process
Since I was totally new, I downloaded the development package from the homepage and read the flash multiplayer tutorial to get though the basic logic of networking games. This gave me better sight of what problems I might run into during multiplayer development. Once the files were downloaded and unpacked, I headed to the flash example and looked through the code.
The first thing I noticed was the coding was written on the timeline. I'm not a huge fan of timeline coding, because it makes developing a lot harding with Adobe's Flash IDE timeline editor... No worries about it, I managed it to convert is to .AS files which was not hard to do and I managed to get something up.
![Image](https://o.twimg.com/1/proxy.jpg?t=FQQVBBgpaHR0cHM6Ly90d2l0cGljLmNvbS9zaG93L2xhcmdlL2MybW9tei5qcGcUAhYAEgA&s=SSbislGQsrP9jQlwf45pdK13SNFqce00IY_EsgEkTt8)
- Above image: Screengrab of the login screen, registration screen and in-game.
- Using PlayerIO.Connect to login
- Using PlayerIO.SimpleConnect to login/register
- Using client.multiplayer.CreateJoinRoom to create a room or join the room
- Send/Receive Message's between Client-Server
- Update client with server's data via message
- Able to read and rewrite the inter- & extrapolation that was written in the example
- Learned that this was easy to setup!
==
Unity3D + PlayerIO
Now that I've learned some of the basic, I was wondering how this would go if I would use Unity3D and spend some time going through the Mushroom Example that was in the development package... Here I found out that is was fairly the same as in AS3, which was easy for me to convert the code to Unity3D AND THAT IT EVEN WORKED FOR SAME SERVER I made for flash the example!
![Image](http://d3j5vwomefv46c.cloudfront.net/photos/large/735508725.jpg?key=1365876&Expires=1361756438&Key-Pair-Id=APKAIYVGSUJFNRFZBBTA&Signature=aH3yoUs-YzM3nUDOWPeKu~FJ3I330syQtKYGy7gDvz2Nfl-g7vqpkWl0q4sj7jUdpjG7AKos~vbmJcfYnjUjSDqghB1AdXNCzaY2tppilUQJdO2jOqrX4rgu-gTOCEvXQT9U~pqVRIhjkG8-Q2iD7ohlrrgFJlvgyxgLBB4TRPs_)
==
AIR2D IO
Time to develop this into a real working project. Hereby I'm trying to port one of my first playable game ever build intro a 2-4 multiplayer game. The game is called AIR2D where you are a space pilot outer space and have to save the world from aliens which try to invade the earth *cliche*. However this is one of my first ever build game, where I even coded in Flash timeline... and learned AS3 (good memories).
The game is a arcade space shooter (survival), with simple controls and mechanics, which can lead into fun, short and tense gameplay. This game will be made for onegameamonth, which is a soort of gamejam where you have to develop/release one game a month (like the title says).
I'm not sure how the client/server will handle realtime-games and how to attack some problems that will occur during the process, but I'll be sure to share some informations once I found the problem and possible share how I attacked those. I'm also up to learn from others how they handle these problems and what's suited best based on their choices.
Programs used: FDT, MonoDevelop and SVN (VisualSVN, I'm hosting my own svn server).
NOTE: If you want some in-depth information on a certain topic that I did or didn't mention and you want to learn/know more about it. Feel free to ask in a comment/reply/pm/etc.
NOTE: the following post are from latest version to old version. r = revision, since I'm using SVN as version-controle.
UPDATES
- r70 No enemies... - 23/02/2013
![Image](http://d3j5vwomefv46c.cloudfront.net/photos/large/736681287.png?key=1139521&Expires=1361757239&Key-Pair-Id=APKAIYVGSUJFNRFZBBTA&Signature=lVPOpe3Gojk635Fy7kw8efBl-~nqyaK20OBZWGepf3WBoxBg1YOukTc2O3amLXOwxLExJ1IVdZ2eaFC1J3V0epKegskjfzCCiRsw0Qy9K~wNkKwHgY9OeSHNM21yuV8X6SaUNCzmc12d3r~dBmiY9tEbph85EVvUP~hKelhTHyU_)
- Added a lot of stuff and also learned a lot of new stuff. Managed to spawn projectiles and make them move and update at each client!
- Learned how to make a LobbyRoom, ready state for each player and send them to a new room which is the actual GameRoom. The GameRoom can't be searched via the RoomlistPage, only the lobbies.
- Added my todo list what I still want to do the upcoming week, it's going to be a though week.
- r2 Click model - 22/02/2013
Link: http://previews.jbrettob.com/air2d_io/r2/main.swf
- Here you can simple just navigate through the flow of the game.
- I used MinimalComponents for the current mockup.
- Will be updated with some final graphics in later a stadia...