Eddie Long's Site |
| phone +(44) 7542909753 email eddie@edmundlong.com |
Hi, I am a 28 year old programmer from Ireland. I am an enthusiastic C/C++ software engineer with an excellent academic background always looking to expand my skills in a challenging team atmosphere working on current edge technology. I am analytical and methodical with strong problem solving skills and an ability to quickly learn and apply technical expertise.
All development work was highly critical both in terms of quality and performance as the results of all work undertaken had serious implications in what end-users saw and interacted with in the game.
At this job I have been primarily working with C++, STL and XML within the confines of the custom Front End system for the game.
For more information about my role at Championship Manager at BGS see my Champ Man page.
Before BGS I was working with Learnosity Australia as a voice and web developer. Working mostly with ColdFusion, PHP and Asterisk PBX. My main roles were:
Before starting with BGS my primary focus in games was in AI.
I have used various AI techniques in my demo work, for my first game Revelations, a first-person shooter, I developed a finite state machine, simple decision making and basic pathfinding solution for the AI.
As part of coursework for the MSc in Abertay, I created a simple 2D game that used Fuzzy Logic and Genetic Algorithms to land a spacecraft. The fuzzy logic controller for the game alters the thruster force being applied to the spaceship to land it safely below a certain velocity. The genetic algorithm creates populations of spaceship actions (i.e. thruster direction and force magnitude), simulates applying them to the spaceship and through mutation and reproduction creates candidates that land the spaceship by applying the correct sequence of actions. By evolution and mutation a solution is (generally) found that lands the spaceship.
For a group project, I implemented the AI for a Lego RTS game. This involved developing an overall master AI to control the building and strategy manager, group AI logic to control the behaviour of groups of units in a way that mimics a real-world command structure. Individual AI for units was done using a simple finite state machine. I also created an influence map which the Master AI reads and uses to direct groups of units. I also helped develop the pathfinding for the individual and groups of units using A*.
As part of the DirectX module in Abertay I created a racing game that involved AI opponents. The AI races around the track following one of two racing lines while also targetting and firing rockets at other opponents. The AI for this game involved finding a way of representing a track to an AI oppponent and developing a system for them to follow it while also targetting pickups in the process. AI followed a scripted path around the track but would also react to actions taken by the user and alter their direction and actions based on this. The targetting of the player uses raycasting to determine which opponent is in sight before eventually firing.
My Masters thesis was influenced by the AI of F.E.A.R. and the work of Jeff Orkin. F.E.A.R. won various awards for the AI in the game and utilised a technique known as Goal Oriented Action Planning(GOAP). The basic idea of GOAP was that an agent has a collections of actions and a set of goals. Given a specific goal the agent would find a solution by chaining actions together using A*. Actions are given a cost so that A* can decide the cost of a particular route and determine the cheapest way to arrive at the goal. Each action has a precondition and an effect. If a particular action's precondition wasn't satisfied then the algorithm would look at other actions available and try and find an action whose effect that would bring the agent closer to the goal. By chain them together the agent could form a plan (e.g. find ammo, reload, attack) . All the agent would need to do was to monitor its goal and check if it has become invalidated. If so then the agent may need to replan for a new goal.
As part of my MSc I created my own GOAP system that used A* for both planning and for navigation. The dissertation involved developing a GOAP and finite state machine system and was placed in a game scenario where experiments were carried out between the two. Comparisons were made on three levels, the first was based on the results of simulations in Domination, Capture the Flag, Deathmatch and Last Man Standing modes. The second comparison examined the two systems from a technical perspective and investigated how each system performed from a memory management, CPU usage and efficiency standpoint. The final comparison considers the merits of the two systems with respect to ease of management, flexibility and re-usability.
You can find the source, thesis and executable can be found in the Downloads section of the site.
I have experience with several IDEs. Visual Studio would be my primary method of development but I have also extensively used Eclipse, Aptana, XCode and Interface Builder and Dreamweaver.
I have used SVN, CVS (including SourceSafe) and Perforce in my previous roles.
For further information about me, please see my games or non-games CV.
I've had an article published by GameCareerGuide.com about a college project I participate in called Blok Wars, have a look
Gamasutra mentioned the article, a first for me getting mentioned on their site! Link
The game above is a futuristic racing simulation where the player pits their wits against AI opponents. The game includes features such as collision detection and response, rigid body dynamics, environment mapping, 2D UI, particle effects and fully functional AI.