Reader small image

You're reading from  Game Development with Three.js

Product typeBook
Published inOct 2013
Reading LevelIntermediate
PublisherPackt
ISBN-139781782168539
Edition1st Edition
Languages
Right arrow
Author (1)
Isaac Sukin
Isaac Sukin
author image
Isaac Sukin

Isaac Sukin has been building games since he was eight years old, when he discovered that Nerf Arena Blast came with a copy of Epic Games' Unreal Editor. At 16, he became co-leader of the Community Bonus Pack team, an international group of game developers for the Unreal Engine that won 49 awards over the next few years. He started learning to code around the same time by developing an open source Facebook-style statuses system that thousands of websites have adopted. Since then, he has been increasingly drawn to interactive JavaScript on the web. He created an open source 2D game engine in early 2012 and then dove into Three.js. As of 2013, he is a senior, studying entrepreneurship and information management at the Wharton school at the University of Pennsylvania. He has worked for Twitter, First Round Capital, and Acquia among others, and was previously a freelance consultant and developer. He is also a founder of Dorm Room Fund, a student-run venture capital fund that invests in student-run startups. You can find him on GitHub and Twitter under the alias IceCreamYou or visit his website at www.isaacsukin.com. He has previously published short stories and poetry, but this is his first book.
Read more about Isaac Sukin

Right arrow

Setting up CTF


In order to have a proper Capture-the-Flag game, we first need to have teams. There are several things that need to be associated with a given team:

  • Flags (and the flag color)

  • Players (and the player skins)

  • Spawn points

  • Bullets (if you want to avoid same-team damage)

  • Potentially map decorations/materials

The simplest way to associate each of these elements with a team is to just add a property with a simple value such as R or B to represent Red or Blue (or some other team name). A more advanced approach could be to create a Team class that holds references to everything that belongs to that team, since that could offer optimizations such as limiting the number of collision checks that need to be performed. If you do that, however, make sure you remove all the appropriate references from the Team container when removing something (such as a bullet) from the world in order to avoid memory leaks.

Next, we need to modify our map to add flags for the Red and Blue teams, which we'll represent...

lock icon
The rest of the page is locked
Previous PageNext Page
You have been reading a chapter from
Game Development with Three.js
Published in: Oct 2013Publisher: PacktISBN-13: 9781782168539

Author (1)

author image
Isaac Sukin

Isaac Sukin has been building games since he was eight years old, when he discovered that Nerf Arena Blast came with a copy of Epic Games' Unreal Editor. At 16, he became co-leader of the Community Bonus Pack team, an international group of game developers for the Unreal Engine that won 49 awards over the next few years. He started learning to code around the same time by developing an open source Facebook-style statuses system that thousands of websites have adopted. Since then, he has been increasingly drawn to interactive JavaScript on the web. He created an open source 2D game engine in early 2012 and then dove into Three.js. As of 2013, he is a senior, studying entrepreneurship and information management at the Wharton school at the University of Pennsylvania. He has worked for Twitter, First Round Capital, and Acquia among others, and was previously a freelance consultant and developer. He is also a founder of Dorm Room Fund, a student-run venture capital fund that invests in student-run startups. You can find him on GitHub and Twitter under the alias IceCreamYou or visit his website at www.isaacsukin.com. He has previously published short stories and poetry, but this is his first book.
Read more about Isaac Sukin