Posts

Code dependencies

Are you struggling to make a given set of scripts from a project compile error free? If that is true, then you are in the same boat as I am right now. I have come across projects where logic is scattered around to get a functionality out of the pipeline with limited value to object oriented programming, and the most valuable and time saving of all is the plugin architecture. This is as best as it can get. Let me explain.. A producer has an idea and wants to make a quick prototype. He opens a new project, drags and drops the packages he needs and boom the game runs. Obviously you don't expect a producer to code (unless he is from development). The game would not be perfect, but at least it would get the ball rolling and you don't need a developer to assist the producer. Now, to do this, you would want the packages to follow a common rule. You can do this using an interface and have classes implement them. For example, the avatar package and the pet package can implement the...

Meetings reduce productivity

Image
A meeting because of some idiot not having the brains!!! Not all, but some.

Simple Prediction System

Suppose you have an incoming packet which has velocity, position and rotation details with it then you could extrapolation using the velocity in this manner Vector3 pos = mPacket._Pos; Vector3 vel = mPacket._Velocity; float timeStamp = mPacket._TimeStamp; float timeDelta = (NetworkManager.CurrentTime - timeStamp) / 1000; Vector3 predictedPos = pos + (vel * timeDelta); newPosition = Vector3.Lerp(newPosition, predictedPos, 0.2f);

Authoritative Server - MMO

Latency, Authoritative Server, Lag Compensation, Course Correction, Packet Drops and Client Side Prediction. These are things you would worry about when attempting to build a MMO game. For companies where the delay matters these logics are a must. This post is on setting up an Authoritative Server. There are different ways of setting up the authoritative server. Some of them is mentioned here. You have N clients and one client acts as the authoritative server: Imagine N clients with different machine configurations. The server would need to decide the best possible machine and have the physics simulation run in that. We then have issues with client disconnecting in which case we need to swap the authoritative client to another machine. This means we have to maintain all the state the game was in and move it to the new authoritative client. In an online environment this is simple nothing but nonsense. There is a dedicated server which simulates everything including physics and ...

Apple - What is wrong with you?

Image
Seriously! what the heck is wrong with Apple? Its fighting over a rectangle and rounded rectangle? Why is it battling out on the shape of a product? I mean rectangle - isn't this universal to everyone? What is wrong with someone imitating it? It’s not that they developed a technology that would make the phone invisible. Anyways I feel it’s a bigger gamble than the size or shape of the product. It’s all to do with money and sales. For every one apple product there are three android products sold. This means there is more non-apple phones and operating systems out there. Honestly Google and other companies are benefitting a lot more than Apple. Apple has the pressure and it looks like if they don't do something it would be the doom very soon. Recently Apple won it's battle over Samsung, and what is even surprising is Apple is Samsung's biggest customer. It really commendable that these technology giants are able to keep relationships together and yet battl...

Unity3D 4 Game Engine - New GUI

Image
We all know that Unity3D is an amazing game engine. We also know that its existing GUI system sucks. However Unity 4 promises to resolve this issue by introducing an all new GUI system. Yes! Finally we can breathe easy and gain those frame rates we struggle with on the mobile devices. The following link gives a demonstration of this new GUI system. http://blogs.unity3d.com/2012/06/29/the-new-gui/ . It is however not clear when it shall be available to the end user. It is also not clear whether they would completely eliminate the OnGUI calls or retain them for backward compatibility. Sometimes I feel Unity has been unfair in setting its priorities right. Honestly, optimizing the GUI system should have been their first priority and its sad that they had to wait so long to address this.  Anyways the good news is they have finally heard us. I wish they had acted earlier and I could have saved loads of time figuring out ways to get to a descent FPS with the existing GUI o...

Game Analytics

Image
I have been wanting to move from our custom logging process to an analytics tool specific to gaming for quiet sometime now. The main reason being maintenance and interpretation of the data. After some research looks like Playtomic is the only game analytics tool that gives more than you can ask for. I played around with other tools but nothing so interesting. Lumos for example is new and has a long way to go and most of them use google analytics to get their job done. What we need was much more than that. Heatmaps supported by Playtomic is simply awesome. Who would not want it. I am surprised nobody else thought of it; maybe because it seemed more of an overhead than a good feature to have.   Unfortunately it also looks like Playtomic is dangling right now. It claims to be recording several billion events a day and for that amount and the price I wonder how they are able to sustain. A good product like this should never end. I hope they continue their support and I hope they ...

Interpolation, Extrapolation - My life is still moving around...

Image
I needed a good interpolation system for my cars in the mmo world. I tried a few in the internet but nothing served its purpose. The logic used server time and current network time to figure out how old the packets were to based on which it would interpolate or extrapolate or simply snap. For most part the logic worked fine and so I don't blame all the wonderful articles I found in the internet. The problem I had was lag, frequent snapping, and sometimes slow and quick acceleration of the car. There wasn't a smooth movement. It would move smooth as long as the packets arrived fine and once they delay it would begin doing all crazy things. After dumping all logs it was evident that the problem was with the packets arriving very late. This is because over the wire through UDP there were lots of packets being dropped. This means on a high speed racing game where I collect and do a lot of things I definitely have a great deal of this loss and this magnifies where there are mo...

Smarfox 2x Compression Error

The smartfox 2x compression error has now been resolved. Very soon there shall be a patch released with the fix. Phew! finally some relief and the 2X server will now continue rocking!

SmartfoxServer 2X

The compression error in SmartFox 2x is probably due to the client side getting choked with a lot of incoming messages. The only solution as of now is to limit how much a client processes incoming messages. The client sends data to the server, the server maintains a queue of information and on a periodic interval keeps dispatching this data. This way we can control how much data is processed by the client. Though it looks like a smart fox issue, the solution above is temporary, but should work.

Unity 4

Unity 4 features comes with load of new stuff. Its good, but coming up with something that would re-write the GUI system would just be a blow to most of the companies out there who have all their projects working around it.

Asphalt 5

Image
Games for the iPad.. hmmm one of it is Asphalt 5 from GameLoft. And hey! it works on the iPod and the iPhone too. And it is a pure arcade racing game. The game has all the usual gaming mode that comes along with any racing game and also with other features like earning money, unlocking cars and like. There are twelve different locations and some awesome cars including Mini Cooper S and the Ferrari 599 XX. The graphics is good and so is the look and feel of the cars. There are cool soundtracks too. It is available on the PSP too.

Fallout 3 - Bethesda Softworks

Fallout 3 from Bethesda Games Studio is an action RPG game and is the third game of the fallout series. The game is available for the XBox, PS3 and for the windows and was released last year. Bethesda started the work of fallout in 2004. The game has some adult content and also violence and had chosen to pursue the ESRM rating of M (Mature).

Electroserver or Smartfoxserver

Electroserver rocks. It's simple, easy to use and quick to learn. Smartfoxserver on that other hand is slightly different but if you have worked on ES then working on SFS would not be difficult. SFS has an api for C#, now this is a plus for most people developing apps for windows or mac. Support for Actionscript however is there both for ES and SFS. So this would help game development for online games. Learning curve for ES is low and hence you could speed up in no time. It has got a good API and have a great documentation. And best of all, it is got a good customer support and forum. So my choice would always be on ES.

Windows versions and Operating Systems! Why so many?

Ok before I talk let me first show you the list of all operating systems we have had since Microsoft began. Windows XP Windows XP Starter Edition Windows XP Home Edition, Windows XP Home Edition N Windows XP Professional Windows XP Professional N Windows XP Professional x64 Edition, Windows XP Tablet PC Edition Windows XP Media Center Edition Windows XP 64-bit Edition Windows XP Tablet PC Edition, for tablet PCs Windows 2000 Windows 2000 Professional Windows 2000 Server Windows 2000 Advanced Server Windows 2000 Datacenter Server Windows Me Windows 98 Windows 98 Second Edition Windows NT 4.0 Windows 95 Windows NT 3.51 Windows NT 3.5 Windows for Workgroups 3.11 Windows 3.2 Windows NT 3.1 Windows for Workgroups 3.1 Windows 3.1 Windows 3.0 Windows 2.11 Windows 2.10 Windows 2.03 Windows 1.04 Windows 1.03 Windows 1.02 Windows 1.01 Right there you go. I have a list of 36 items here. Keep in mind that I have excluded the server and CE editions of windows. The first thing you will note is each ...