• Development
  • » C#
» C# (.NET) Development

:: Background

We have been utilizing C# to develop various applications for about two years. We always develop using Microsoft Visual Studio 2008 (thanks in no small part to UCI and the MS academic alliance) and it is by far my favorite development environment.

:: Experience

  • Full fledged automation platform targetted at automation of various software systems. Allows partial or full automation of a system after creating a simple script using the powerful API.
    • Software was applied as an automation solution for users of online games.
    • Complex pathfinding implemented with A* algorithm over a navigation mesh. These meshes exist as XML files and can be edited via a graphical representation of the mesh. Additional logic can be attached to individual nodes.
    • Simple XML based configuration system allows unlimited developer defined variable definitions as well as easy extensions to existing configurations. Automatic parsing identifies variable types and appropriate usage.
    • Gathers inputs via memory reading using supplied offsets and patterns. Maintains detailed object list representing the objects populating the "world". Automatically garbage collects outdated information and efficiently updates the list only on an as-needed basis.
    • Full keyboard and mouse control without requiring the focus of the target application's window.
    • Provides access to a variety of unmanaged C++ code libraries in the convenient, managed C# environment.
    • Fully documented API has allowed numerous novice developers to script their own custom logic in only a few hours.
    • Just-in-time compilation ability of custom script files.
  • Research into a C# based interpreter for parsing large data-sets and creating dynamic code at runtime.