var Altman = Container.expand(function () {
	var self = Container.call(this);
	var altmanGraphics = self.createAsset('altman', 'Altman character', .5, .5);
	self.vx = 15;
	self.vy = 15;
	var altmanLabel = new Text2('Sam', {
		size: 50,
		fill: '#ffffff'
	});
	altmanLabel.x = altmanGraphics.x - altmanLabel.width / 2;
	altmanLabel.y = altmanGraphics.y + altmanGraphics.height / 2;
	self.addChild(altmanLabel);
	self.move = function () {
		self.x += self.vx;
		self.y += self.vy;
		if (self.x < 0 || self.x > 2048) {
			self.vx *= -1;
		}
		if (self.y < 0 || self.y > 2732) {
			self.vy *= -1;
		}
	};
	self.update = function () {
		self.move();
	};
});
var OpenAI = Container.expand(function () {
	var self = Container.call(this);
	var openAIGraphics = self.createAsset('openai', 'OpenAI logo', .5, .5);
	var openAILabel = new Text2('OpenAI', {
		size: 50,
		fill: '#ffffff'
	});
	openAILabel.y = openAIGraphics.height;
	self.addChild(openAILabel);
	self.update = function (altman) {
		if (altman.vx < 0) {
			var targetY = altman.y;
			if (self.y < targetY) {
				self.y += Math.min(15, targetY - self.y);
			} else if (self.y > targetY) {
				self.y -= Math.min(15, self.y - targetY);
			}
			if (self.y < 0) {
				self.y = 0;
			}
			if (self.y > 2732 - self.height) {
				self.y = 2732 - self.height;
			}
		}
		openAILabel.x = openAIGraphics.x - openAILabel.width / 2;
		openAILabel.y = openAIGraphics.y + openAIGraphics.height / 2;
	};
});
var Microsoft = Container.expand(function () {
	var self = Container.call(this);
	var microsoftGraphics = self.createAsset('microsoft', 'Microsoft logo', .5, .5);
	var microsoftLabel = new Text2('Microsoft', {
		size: 50,
		fill: '#ffffff'
	});
	microsoftLabel.y = microsoftGraphics.height;
	self.addChild(microsoftLabel);
	self.update = function (altman) {
		microsoftLabel.x = microsoftGraphics.x - microsoftLabel.width / 2;
		microsoftLabel.y = microsoftGraphics.y + microsoftGraphics.height / 2;
	};
});
var Game = Container.expand(function () {
	var self = Container.call(this);
	LK.stageContainer.setBackgroundColor(0x000000);
	var altman = self.addChild(new Altman());
	altman.x = 2048 / 2;
	altman.y = 2732 / 2;
	altman.vx = 0;
	altman.vy = 0;
	var openAI = self.addChild(new OpenAI());
	openAI.x = 150;
	openAI.y = 2732 / 2 - openAI.height / 2;
	var microsoft = self.addChild(new Microsoft());
	microsoft.x = 2048 - microsoft.width + 150;
	microsoft.y = 2732 / 2 - microsoft.height / 2;
	var startMoving = false;
	var startMovingTimeout = LK.setTimeout(function () {
		startMoving = true;
		var angle;
		do {
			angle = Math.random() * Math.PI * 2;
			altman.vx = 10 * Math.cos(angle);
			altman.vy = 10 * Math.sin(angle);
		} while (Math.abs(altman.vx) < 3 || Math.abs(altman.vy) < 3);
	}, 500);
	stage.on('down', function (obj) {
		var pos = obj.event.getLocalPosition(self);
		if (pos.x > 2048 / 2) {
			microsoft.y = pos.y - microsoft.height / 2;
		}
	});
	stage.on('move', function (obj) {
		var pos = obj.event.getLocalPosition(self);
		if (pos.x > 2048 / 2) {
			microsoft.y = pos.y - microsoft.height / 2;
		}
	});
	LK.on('tick', function () {
		if (startMoving) {
			altman.update();
		}
		openAI.update(altman);
		microsoft.update(altman);
		if (altman.intersects(openAI)) {
			var diffY = altman.y - openAI.y;
			altman.vx *= -1;
			altman.vy = diffY / openAI.height * 10;
		}
		if (altman.intersects(microsoft)) {
			var diffY = altman.y - microsoft.y;
			altman.vx *= -1;
			altman.vy = diffY / microsoft.height * 10;
		}
		if (altman.x > 2048 - altman.width) {
			LK.showGameOver();
		}
	});
});
 var Altman = Container.expand(function () {
	var self = Container.call(this);
	var altmanGraphics = self.createAsset('altman', 'Altman character', .5, .5);
	self.vx = 15;
	self.vy = 15;
	var altmanLabel = new Text2('Sam', {
		size: 50,
		fill: '#ffffff'
	});
	altmanLabel.x = altmanGraphics.x - altmanLabel.width / 2;
	altmanLabel.y = altmanGraphics.y + altmanGraphics.height / 2;
	self.addChild(altmanLabel);
	self.move = function () {
		self.x += self.vx;
		self.y += self.vy;
		if (self.x < 0 || self.x > 2048) {
			self.vx *= -1;
		}
		if (self.y < 0 || self.y > 2732) {
			self.vy *= -1;
		}
	};
	self.update = function () {
		self.move();
	};
});
var OpenAI = Container.expand(function () {
	var self = Container.call(this);
	var openAIGraphics = self.createAsset('openai', 'OpenAI logo', .5, .5);
	var openAILabel = new Text2('OpenAI', {
		size: 50,
		fill: '#ffffff'
	});
	openAILabel.y = openAIGraphics.height;
	self.addChild(openAILabel);
	self.update = function (altman) {
		if (altman.vx < 0) {
			var targetY = altman.y;
			if (self.y < targetY) {
				self.y += Math.min(15, targetY - self.y);
			} else if (self.y > targetY) {
				self.y -= Math.min(15, self.y - targetY);
			}
			if (self.y < 0) {
				self.y = 0;
			}
			if (self.y > 2732 - self.height) {
				self.y = 2732 - self.height;
			}
		}
		openAILabel.x = openAIGraphics.x - openAILabel.width / 2;
		openAILabel.y = openAIGraphics.y + openAIGraphics.height / 2;
	};
});
var Microsoft = Container.expand(function () {
	var self = Container.call(this);
	var microsoftGraphics = self.createAsset('microsoft', 'Microsoft logo', .5, .5);
	var microsoftLabel = new Text2('Microsoft', {
		size: 50,
		fill: '#ffffff'
	});
	microsoftLabel.y = microsoftGraphics.height;
	self.addChild(microsoftLabel);
	self.update = function (altman) {
		microsoftLabel.x = microsoftGraphics.x - microsoftLabel.width / 2;
		microsoftLabel.y = microsoftGraphics.y + microsoftGraphics.height / 2;
	};
});
var Game = Container.expand(function () {
	var self = Container.call(this);
	LK.stageContainer.setBackgroundColor(0x000000);
	var altman = self.addChild(new Altman());
	altman.x = 2048 / 2;
	altman.y = 2732 / 2;
	altman.vx = 0;
	altman.vy = 0;
	var openAI = self.addChild(new OpenAI());
	openAI.x = 150;
	openAI.y = 2732 / 2 - openAI.height / 2;
	var microsoft = self.addChild(new Microsoft());
	microsoft.x = 2048 - microsoft.width + 150;
	microsoft.y = 2732 / 2 - microsoft.height / 2;
	var startMoving = false;
	var startMovingTimeout = LK.setTimeout(function () {
		startMoving = true;
		var angle;
		do {
			angle = Math.random() * Math.PI * 2;
			altman.vx = 10 * Math.cos(angle);
			altman.vy = 10 * Math.sin(angle);
		} while (Math.abs(altman.vx) < 3 || Math.abs(altman.vy) < 3);
	}, 500);
	stage.on('down', function (obj) {
		var pos = obj.event.getLocalPosition(self);
		if (pos.x > 2048 / 2) {
			microsoft.y = pos.y - microsoft.height / 2;
		}
	});
	stage.on('move', function (obj) {
		var pos = obj.event.getLocalPosition(self);
		if (pos.x > 2048 / 2) {
			microsoft.y = pos.y - microsoft.height / 2;
		}
	});
	LK.on('tick', function () {
		if (startMoving) {
			altman.update();
		}
		openAI.update(altman);
		microsoft.update(altman);
		if (altman.intersects(openAI)) {
			var diffY = altman.y - openAI.y;
			altman.vx *= -1;
			altman.vy = diffY / openAI.height * 10;
		}
		if (altman.intersects(microsoft)) {
			var diffY = altman.y - microsoft.y;
			altman.vx *= -1;
			altman.vy = diffY / microsoft.height * 10;
		}
		if (altman.x > 2048 - altman.width) {
			LK.showGameOver();
		}
	});
});
:quality(85)/https://cdn.frvr.ai/655dea807ffb7ee3f752b788.png%3F3) 
 sam altman head Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
:quality(85)/https://cdn.frvr.ai/655dec167ffb7ee3f752b792.png%3F3) 
 openai logo inside of a pong paddle Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
:quality(85)/https://cdn.frvr.ai/655dec497ffb7ee3f752b79a.png%3F3) 
 microsoft logo inside of a pong paddle Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.