About Us | [Public iPhone iPad Courses] | [Public Android Courses] | [Public Arduino Courses] | [Contact Us]

Game Programming,Simulation, Modeling

These courses are scheduled on demand.


Computer Game Programming, Simulation and Modeling

Computer Game programming is probably one of the most demanding programming disciplines known. In fact it contains a range of sub-disciplines including computational geometry, simulation and modeling of physical systems, artificial intelligence programming, computer graphics, numerical analysis, multi-tasking and scheduling, operational analysis etc.

These same skills are also applicable to simulation and modeling applications used for purposes such as simulation for training and decision support purposes and simulation of various scenariios for planning purposes.

There are also overlaps with data mining and data discovery applications, development of adaptive systems, design testing and validation of distribued and ad hoc networking systems, logistics systems, risk analysis etc.

FTT has developed a range of modules covering various aspects of the above topics. These modules are available in variants of C, C++. C# and Java

Custom Courses

To meet more specific training needs, FTT can provide customised applied programming courses that can include further modules / topics such as, for example, natural language processing, code generating tools and techniques, hierarchical state machines and statecharts, programming entities with "emotional characteristics"

These courses can be presented either at your own premises or at our facilities in Carshalton. Custom training can be cost-effective for groups as small as four. Please call us to discuss your requirements.

Click on the links below for HTML versions of the full course outllines
Crs Title Days Outline
CGP101 Matrix Theory, Representation and Computation for Computer Game Programmers 3 HTML
CGP102 Principles of 2D and 3D Computational Geometry for Computer Game Developers 3 HTML
CGP103 Differential Equations for Computer Game Programmers 3 HTML
CGP201 Understanding and Working with Physics Engines 5 HTML
CGP202 Principles of Artificial Intelligence Programming 5 HTML
CGP203 Computer Animation Programming 5 HTML
CGP204 UML and Object Oriented Analysis and Design for Computer Game Programming 5 HTML
CGP301 An introduction to Computer Game Programming using C++ and SDL/OpenGL 5 HTML
CGP303 An introduction to Computer Game Programming using C++ and DirectX 5 HTML
CGP305 An introduction to Computer Game Programming using C# and XNA 5 HTML
CGP401 C++ Programming for Computer Games 5 HTML

There are five main course areas:

  • Maths and Geometry (Courses CGP1xx)
  • Computer Game Development Skills (Courses CGP2xx)
  • Computer Graphics (Courses CGP3xx)
  • Programming - Algorithms and Data Structures(Course CGP401 - which has C++, C#, Java , Python and Lisp variants)
  • Specialist modules - The contents of these modules can be tailored to customer requirements and can include topics such as
    • Basic and Hierarchical Finite State Machines and Statecharts - Implementation and Application
    • Rule Based Programming - Principles, Implementation, Frameworks and Uses
    • Simulation and Modeling with Petri Nets
    • Neural Networks - Theory, Implementation and Uses
    • Genetic Algorithms - Theory, Implementation and Uses
    • Fuzzy Logic - Theory, Implementation and Applications
    • Graphs - Theory, Algorithms, Implementation and Applications
    • Statistics, Bayesian Networks, Probability and Reasoning with Uncertainty
    • Queuing Theory, Stochastic and Markov Modeling

The Maths and Geometry Modules are targetted at developers whose knowledge may be a "little rusty". These topics may have been studied as part of an undergraduate or postgraduate course but then not used in any applications. It may be that some of these topics may have been "optional" modules that were not selected for study. The aim of these modules is to get developers up to speed, without unnecessary formalism and with the emphasis being on understanding the concepts, being able to apply them, and being able to read the "heavyweight proofs and theory" when really necessary.

The Computer Game Development modules - which cover Physics, AI, Animation as well as Analysis and Design are technical topics that need to be mastered as necessary to bring "creative ideas" to fruition. These modules are "broad brush" in nature ... but if needed can be extended (tailored) to cover particular topics in greater detail.

The Computer Graphics modules cover the various graphically oriented game development frameworks. They come in an intensive introduction version and a more advanced version for those who already know the basics. The OpenGL courses can be run on Microsoft Windows, Linux or MAC OSX platforms. The DirectX courses are run on PCs running Microsoft Windows. The XNA courses can be run on either PCs alone, or a mixture of PCs and game stations.

The programming language modules are, essentially, programming language oriented and cover data structures and algorithms that all advanced programmers should know about. Very often, university courses ( with some notable exceptions ) only "scratch the surface" of this subject. Alternatively computer game programmers who have followed more of a "self teaching" path have found this subject area "dry and intimidating". Hopefully these modules will prove "inspirational".

The specialised modules are there to be used, where necessary, to gain a fast track understanding of advanced and specialised topics in a more effective way than reading advanced technical papers and specialised technical books.