ECS and networking progress
It took some doing, but the act of creating entities and giving them components via the network is pretty much there. Systems are still WIP.
I’ve been reading a fair amount of articles on how to handle sending secured network traffic recently. I’m really unsure about implementing it for Shambler. Mainly because I have no idea exactly how expensive it will be. I guess the good thing is that it can always be applied later if performance is looking good. Either way, I’ll keep investigating securing the network traffic, just in case.
Server-wise, I’ve had to resort to GCC 3.0 instead of Sun’s compiler due to a lack of support for templated member functions. This may not be a problem with 6.0 but it definitely is a major problem in 5.0. This also means that the executable is 32-bit only, though I’m sure I could recompile GCC for 64-bit if I get desperate. The search for Forte 6.0 continues.
I’m not sure if I’ll attempt to perform an open network test this year. I’d like to now that the code has been cleaned up and it’s not a major headache to add new game entities. The next post should be close to what I had earlier with the hard-coded game objects. Yes, that means more cubes, unfortunately.
Another thing I’m working on besides networking is the save/load system and the UI. Supporting an anamorphic widescreen option adds some complications, mostly concerning performance. It’s a very real compromise when you don’t have a TnL GPU to work with.
On the hardware front, I’ve gotten a little further but not as far as I’d like. Having learnt that the PCBWay offer an injection molding service is very intriguing. It also would appear that the G2 bus expansion connector is very much so proprietary and will need to be created from scratch. A neat thing is that the theoretical maximum capacity of a MU is 128GiB. Realistically, though, I’m not sure how much the system and games will support. When initialising the backup library there’s a maximum of 1MiB for memory unit. It may be possible to support 32MiB though I’m aiming for 128KiB to start with.