The Making of Advanced Combat

by Kevin Neal on June 10, 2011 · 3 comments

in Guest Posts

[MJW: About two years ago, Kevin contacted me to ask a question about my Avoider Game tutorial. Since then we've been communicating frequently, and I've had the great pleasure of seeing his game develop, and of seeing Kevin himself develop as a game creator. The code, graphics, sound, and music in the game were all made by him, which is a truly impressive achievement. Now that the game has since been sponsored (by MaxGames , through FGL), Kevin and I thought it would be interesting for him to share the development process. I hope you enjoy it!]

To start off, this is story about somebody who knew nothing about ActionScript 3.0 or ever made a Flash game in his life. He spent two years on a game, from start to finish, which meant learning AS3, making graphics, composing music, and putting it all together 4-5 times, until it finally got sponsored and put online.

screenshot

I was inspired to make a Flash game as I couldn’t understand why there wasn’t a Flash game with advanced artificial intelligence. I wasn’t asking for much, just for NPcs to stop seeing me through walls, for them to strafe and hide behind cover, and to have allies on my side who fight with me. I looked online, unsatisfied with each game I played, unable to find that one game that fits me. The closest game to what I wanted was Endless War 3. I looked at the game and said to myself “I can do this, but make the NPCs smarter”.

Before I continue, remember there is always a reason behind why things are done a certain way. A reason Flash games aren’t too advanced.

I started with learning ActionScript, making things move. I looked online for tutorials, ran across a few, and this site is by far the best site to start out learning how to make your own game. It reminds me of those “____ for Dummies” books, which explain with clarity each detail what you are doing, and why you’re doing it, without taking in too much information.

screenshot

Shortly after completing the 12 tutorials of avoider game, I worked on making NPCs not see through walls. I started with lines that were connected to the NPC, which bent and resized to “feel” the surroundings, locking onto targets and following them if conditions were met. My NPCs had (and still have) three lines of sight, to detect walls, to detect distance, to detect other npcs, and most importantly, figure out what to do with the given information. All this was needed for an NPC to navigate around walls, and determine when they see another NPC.

I wont go into menu interface (headache) hehe. One major change I did was alliance. NPCs were grouped up and put in a loop within a loop. Maybe even three loops, detecting each other, testing each other to see if they were friends.

Throughout my experience developing this game, it went through several graphical and musical changes. I learned no matter how many times you change the graphics, or music, it wont look or sound much better. Doing the same thing over and over doesn’t produce a different result; insanity.

screenshot

Next time you look at this game, remember its engine is built from avoider game, just with a bit added on to it. “MoveABit()” is still in the code, moving the NPCs at a specified speed. The only difference is the speed varies from one NPC to the next, and the direction is always changing.

A few tips:

  • Don’t always change something becuase a few people don’t like it, unless they are paying you.

  • When your game is up for bid and you get a bid, don’t reject it no matter how low it is, well $10 might be pushing it.

  • Start small, simple. Make a simple game and finish it. Then move onto a slightly bigger project.

  • Back up your files

  • Back up your files again

  • Do the above or else! I say do it for every “medium” update. FLAs can corrupt themselves and refuse to open. As your project gets bigger in code, more things can go wrong. Make use of catching errors and separating code into functions.


Check out these versions of the game.

Version 1.5:

screenshot

Version 2.0:

screenshot

Version 3.0:

screenshot

Version 4.0:

screenshot

Version 4.5:

screenshot

Final Version 4.9 (sponsored by MaxGames):

screenshot

…and a sneak peek at the sequel:

{ 3 comments… read them below or add one }

Mushyrulez June 11, 2011 at 4:09 am

Oh, you’re rescue86k? Definitely a huge congratulations!

Now if the rest of us were as determined as you…

PLyczkowski June 12, 2011 at 7:59 pm

“no matter how many times you change the graphics, or music, it wont look or sound much better. Doing the same thing over and over doesn’t produce a different result” Well, maybe in your case, usually doing something over and over again when done properly increases the quality, thanks to a process called learning. I suggest you remove this part. Congrats on completing the game, good luck with part 2.

Ben Reynolds August 23, 2011 at 7:10 pm

Wow, congratulations to you! Amazing that you made a game of this quality all by yourself (code, art, music, etc). Actually pretty inspirational, it goes to show you that if you don’t give up you can accomplish a lot :)

Leave a Comment

Writing code? Write <pre> at the start and </pre> at the end to keep it looking neat.

Anti-Spam Protection by WP-SpamFree

Previous post:

Next post: