280 likes | 432 Views
Torque Script IDE plug-in for the Eclipse Platform. Team: Matt Cummings and Steven Defriese Mentor: Dr. William Harrison. What is Torque Script?. The scripting language the controls the Torque Game Engine. The Torque Game Engine is a general purpose game engine developed by Garage Games.
E N D
Torque Script IDE plug-in for the Eclipse Platform Team: Matt Cummings and Steven Defriese Mentor: Dr. William Harrison
What is Torque Script? • The scripting language the controls the Torque Game Engine. • The Torque Game Engine is a general purpose game engine developed by Garage Games. • Cheap licensing fees, $100 for all the source code, non-commercial
Types of games that can be made… • First Person Shooters • Racing • Simulation • RPG • Action • And others
Structure of Torque Script • A procedural, script language with C-like syntax. • Emphasis on simplicity, aimed towards game engines. • All the expensive graphics, audio, physics, etc. calculations are handled by the game engine (written in C++)
Some of the things Torque Script controls in the engine • scoring • managing players • defining player and vehicle behavior • controlling GUI interfaces • control physics settings
An example of a player code block with physics settings • datablock PlayerData(HumanMaleAvatar) • { • … • className = Avatar; • shapeFile = "~/player.dts"; • cameraMaxDist = 4; • mass = 100; • drag = 0.1; • maxdrag = 0.5; • density = 10; • maxDamage = 100; • maxEnergy = 100; • runForce = 4000; // 50 * 90; • … • jumpForce = 1000; // 10 * 90; • … • };
More Code… • function ParseArgs() • //----------------------------------------------------------------------------- • // handle the command line arguments • // • // This is called from common code. • //----------------------------------------------------------------------------- • { • for($i = 1; $i < $Game::argc ; $i++) • { • $currentarg = $Game::argv[$i]; • $nextArgument = $Game::argv[$i+1]; • $nextArgExists = $Game::argc-$i > 1; • $logModeEnabled = false; • switch$($currentarg) • { • case "-?": • $usageFlag = true; • $argumentFlag[$i] = true; • case "-h": • $usageFlag = true; • $argumentFlag[$i] = true; • } • } • }
Which platform to develop our Torque Script IDE on? • Developing an IDE from scratch takes alot of time just developing the UI components. • Answer: develop an IDE on top of a robust platform to allow us to focus on the IDE layout and functionality. • We chose the Eclipse platform
Information about the Eclipse Platform • An open-source IDE with various development tools integrated within • Universal IDE • Supports development of plug-ins • Free!
Java Features in Eclipse • Syntax highlighting • Code collapsing • Code auto-completion • Code hints • Code generating tools • Debugging
Syntax highlighting • Keywords • Comments • Etc.
Code collapsing Hover mouse over main main is collapsed
Code Auto-Completion With system calls:
Code Auto-Completion With user defined variables and methods:
Wizard to Generate Code Java class wizard:
The Generated Code Code stubs:
Our objective • Build a plug-in for the Eclipse platform that enables a programmer to code, run, test, and debug their code. • One complete package that is easy to install, given to us for free by being able to distribute a plug-in file as one binary file.
Important Features • Syntax highlighting • Code collapse • Function lists • IntelliSense-like code assistance • Test runs • Module testing • Debugging