Wildfire 1.6 (or 2.0?)

I’m currently working on a major update to my Wildfire game multiplayer system, specifically fixing the mess I created four years ago when I wasn’t an advanced C# programmer. The system needed to be updated anyway due to updates required for system libraries such as MySQL (the system currently uses Connector v5, when the latest …

iPhone Testing Methodology (and why I don’t cancel eBay orders straight away)

As a hobby I buy broken iPhones, fix them, and resell them for a profit. I don’t consider it a business and is purely a hobby that I do in my spare time. That said, I apply a strict testing methodology to every device I sell. Any anomalies are always listed in the listing, or …

Game Diagnostic Consoles

Game development consoles provide statistical information about what’s happening internally within the game and the engine itself (i.e. what assets are being loaded etc.), and some allow command input for various functionality- useful for modifying engine behaviour on-the-fly. I’ve made a start on one for one of my assignments, copying the same opacity (70%) and …

Networking: ENet & Timeout Values, and the importance of heartbeats

ENet supports setting the timeout value on the connection. The way it’s formatted (as a enetpp:client_connect_params() parameter) makes it look like it only applies to the connection process: client.connect(enetpp::client_connect_params() .set_channel_count(1) .set_server_host_name_and_port(address.c_str(), port) .set_timeout(static_cast<std::chrono::seconds>(3))); As I found out, that’s not true. It applies to all data Rx and Tx (receive and transmit) actions- that means that …

Networking Diagnosis with Wireshark

I’m still unfamiliar with ENet (I find it to be extremely limiting when compared to other networking libraries), so have yet to create a stable network connection with the server (the server receives the data but the client doesn’t seem to process any data sent from the server). Yesterday I didn’t even get that far- …

Ten years of Crysis Wars: an analysis

March 31st 2019 marks ten whole years since the last official update by Crytek to Crysis Wars, the lack of updates since then caused the game to die by mid-2014 (the GameSpy shutdown didn’t help with that either). It was claimed by Crytek that the reason why no more updates were released for the game …

3D Pathfinding: Thoughts

For one of my university assignments I’m working in a group to develop a racing game, taking inspiration from Mario Kart. I’ve come to realise that AI (specifically, staying in the centre of the track and/or getting the width of the track) is pretty important for a lot of stuff in the game: Items (red …

Wildfire 2: Branches

As said in my last post Wildfire 2 needs to support two university projects: The first, a digitization of a board game (in ASGE) The second, a mobile AR game being a cross between Tetris and Bejeweled (in Unity and Vuforia) The first project needs the server to be integrated into its codebase (with a …

Wildfire v2

I created Wildfire 2 (technically Wildfire 3, but Wildfire 2 was never completed) last week to act as a gameserver for a couple of uni projects. The Wildfire (and thus GSv2) protocol was never intended for this kind of use (actual as a communication layer for an actual gameserver) so Wildfire v2 will have several …