How do I learn Flash Game Development?

2019-03-08 06:40发布

问题:

I'm currently a PHP programmer and one of my childhood dreams is to create a game.

The problem is I don't know Flash. I'm not great at drawing stuff or even artistic. I could program a little with JavaScript and I could consider myself intermediate with JQuery.

Question

How do I get started with Flash Game development? What books do I read first?

The type of game is a side scroller about an Indiana Jones type of character and the setting is on the jungle with trees and snakes and a lot of animals.

回答1:

Two and half years ago I was exactly where you were. I've since learned Flash and released a couple of popular games. Here's what I found out along the way:

  • Flash CS is not a good tool for programmers to write Flash games. Use either Flash Develop (free) or Flash Builder (Adobe's IDE with better integration and debugging, but not free).
  • I found Colin Moock's "Essential Actionscript 3.0" to be an excellent introduction and overview of AS3.
  • AS3 is quite a different language from PHP. It's much more Object-Oriented, very similar to Java. Also, its event system may seem quite confusing at first.
  • I found Tony Pa's tile based game tutorials quite useful, even if not creating a tile-based game.
  • Read every post in this thread of AS3 tips.
  • Start small, with the simplest possible game you'll actually finish and release.


回答2:

Welcome to the wonderful world of Flash game development!

There are some tips I'm going to give you for beginning:

  • You come from a programming environment. That is good, as you will find the Flash CS* is a very hostile IDE when you want to do some serious coding, as you will do in your game. Recommended IDEs: Flash Builder (formerly known as Flex Builder) is a great IDE, based on Eclipse, but you'll have to pay something for it, it comes with everything you need to start developing in ActionScript 3. FlashDevelop, if you are in Windows, it's also a very good IDE, though you'll need to install the free Flex SDK along with it to begin.

  • "Wait, ActionScript 3? WTF, I just wanted to make games in Flash!". Well, yes, you can make games in Flash, but it's a difficult place to code, so you just keep ActionScript 3, which is the underlying programming language, and use a better IDE to keep you code together. Having said that, you still have a use for Flash: to make the illustrations. You can do the illustrations in Flash and insert them into your code.

  • You might want to learn the ropes with AS3 first. It's very different to PHP, but you will do OK, it's very similar to Javascript!, as they come from the same ECMA standard.

  • Once you know your way with basic AS3, you will want to know how to dispatch and listen for events. Events in AS3 are the main way to communicate between classes. Events allow you to give an instruction to load a file, and then process the file only after it has been downloaded. They are also crucial to use Flex, the graphical library.

  • "But it's Flex the SDK?" Yes, it's a combination of things: it's the SDK, the whole package you download, it's the AS3 compiler, which takes your code and outputs it in a SWF file, and it's the graphical library, which you could use to build UIs quickly. But you probably don't want to use that yet for your game project.

  • Once you know AS3 and events, you'll probably want to download a AS3 game library like Flixel (http://flixel.org/) or FlashPunk (http://flashpunk.net/), which have some classes that will ease you the way you'll think about your games.

  • Make a Pong, and make a Tetris. Both games have all the necessary things games have, like a game loop, collision detection, sounds, etc. These are relatively simple games.

  • After you know how to make A game, you should start beginning to make YOUR game. You will also want to share your goals with other game developers. I recommend you to go to the The Independent Gaming Source, http://www.tigsource.com, which has some of the best forums for game developers, and you will find a lot of games, wacky, weird and good ones.

  • It's important that you release your games, no matter how unfinished or bad they seem to be to you. It's a common issue that game developers are a little bit too perfectionist, and that is a problem when you go around 2 years and you're still making a game. Cactus (http://cactusquid.com/) is a Swedish game developer that has easily developed like 40 games in two years, though he mainly uses Game Maker for programming. You will like him.

  • I have run out of tips, so it's time to get going and start learning ;-) Good luck!



回答3:

There's a similar question, What technology should I use to write my game?.

My suggestion there, was to consider the Unity 3d Game Engine. In addition to being a fairly powerful development tool, it has several cross-platform deployment options. You can build both a stand-alone executable (for Windows and Mac, not yet Linux), and a web-browser version.

It also uses both Javascript and C# (and Boo, a variant of Python) for scripting languages. These are based on Mono, the Open-Source version of .NET, so it's not just a gaming platform, but has access to all of .NET's abilities (well, those implemented in Mono anyway).

See the Licensing page for a long list of Unity's features (the Basic version is free). And check out the list of Unity-based games, of which the first is Tiger Woods PGA Tour Online, by Electronic Arts.



回答4:

You might be better off using a JavaScript game engine. With the adoption of HTML5 technologies in major browsers, these are becoming increasingly popular (and mature).

This will be easier for you if you already know some JavaScript (although actionscript is very similar). In addition, the skills you master creating the game will help you in other fields since a standards-based HTML5 game will use the same technologies necessary for web development and any development that uses web standards as a platform.

Effect Games, an example game engine. (consult google for a more complete list ;) )



回答5:

Flash is a poor programming interface, it is only really good to create your animations, which you can export to a compiled SWC. So, do your programming in another tool, like Flashbuilder (go pure AS projects, not Flex).

You'll want to use a library, I haven't used any engines for platformer-games like indiana jones. So I can't tell which are any good.



回答6:

You can find some pretty good game development tutorials at http://www.makeflashgames.com

The tutorials will lead you through some simple but iconic games into more advanced ones like Tower Defence.

All source codes are provided, and you will find step by step, line by line explanation of what's going on. =)



回答7:

Try

http://www.kirupa.com/developer/flash/index.htm (Game Development) section.

You need to go through actionscript.

get a actionscript book and flash ide.

ActionScript: The Definitive Guide



回答8:

You might be also interested in similar questions like:

  1. use flash action script to develop online games
  2. Game Development: Flex or Flash IDE?