|
Post by MaDPuPPeT on Sept 13, 2013 0:08:00 GMT
More work done on the networking last night.
* The machines are connecting. * Maps are being sent across. * Players are synchronising * Build/Dig commands are synchronising
Todo on networking
* Add Profile UI support so you can say who you are and support multiple profiles per machine * Sync player damage * Support Clients leaving/re-entering * Sync changing blocks * Sync changing signs * try sync water/lava spread (scary - that can be lots of blocks) * sync map changes since server started
probably other stuff I've not considered yet
|
|
|
Post by MaDPuPPeT on Sept 16, 2013 23:29:47 GMT
Fighting through some flu and loss of voice since the Buildville Twitch episode. Have managed to get a little further on the networking
* tile changes (drawing or configuration) are now sync'd across the net * added a phase to voxels that fills the internals with a solid color. this makes them compress a lot better as the 32x32x32 voxels were eating up a lot of memory if you just flood filled them with noise.
Took a bit of restructuring for that but works pretty nicely and should not be long now to implement Actor and Object syncing the same way.
|
|
|
Post by MaDPuPPeT on Sept 17, 2013 16:04:15 GMT
Had a very successful night with networking.
* Tiles/Objects/Actor edits now networked. Nice generic system so I should be able to add vehicles pretty easily. * Added auto-splitting system for packets so large packets (like 32x32x32 voxel tiles) will get splitted and remerged on the network thread automagically. * Successfully networked PC with iPad with no lag or memory issues.
Still to do: * add profile support * draw names above players * player chat * handle drop and and rejoin * sync loose objects * migrating sync of ai actors * optimise actor sync packets - they are much bigger than they need to be * testing,testing,testing * player damage
|
|
|
Post by MaDPuPPeT on Sept 19, 2013 23:40:46 GMT
Some more networking work
* a handful of bugfixes so ios to ios works properly now and don't have memory issues * still some issues with >2 players - the non-host clients don't see each other * added sync code for adding and removing tiles/actors/objects. Not tested/finished yet.
Looks like there is STILL a bug that can corrupt the entire levels. Surprised I haven't received any bad reviews about it yet, but maybe that means people aren't playing it that much yet.
|
|
|
Post by dozenbeer on Sept 20, 2013 14:34:11 GMT
keep up the good work
|
|
|
Post by MaDPuPPeT on Sept 20, 2013 15:40:53 GMT
Thanks dozenbeer.
More bug fixes tonight. * adding/removing tiles/objects/actors now working correctly and networked and hooked into the UI * found a couple of crash bugs * fixed the issue that was corrupting the entire level * found out why the colour palette gets locked sometimes if you double tap it on iOS but haven't fixed it yet.
Was going to do more but I updated to iOS 7 and then realised I needed a 2gig update to xcode to continue working... So more for tomorrow night.
|
|
|
Post by MaDPuPPeT on Sept 21, 2013 17:38:48 GMT
Another night, a few more bug fixes. * multiple clients connecting works correctly now and they all see each other. * planned out whats left on the Network front - 4 or 5 more items and it should be good to go. * started working on 'disconnect' prototcols. * fixed ios clicking on colour palette quickly was locking out the colour button
|
|
|
Post by MaDPuPPeT on Sept 24, 2013 0:20:30 GMT
Took a break to play some actual PC games. * Crisis 2 - very pretty and great gun feedback and the stealth dynamic is quite fun, but story wasn't too enthralling. * Fez - hmm. nicely made but not sure I'll bother completing it. Play tested Buildville on 3 ios devices. * started working on clients disconnecting and reconnecting * started working on timeout code * probably need to disconnect from host on iOS if he tabs out... so maybe try migrating host duties to the next client. * theres a few crashes to track down on iOS currently PC is much more solid for some reason and not sure its just a memory issue.
|
|
|
Post by MaDPuPPeT on Sept 26, 2013 15:28:56 GMT
Fixed local multiplayer for network games * can now add/remove players locally in an online game, so you can have up to 4 characters splitscreen on each computer. * currently if the host exits, your still stuffed, or if the primary local player exists it kicks off all the local players.
May do host migration in future. it doesn't seem particularly painful but I don't think its critically needed for now. As a first pass, I'll probably just revert the players to hosting their own games if the host disconnects.
|
|
|
Post by MaDPuPPeT on Sept 28, 2013 17:08:38 GMT
I did some miscellaneous networking bug fixes last night. It was crashing when exiting a network session due to how it kicked off the players.
I took a break from networking tonight to do an updated skin for the UI It now uses a more iOS 7 / Win8 flat shaded look to the UI which I'm pretty happy with. I also dropped the scrollbar from the item select screen. You now hold the button down for a second to drag an item to one of your action bars, or else you can just drag-scroll up and down.
I'm considering doing a feature update that I can release on iOS while I continue to working on networking, since it networking will take a week of testing to make sure its stable enough to release on iOS, and its at least a week before I'm even at that point. The features will probably be some new 32x32 HD tile types, and a cylinder and ramp tile types.
|
|
|
Post by MaDPuPPeT on Oct 8, 2013 15:56:07 GMT
after some crunch time on my day job and a death in the family, I'm finally back on Buildville. Tonight I did sync'd any interum updates to the level between saves, so when a client joins, as well as sending the map file, it sends changes made since the last save.
The last couple of big ticket items are now: - actor syncing for AI actors. tricky since I need actor control to migrate to the nearest client since there is no uber-server controlling everything - profile creation front-end, so you can have multiple profiles per device/computer.
I think once those are in I can possibly do a release and get back to more fun work of adding functionality and gameplay.
|
|
|
Post by MaDPuPPeT on Oct 24, 2013 15:22:57 GMT
This month has been slow for Buildville. My day job has occupied much of my time. The multiplayer release is still waiting on a couple of key features. I've added projectiles and particles so you can make guns or bows now. I still need to network those also. I've started a new map called camp site which will be an FPS arena.
|
|
|
Post by MaDPuPPeT on Nov 6, 2013 15:59:05 GMT
Still plodding away at the multiplayer. Actors are now sync'd and the AI migrates between players, so the closest player's computer controls the AI for an actor. This allows players to wander off to different parts of the world and the actors in their area will be alive without the host needing to interfere.
Still need to sync up actor spawning, damaging and put a profile interface and it should be enough for another release.
|
|
|
Post by MaDPuPPeT on Dec 2, 2013 11:14:42 GMT
Uploaded the new update to iTunes Connect. Hopefully in a week or so it will be available in time for Christmas. I would have liked some more time to test the multiplayer but I ran across a major Date bug in the current version of Buildville. It seems that I missed out on July in my month lookup table, which means I only had 11 months in my lookup table... So... any files saved in December were getting a corrupt lookup on the world select screen. On the PC version, this caused an instant crash. Luckily, on iOS it appears to just corrupt the screen but not crash.
ARRRRGHH!!... so I've rushed this build out. We had a few family QA sessions with myself and my two kids. Gave it a good workout. Its not too stable if you burn down the village or spawn 100+ mobs, but in general usage it seems pretty good.
I've chucked in a small christmas themed level. Would have liked a few nights to work on it but oh well.
So... still have some bugs to fix in multiplayer but basically I'm ready to start adding some new features FINALLY!!! I think I REALLY want to get cloud level sharing in. not really the new FEATURES I'd like to see, but being able to see other peoples levels would really help the game go viral.
|
|
|
Post by MaDPuPPeT on Dec 17, 2013 6:26:34 GMT
Anyone out there This site is so quiet. Oh well... Did some more work last night. For the next update I want to fix the import/export and world sharing issues. So firstly, you can drag and drop tiles/actors/skins around to order them neater. I hate having random tiles all other the page. Next I'll be adding a new "Create World" menu option that makes a more intuitive approach to creating a new world, rather than having to go in and duplicate and then later reset an existing world. After that, I'll be looking into some google cloud sharing to see if its an easy way to get world sharing going. I really want to be able to upload/download and rate worlds. Not sure if I should put an InAppPurchase credit system to it - if it gets too busy I might need help paying for the server bandwidth...
|
|