Introduction to Game Development 2
Hi,
Today I was thinking about several small points about game development in AS, it’s not a bad idea because when you want to create a game, you need some knowledge about your language abilities, resources requirements, frameworks and limitations in your platform or framework, and now I want to talk about these subjects.
In the first post of game development series I want to write a basic introduction about what you need to know about design and development of a flash game. These are my ideas:
1-Game Style
We have many types of games but in flash games and online games I can separate into these types
a) Action:
Action games are the most popular among people and everyone likes this type of game because action games are the most interactive ones with nice effects and usually with emotion events, although action games are more harder to develop because they have more effects, and events and they need more wit and floating stories.
b) Adventures:
Yes! 99% of games are in this group but in my opinion in some games you have to find the best way or a good solution; time, interactive effects, story and etc. are not important, for example some kind of puzzles or something like this.
c) Miscalculates:
Luck, Guess, Time, Wit, Reaction General Informations, Are very operative in this style, in many games you need to find a correct number, word or color or in some types of miscalculate games you need to find the best solution and fast reaction in lesser time, in miscalculate games you need luck more than everything else.
d) Puzzles:
puzzel games have many fans among people because everyone can play this and they’re very good for improving your precision and focus, you need some skills for playing this type of games, for example you may need to play whith keyboard or mouse very good, or have a good memory for memorizing pictures or numbers or guess shapes.
e) Shooting:
In my opinion, more than 50% of flash games are in this category, just you shoot an object (ball, shot, bomb, …) toward one or more targets and you get life or score course with different stories and graphics.
f) Skill:
yes, it’s a little surd really what’s this? I include many games in this category, for example if you have to play with mouse very fast and stringent, if you have to play game with keyboard very fast and on correct times, or maybe if you have to draw some shapes with hand and something like these, all must be included in this group.
g) Strategy:
Strategy games are very special for developers because this type of games needs more artificial intelligence and developers should work on this part.
we have many games in this group, for example tower defense games or path finder or even very classic game like X.O altogether are in this category and user have to find the best way to win in these games.
2-Recources
Every game needs some resources and they’re related to the style of the game
a) Story
In first step after selecting your genre, you need a story for your game; maybe just a line for a puzzle game or you may need to write some pages about it. Anyway it’s not developer’s task.
b) Graphic
Graphic and illustration are two of the most important parts in game designing, because users are directly interacting to graphical interface and an excellent coding without a good graphic can’t be successful. However graphical effects are very important, specially in action or shooting games because story and rules are static and user likes to see beautiful effects and enjoy that.
c) Sound
In most flash games we don’t have narration or voices but every games needs special sound effects or background sound (depends on the situation), and sound effects can help game designer make an interesting game, so you can’t forget this part.
3-Manufacturing Methods
Also we have two important things in this part
a) Frameworks:
If you want to make a small flash game like many types of puzzle games you don’t need special library or framework because you can write your own code very easily; for example in a classic X.O game you have graphic, sound effect, a little AI (Artificial Intelligence), and after a little thinking about your goal you can build your professional game.
But on the other side, you have an action game with many different objects, sound effects, animations, graphical effects &… if you have just a small experience about game designing with AS you know you need some methods and abilities; for example: Hit objects, Math and mathematical calculations, Attractions weight and Physics, Sound manager, and some easy but important duties like animation and resource managing.
If you want to develop a game you need these abilities in your code but always you’re not the first person who wants to do such work and some persons did the same works like what you want, in most parts of your work you can find many open-source frameworks ready to use; for example if you need Physics engine, only need to Google it and you can find some Physics engine or for sound management or whatever else you like to do.
b) Rendering:
If you have a game with many interactive objects you need a render engine or special game framework. What’s the problem?
Every object in flash is vector by default and Flash must draw objects after every moment and enter the frame; now when you have many interactive object in stage flash needs more CPU for drawing because player needs to calculate every vector object and thereby maybe your player wants to use all of your CPU! and your game will be slow and slower. But what’s our solution? the most popular solution is Bitmap engines, some game engines use bitmap to draw view state, Instead they are directly used from the vectors, they return them to bitmap and finally you just see the bitmap as the result and using this method you can even have more than 4,000 items in your stage!
Again I should say, if you have a small game you don’t need to use this kind of frameworks but if you want to create a good game with no defects specially in system resources you should work with these frameworks.
4-Level Designing
After you made basic structure and all objects are ready, you should make some levels for your game, Level designing is a little hard and sensitive because the best game with the best structure but without good levels is boring and no one can enjoy it.
Levels must have a clean rule with clean difficulty and ease. Each level needs to have a new point for player and player needs to find new way to jump over that mystery.
Player needs some dynamic parameters to play better, for example Score or life are very important in most kind of games, player can try to get the best score and give some gift with that score, something like these can make very effective game for players.
These were my opinions about designing and developing a flash game, this was a very general note about game development, I’ll write some technical and of course abstract articles about developing flash games with ActionScript and frameworks in the next posts. I hope you like that.
Good Luck…
I'm Pedram Pourhossein, an ActionScript developer, interested in Flash/Flex and gonna write about my own experiences on Flash platform and technology in this blog.
What’s up, bro? everything’s right??!
Great article, man.
Especially, my favorite part is 3rd one (Manufacturing Methods). that was awesome
cheers
Nice domain name! i mean پدرام.com
come to my blog and see me there! maybe we have something to share