@Notes: Self-taught in OpenGL and always loving an algorithm or a way to make code more efficient and maintainable. Learned PhysX 3 so I could add a motion plugin to the code at XPI, and convert the collision plugin from 2.x to 3.x. I've also become their AI expert.
@Lockdown: Some people learn a language or to cook in lockdown. I've struggled when trying to learn Spanish (some might have gone in - Estoy aprendiendo). I have been working on code proejcts. I've made progress with my Afraid of the Dark demo and Scarlet.
#define THE_QUESTION (0x2b || !0x2b)
// And the code continues. Click a tab ;)
@Summary: Software Engineer for XPI Simulation
@Features: I work in C++, with a little bit of batch-script and copious amount of AI, PhysX, maths, logic and bug-killing, as one would expect:
Been teaching the code base and some coding techniques to a couple of new coders I've been helping to train;
Debugged the AI - fixed this 'poisoned challice' that previous coders seemed unable to properly tackle;
Introduced our vehicle dynamics to PhysX 3, which also meant migrating our collision engine fropm PhysX 2 to PhysX 3;
Made our software more accessible for the OmniCAV consortium we're a part of.
I love making the code more efficient as I track a bug.
@Page: XPI Simulation
// It may have multiplayer, AI, scoring and 3D graphics, but's it not a game - it's a simulation
@Summary: Blackjack in an Egyptian theme, brought to anything Android.
@Features I worked on: Action Script, converting from Obj-C in some cases, menu systems, condensing dynamic spritesheets, gameplay synch bugs, helping to transfer the code to a template framework (enabling dropping in game code, rather than writing everything from scratch), language localisation, finding and fixing many difficult bugs.
@Page: Google Play
// Is it just me that thinks the Visual Studio logo is starting to look like a ninja's mask?
public class Blackjack
@Summary: Classic Worms 2: Armageddon brought to Android.
@Features I worked on: C++, Java; OpenGL ES, JNI, platform-sharing code. Helping out with the Android porting, basically.
This was after working on the AI on Worms on Facebook. Those servers are no longer online, sadly.
@Page: Google Play
// Then again, the Visual Studio logo also reminds me of the Virgin Media logo.
@Summary: Worms 3 brought to iOS and Android.
@Features I worked on:
Obj-C: menus, GUI;
C++: OpenGL ES, JNI, platform-sharing code; asset sharing.
I started on the iOS version, then helped with the Android version of Worms 2, and then the Android version of this.
@Pages: Google Play iTunes
// I wonder if Virgin Media are full of ninjas. They did have the speediest of the domestic Internet connections.
@Summary: Worms brought to Facebook.
@Features I worked on:
The starting platform engine - landscape terraforming, explosions and worm movement in Action Script.
AI that worked quickly and intelligently for a casual market, even comparable to the PC variants.
The landscape damage was made to be recreatable and repairable.
// AI are going to take over the world? Have you met a self-serve machine? It'll only happen if staff authorise it.
// Without his distortion, the voice-over guy would not have sounded out of place telling children's stories
// #include PHILLIP_SCHOFIELD // Too expensive
@Summary: Afraid of the Dark is a concept demo featuring 8-year-old Toby, who is trying to stay in the light.
@Features: C++, OpenGL (usual basics: 3D geometry, texturing, transparency), Inverse Kinematics, hideous décor, coder art.
@Further features: Put it into a ready-made engine, like Unreal (which I'm working on now); realistic lighting; motion capture data.
@Download: Afraid demo
// #define TRUE FALSE // A cruel joke to play on someone...
@Summary: 3D Snake puts a twist on the arcade classic - the arena rotates in all directions to see how well the player can co-ordinate themself.
@Features: C++; OpenGL (back-face culling);
no hint of any texturing, though the snakes' curves flow really well;
AI controlled snake as play-alone or opponent:
- A* path-finding heuristics
- avoids other snake
- kills time if food is blocked
- knows when to navigate through walls
@Next features: Texturing of the snakes; better graphics (opening mouths, actual food graphics), network-play, customisable snakes.
@Download: 3D Snake AI code samples
// void * vPointer; // It compiles, but what are you, exactly?
// void ** vArray; // Still compiles, but just adds to the confusion. Stop now.
@Summary: The Scarlet Citadel is a medieval-themed Unix chat-room
@During Lockdown: I've been making design improvements to the code.
@Features: Since I took over the code it's been made object-orientated, had many (many!) bugs removed, and various features and improvements implemented (deep breath):
Multi-compilation solution to code-edit problems
Multi-threaded DNS look-up
Improved the live bug-reporting system
Improved the text flow/alignment control
Made customisable time-stamps
Added a more versatile objects system with 2-tier editability
Made the swear filter more managable
Made it easier to ban repeat offenders
Added to the constantly increasing smiley texts
Removal of memory leaks
Added more intelligent command/text discernment
Idleness warnings/auto-AFKs added or improved
Added n00b mode for people likely to make embarassing tpyoes
@Connect: Open a preferred telnet client (I use PuTTY) and point it towards scarlet-citadel.co.uk port 2000