Top  Previous  Next

William Sworin kindly took the time to share some of his game development wisdom with us.


Q: How many people are working at Silas?

A: It was just me for the majority of the project. Another guy has been doing character models for me for a few months to help finish things up.  Throughout the years I also had someone help develop a shader or two.

Q: What are, in your opinion, the key selling points of your game? What makes it special?

A: The key selling points are the gameplay, art style, and customization options. Foremost, I believe that a game should be enjoyable, fun, and then I aim to focus on everything else. If you enjoy kart racing games, in-depth multiplayer, and many different worlds to do battle or race in, then youíll enjoy Silas. It is unique since I am the first kart racing game to use a different style of targeting, have many different weapons with two functions each, and interesting environment challenges while racing and in battle. I am also the first kart racing game with such a large variety of multiplayer modes and options.


Q: Did you get the chance to test Silasí multiplayer abilities in a ďreal-lifeĒ environment? How many players can run the game at the same time without problems?

A: I havenít the chance to test it in a situation other than a network setup; however this is on the short list of things to do, and will be done. I am shooting for 16 players at a time with no problem, and have it implemented like so. But if I find it is better suited for 8-12 players, then this could be easily changed. I know I should be able to get at least 8 with no issues online. I coded the multiplayer so I have control over everything that gets sent. Basically, itís quite optimized.


Q: What are the features of your multiplayer lobby system?

A: The lobby system and everything that goes with it is all done in menu form. I still have to hook everything up on the backend to the menus. However, it is going to be a basic lobby system like in most RTS/FPS games; you will be able to create a game, or join one. You can also chat within the game room, and I am hoping to implement a friends list as well. I will record your server address on a database, and when someone joins the lobby, they will see the list of servers and can join at will.


There may also be an option to join ďat willĒ, into a game server thatís already playing a game. But this would be limited to certain battle modes only(Deathmatch, CTF). If I did this, I might give the option for the player to create their own dedicated servers.


Q: How does the ďfull damage systemĒ work?

A: Each kart has 100 points of health, and overtime, the kart will re-generate. Each weapon deals a different amount of damage. There are two types of events upon destruction. Projectile based weapons will spin you, and you will lose speed because of this. Turret based weapons will destroy your vehicle, and you will lose a bit more speed and control, and then re-appear. I have full damage modeling for all the karts.


Q: What shaders are you using and where?

A: It is mostly basic shaders, and then there are some advanced effects for users with better computers. What you see in the screenshots are environmental normalmapping for the karts and characters, and normalmapping on the weapons. There is a simple environmental water shader. The ground uses a mixture of detail mapping, realtime sun lighting, and shadowmaps. The item cells and jump pads use a scrolling texture alphamapped over a solid texture.


For the more advanced effects, I have the option for Depth of Field, Realtime water relection/refraction, and Heat Haze. I plan to have all the levels with the option for environmental bump mapping when I am done.


Q: How will you implement the leader boards and stats tracking?

A: The leader boards and stats tracking will be implemented using a database. I will log the top 25 world times on each race track; you will be given the ability to upload your time trail score if it beats an existing one. Iíll also track your kills, wins, loses, and deaths, plus other statistics and store them in your user account.


Q: Please give us some tips for the beginners out there.

A: I would recommend starting a much smaller project than I did for my first one. Itís best to get the ball rolling as early as possible, then find/hire some help and go from there. Doing a large project on your own is very time consuming, complex, and of course, risky. It will also take you years, because most people, including myself when I was younger, donít account for the learning process when you first start. With the direction the industry is moving in, there is much more opportunity than ever before to sell a small project and do well.


A7 is a very capable engine, and if youíre serious, try as soon as you can to start using a proper development programs. I used 3ds max 6, Adobe CS, Adobe Audition, and Sonar 7 to develop Silas. Also, do your code first with place holders for models, and then focus on art and sound. This is very important, because art advances with technology, but code will only outdate as you become better. And learn from everyone in the user community. Much of what you need to know has already been done.


Another thing is to choose your genre wisely. I chose a kart racing game after failing to start an FPS properly. I realized that the kart racing genre was fairly open, with only a couple games considered top of the class, and was something I could compete in, or even become the best. It also did not have the graphic strain of other genres. Remember, the graphics will take the majority of your time, and even if you have money to buy most of your work, you will still have to put it together in a game. Your first few projects may not be your dream game. But itís all part of a long process to one day create it.


Thank you a lot, William.