Well well well, its my second day continuous to write a post on my lovely blog GamyGuru. I would like to thank you all the readers who supported me and my blog by reading this. Thanks
You probably be thinking about the title of post, its a little confusing i guess. Well, it is. Here is background of title. Before starting my new job, i was at home doing some rest for while. I was at home for 2 months doing nothing and rest. So, a friend of mine, he is an iPhone developer, recommended me to start freelance and earn money at home. I was getting bored of rest, so I created account at Freelancer.com and started bidding and getting projects. You can see my Freelancer profile at this link:
So, I always took freelancing as negative step, so i was never interested in it. This time I thought of giving it a try, and boom boom boom, I was liking it and I was getting projects. Then I suddenly got job as game developer and yes! I love games, so i accepted offer and started the job. But, as committed with my early and new clients I had to finish their projects and work, so I started working double shift. One shift at job and other at Freelancer. Man!!! That was tough life, and i wanted to stop it, so i stopped to bid and apply for projects and hired some non expensive and affordable freelancers and gave projects to them and finished the projects. Phewwww, I took long deep breath and now its time to rest.
Haha, that’s not end of post, that’s the start of post…. well, as title says Once a Freelancer is always a Freelancer. I stopped applying for projects but projects and clients never left me. They still contact me and provide projects and different offers, which i really don’t want to deny. So, its been 4 months to stop freelancing but still doing it, sometimes intentionally and sometimes unintentionally… you really can’t quit freelancing so easily, its more tough job than starting freelancing. Let me explain this. One way to stop freelancing is to be unresponsive to all clients you got and sooner or later they will stop to contact you. Well, that will make your negative image in clients mind and the respect, you got by working hard and by providing quality solutions, will be gone within a minute. I would say, there is no worthy thing than respect in this world so I will never do that. The other method is to provide the projects which you get to other clients and manage things in middle. What I learnt through this was that managing projects is much much easier than managing people. Human behavior is toughest part in people, and that’s the skill in a true leader and entrepreneur.
Thanks for reading this, and I will be back tomorrow with my other experience story. I hope You like this post.
Hey Guys!!! Once again I am back after very busy days. So, today I am starting a series called as Inside The Game. In this series, I will write the mechanism and architectures, which fills the architectural part of the game. The architectural part means here is that how a developer or computer programmer thinks behind the game. In this series, there will be also some example games, which will show and apply the tactics to be learnt in this series.
Enough talking, lets start the series. So, in the first article of Inside The Game series, I will tell you the differences between game and software. During my student age, I was taught in a way that i couldn’t find the difference between game and software before starting game development. All I learnt was that game is a graphical software. Well, you can say that this definition is correct in many ways. Hold on!!!! I think I forgot something important to mention here. I am writing this article from coding, programming, or development perspective view. Okay, let’s come back to what I was saying. So, I learnt that game is a graphical software. Well, you can say that, but when I started game development, so in my first game, I sat at compiler and started coding, and oooops, I was writing game like I was writing a software. And after 5 months of working hard, I got to know some major differences between software and games. Thus, its time to start discussion on the differences rather than discussion on inspiration and motivation.
Seriously, what’s a game?
There are thousands of books written on game development by hundreds of authors. Some authors defined the game like this:
A game is a closed, formal system, that engages players in structured conflict, and resolves in an unequal outcome.
This definition is a good one, and explains almost everything for a game. Also, this is very general definition. If we define the game in programming terms, then game is a graphical software with many other things. And, games can be compared with software as well, but it can also be compared with animations and simulations.
Game vs. Software
Phhheewwwwww……. Software is compared to game. One thing should be cleared is software keyword in this article means any application performing any specific task like utility etc. Generally, in computer science the piece of code is called software. So, according to this definition, game is also a piece of code, thus game is a software. Now, conceptually, game is very different than software. It has been clearly shown that software is an event-based program. We add event listeners and dispatch events in the program to run the application. The application becomes dependent on the user like if user clicks on this button, then application will do this. What if user doesn’t click the button, then software will be paused and will go to idle state(if any). However, game’s mechanism is much different than the event-based approach. It is not like this that games do not use events or do not dispatch events, rather games also use events. The mechanism behind any game is game loop. There is a loop in the game, which runs infinite times, and when the loop breaks it means its game over or game completed. Game is not fully dependent on user. For example, in software, application waits for the user input, while in games application just continues to the next iteration of the game loop and again it waits for a while. If user doesn’t provide input, it just continues to next iteration of the game loop and so on. Following figure shows general game loop of any game.
So, in the figure above, the game starts from starting game engine, then it loads all the required resources such as images, sounds etc. Then there starts a game loop. Game loop performs many different tasks. If we see the games generally, then each game performs these four tasks directly or indirectly. First is to process inputs. The game engine processes inputs i-e it checks whether any user input has come or not. The next step is to simulate the game world. So, in this step game engine performs all the necessary calculations to update the world and game values, it also includes user input values in the game world, and sends it to the next step, which is to render the world. This step displays and renders the game world on the screen of the device. Finally, the last step is to check shutdown conditions. Shutdown conditions tells the game engine whether to stop the game loop or continue to the next iteration. In case of continue, all steps are performed again. However, in the stop case, game engine unloads all the resources and exits the game.
In the nutshell, if we see a software and game from programming or coding perspective, then both are very different than each other. In the conclusion, I would like to say a word of advise to you that when you sit to write a game in compiler, then the first and most important task to you is to write the game loop. Thanks for reading the article and please give your valuable suggestions, comments, and ideas, I would love to hear from you.
So, we compared the game with software and saw some basic mechanism behind a game and a software. In the next part, Inside The Game – Animation, Simulation, and Game , we will see some differences between animations, simulation and the game and we will learn how to make a game from any animation or simulation. To read the next part, click here.
How was this article? (Rate It)