Latest Post

BankON™ Featured in Bank Technology News

Posted on: 20-12-2010 by Phil Hodsdon | In : BFS and Insurance, BankOn


As a result of this year’s launch of BankON, Sierra Atlantic was recently named one of the Top 10 Technology Companies to watch by Bank Technology News.   Sierra Atlantic is among the top 10 companies featured on the cover page of the December 2010 issue of the magazine. John Adams of Bank Technology News refers to...

Read More

Erlang experiments: The results are in

Posted on : 09-12-2010 | By : Chaitanya Munjuluri | In : Game Development, Outsourced Product Development

Tags:

0

As part of an initiative to start looking at various technologies and methodologies that will make revolutionise video game development, we were looking at various programming languages that would help scalability in servers. Multi threaded C/C++ code, design patterns, libraries, frameworks, and finally programming languages themselves fall under this division.

Subsequent to my earlier blog post on Erlang (refer: http://blogs.sierraatlantic.com/2010/10/erlang-and-experiments-with-scalable-servers/) we whipped up a quick server to test its scalability. Srini (a fresh graduate from University of Hyd) and Vijayender worked on the server side of the game while Chaitanya (not me) worked on writing a client using the Blender API.

It was in many ways an experiment on the productivity of the programmers. Vijayender, with his vast experience, was mostly involved in design while Srini and Chaitanya were responsible for actual implementation.  Keep in mind that Chaitanya and Srini have each just about 2 months of experience and I was already demanding them to write multi threaded code. However the results definitely surprised me.

We planned on making a very simple server that would cater to multiple incoming connections. The overall idea is that we would use one thread to run the networking related code, one thread to do the event management and one thread to perform collisions and the like. The reason for this was straightforward since this is a very simple form of threading (using the producer consumer pattern).

So how long did it take for us the finish this application? 2 months. Yes, that’s right. Just two months with a brand new pair of hands who have no experience writing multi threaded code.  The number of bugs that were reported? Less than 5 and all of them were deviations from the specification. None were technology related bugs.

The following graph depicts the throughput. X-Axis shows the number of clients while the Y-Axis shows the average time it took for a single update (in milliseconds)

The point to notice here is not how long each update took to perform. It is how the server scales automatically when we throw more cores at it. The performance is bound to improve if we switch all of the collision and mathematical calculations to a C/C++ interop (maybe even CUDA/OpenCL… hmmm).

Notice how the 800 clients an 8 core processor gives more than 30 fps consistent. Every time we figured an increased load on the server, all we had to do was toss more cores at it and the performance pretty much improved linearly.

Having worked extensively on multi-threaded code I have come to believe that the future lies in languages that are designed with threading in mind. Multi-core architectures are not going anytime soon and this is exactly why writing code that scales well is of extreme importance. I believe that it is better to toss more hardware at a problem than tossing programmers and Erlang seems to be a good choice.

Notes:

Here is a list of things that are left:

  • Mathematics interop in C/C++
  • Checking the numbers with Hipe VM
  • Checking the numbers on multiple operating systems
  • Hopefully try it out on the cloud ;)
  • Persistent store (database integration)

Here is the current setup:

  • Windows 7
  • Intel i7 CPU (8 hardware threads)
  • 6 GB RAM (although we were never limited by the RAM)
  • Erlang R14B 5.8.11

Social Gaming – A Casual Gaming Revolution

Posted on : 11-11-2010 | By : Ravi Polimera | In : Communicatons, Media & Entertainment, Industries

Tags:

0

Future generations will probably remember year 2009 for the social gaming revolution it brought about. The fact that “casual gaming on social platforms” entered the mainstream is more evident today than ever with more than 300 million people coming online everyday to play a casual game or a social gaming application. The virtual identity in “Facebook” or similar portals is some times predominant than the real “socially” life of this internet generation.

Every where around the world Facebook and its clones cater to niche audience and we see “gaming” as a mainstream medium of entertainment. In many developed nations gaming industry is already bigger than movies; for example in US the gaming industry is roughly twice the size of Hollywood. Social gaming now reduced the entry bar for the “new gamer” and every day thousands of people are joining the gaming network.

There were many significant milestones in the evolution of gaming as an entertainment medium, but “Farmville” by Zynga would probably be the defining game for its universal acceptance. With more than 55 million registered uses, out of which around 20 million users come online daily to grow their farms, this internet savvy generation which is too impatient to show off their achievements to their friends. Social games of today are an efficient mechanism to show off one’s abilities by broadcasting their wins/achievements on their social networks.

Social gaming empowered every online user to be a part of a single gaming network, and the gamer identity is now becoming an important extra curricular achievement. Hope this social gaming network would then flourish into the ideal

2010 is quickly becoming the year that this industry started to mature. Facebook is getting more involved in the monetization ecosystem, last year’s hit games are fighting for their lives, and new developers and games are climbing the leader boards. Large players are consolidating smaller studios and teams, and large media companies and traditional game developers continue to plot their social gaming strategies.

Keep watching this space for more…

Video Games – The Evolution

Posted on : 12-08-2010 | By : Abhishek Srivastava | In : Game Development

Tags: , ,

7

I was mesmerized the day I saw one. Video games caught my fancy as a child and at least from that aspect, I am yet to grow up. Looks like I am not the only one! The average age for a Video Game player is now 35 (source: Wikipedia). These are people who belong to the “Controller Power” era who were playing the first Arcade, console and home computer games as children.

The first Video Game I ever saw and played, which I still remember to this day, was the Freeway on Atari. The first computer game I ever saw and played was Paratrooper. They were so much fun, no matter how blobby the graphics look and monotonic the sound effects sound now. Pacman infact still has cult following.

Video Games, these wonderful illusions provide an audio visual experience, tricking one into thinking they are inside a fantastical world, moving, jumping, racing and doing what all not when actually staring at a physically stationary screen. Fascinated with this thought, one of the first “gamey” things I tried to program in Pascal was a “walk through a tunnel” simulation, where you would walk through a tunnel and use the arrow keys to, accelerate, decelerate, turn left and right.

Games continue to evolve, rapidly, their hunger for hardware pushing growth in that segment as well. Let me try and take you through this evolution as I have witnessed.

Shooting Games…

I’ve been a big fan of shooting games, so I’ll start with this genre. Wolfenstien 3d, good old days those, the game would fit on a 3.5 inch floppy. This game was a trend setter and pretty much gave birth to first person shooting games. Shooting down Nazis and their rogue dogs, changing weapons, seeing the protagonist’s face change with his health was a lot of fun, a new experience. The PC was now being looked at as an entertainment machine as well.

The popularity of the first person shooters saw a lot of hugely popular titles like the Doom series, Duke Nukem series, Redneck Rampage, Blood and the revolutionary Quake Series. Quake hit it big time with its online game play over the internet.

On consoles the Halo series has created much more than a stir, contributing significantly to XBOX sales. Half Life added the sci-fi angle to first person shooters. Unreal is another extremely popular example.

Lara Croft, the protagonist of Tomb Raider came in and changed this genre by adding a new dimension to it. This was the beginning of Third Person Shooters. With the protagonist visible on the screen, albeit from behind or from over the shoulder, the protagonist suddenly started getting a lot more attention, literally. MDK became popular with it’s really intelligent enemies and the sniper mode. Max Payne with his story of vendetta being brought out in a comic book like story line, killing the bad guys is one of the most popular Third Person Shooting games.

And can I go ahead without mentioning Contra, the Nintendo console game when talking about shooting games? I still remember the button combination that allowed 30 lives. :)

Combat Games…

“Finish Him”. If you know that phrase, there’s a good chance you have Carpal Tunnel Syndrome setting in your wrists. Yes the fatalities did take a toll on those overworked nerves and tendons along with the Mortal Combat characters. :)

Street Fighter II was another immensely popular arcade combat game, where you had to perfect those hard to remember and time special moves. And then you had the Capcom Vs. Namco games as well.

Racing Games…

One of the most popular ones, this genre appeals to varied demographic groups.

The relatively easy learning curve attracts a lot of new/non gamers.

I fell in love with racing games on the computer when I played Test Drive eons ago.

I was thrilled with the concept of being able to upgrade my car with the race money I won. Bikes, cars, I could race them all. Pole Position was also a popular game.

With new versions, one could see increasing amounts of realism being thrown into the game. You could honk, switch on your lights, and operate your vipers to increase visibily if it were raining. The asphalt on the game road started looking truer with better textures being used. The trees you whizzed past also assumed a more life like form as compared to mere triangles that would barely catch the corner of your eye earlier.

One could tweak various parameters in the car to suit personal preferences or the track/weather requirements. One could tune the suspension to suit the track, change the tyres from slicks to treads to suit the weather conditions. The game could be made more challenging by switching from automatic to manual transmission, the features were increasing at a break-neck speed. The physics in these games kept getting better. The damage sustained by your vehicle now also started to impact you vehicle’s performance if you so wanted.

“I feel the need, the Need for Speed”, the iconic dialog from the blockbuster movie Top Gun possibly gave birth to the title of one of the most popular racing games ever, the Need for Speed series.

Some racing games like Carmageddon and Road rash started endorsing violence, hung around for a while and yes, gained popularity.

Adventure Games…

Breathtaking backgrounds, an interactive story with an element of mystery and solving a lot of puzzles, now we’re talking Adventure Games.

The Legend of Kyrandia, that’s the first name that comes to my mind in this genre. Of course there were adventure video games (starting with text based adventure games) before that, but this was the first one I ever played.

Leisure Suite Larry, ok, let me just skip this one. :)

Games like Space Quest, the Monkey Island series also became popular. Myst took this genre world by storm.

The number of people following such games is dwindling and this is attributed to the other genres gaining popularity because they are not as “slow”.

RPG s…

Now this is one genre that has everybody talking. And by everybody I mean millions of hard core gamers, people who take games very seriously spend a lot of money and time on them.

The origin of this genre dates back to the invention of games like Chainmail and Dungeons & Dragons. These games were played by a group of people sitting across a table, using dice and pen and paper (we’re talking pre compter era days here :) ), assuming the roles of characters of fantasy, leading armies to conquer kingdoms, set out on adventues, honing their skill points with each adventure, becoming stronger.

The popularity of these games gave way to computer RPGs (also referred to as CRPGs).

CRPG’s like The Final Fantasy series, Elder Scrolls, The Legends of Zelda and Baldur’s Gates are some of the most followed ones in this genre.

Strategy Games…

The two genres of RPGs and Strategy Games often overlap, the line between the two being very thin if not non-existant. Games like World of Warcraft, Civilization, Heroes of Might and Magic, Commandos, Command and Conquer, Sim City, Dune, Age of Empires, Starcraft could easily fit into either of the two genres, because of the combination of strong Role Play and Strategy. Turn Based and Simultaneous Strategy games are both popular.

Casual Games…

I have seen more than one serious gamer calling the term “Casual Games” an oxymoron with a lot many more unmentionable adjectives thrown in. Come to think of it, the term serious gamer is also an oxymoron! Anyway, hard core gamers scoff at this genre, hard core game programmers probably want to stay away from programming these, but does that take away anything from the humungous fan base that these games have managed to build? I am sure all your facebook friends can be categorized into two buckets,

1.) Who play (or have played) these games a lot. Yes I’m talking about your friends whose crops have withered, or the Russian job that has to be carried out

2.) Who totally detest these games

Love them or hate them, but you can’t ignore them. They have a user base spanning all demographics, from kids to grannies. These games have spawned a whole new parallel economy of virtual goods and the numbers, both monetary and in terms of user base are gigantic in proportion.

Where are we headed?

Better graphics? More intriguing game play? MMO FPS games?

I feel it is the controllers that are going through a phase of revolution right now and the trend will continue for quite a while. The Nintendo Wii with its moderate processing hardware and just about ok graphics became immensely popular with its accelerometer and gyroscope driven Wii mote. You feel you’re in the game.

I’m also sure everybody is looking forward to this holiday season with the Microsoft’s Project Natal aka Kinect. If the demos and blogs are anything to go by, you might never see a controller again. The camera which is smart enough to recognize 31 body parts, 6 different players, with gesture and facial expression recognition is being touted as the future.

So what next? Gaming Hardware that detects eyeball movement? Maybe a game that reads your mind and doesn’t require even a camera.

Game for a brain implant for a game?