public ColorScene(IEnvironment environment, InputMap imap) {
		m_colorWar = (ColorWar) environment;
		m_masterDisplay = null;
		m_agentDisplays = new Display[Constants.numAgents];
		m_worldImage = new BufferedImage(Constants.WORLD_WIDTH, Constants.WORLD_HEIGHT, BufferedImage.TYPE_INT_ARGB);
		
		// setup displays
		switch(Constants.renderingType) {
		case DEVELOPER:
			m_masterDisplay = new Display(Constants.DEV_VIEW_WIDTH, Constants.DEV_VIEW_HEIGHT);
			m_masterDisplay.initialize(null, Constants.GAME_NAME);
			m_masterDisplay.setCloseListener(this);
			
			for (int i = 1; i < Constants.numAgents; ++i) {
				m_agentDisplays[i] = new Display(Constants.AGENT_VIEW_WIDTH, Constants.AGENT_VIEW_HEIGHT);
				m_agentDisplays[i].initialize(null, Constants.GAME_NAME);
				m_agentDisplays[i].setCloseListener(this);
			}
		case NORMAL:
			m_agentDisplays[0] = new Display(Constants.AGENT_VIEW_WIDTH, Constants.AGENT_VIEW_HEIGHT);
			m_agentDisplays[0].initialize(imap, Constants.GAME_NAME);
			m_agentDisplays[0].setCloseListener(this);
		case SIMULATED:
			break;
		}
	}