DawnCaster Infestation

by Ter13
Rid the HMS DawnCaster of the alien menace! [More]
To download this game for your Linux/Mac installation, enter this on your command line:

DreamDownload byond://Ter13.DawnCasterInfestation##version=4

Emulator users, in the BYOND pager go to File | Open Location and enter this URL:

byond://Ter13.DawnCasterInfestation##version=4

752 downloads
Version 0.2
Date added: Jul 19 2014
Last updated: Jul 26 2014
34 fans
My entry for BYOND Game Jam 2014, a first-person raycasting shooter made in a little under 36 hours.

Programming & Art: Ter13 (Terrey West)
Music: Matthew Pablo
Sound: Stephen M Cameron

Comments

Ter13: (Aug 23 2016, 4:17 pm)
Trickytyfly wrote:
meh.

It's a lot less meh when you understand the BYOND engine's limitations. --Raycasting is really not easy in an engine that doesn't allow you access to the render loop at all. Just gonna throw that out there. Game isn't impressive, it's the fact that this style of rendering was pulled off at all in DM. Much less in 36 hours.
Trickytyfly: (Aug 23 2016, 11:49 am)
meh.
Lavitiz: (Aug 13 2014, 6:06 pm)
world.Export() fix pls.
Ter13: (Aug 13 2014, 1:33 pm)
This is what Ter13 is talking about in the post that you quoted; BYOND's world to world communications just sucks too much for that application.

Exactly. The problem is that there are three ways of communicating with the servlet:

1) Websocks via Javascript - Con: Have to deal with null-encoded text parsing to process the data sent both directions, resulting in significant CPU usage on either end, and delays between processing of networked frames.

2) ANSI C DLL with a socket implementation - Con: Have to deal with null-encoded text parsing to process the data sent both directions, resulting in significant CPU usage on either end and delays between processing of networked frames. I'd also have to have the user permit C DLL calls, which is a potential failure point.

3) Native world.Export() - Con: Have to deal with null-encoded text parsing to process the data sent both directions, resulting in significant CPU usage on either and end delays between processing of networked frames, and to boot I'd have to deal with the bug that makes world.Export() have a minimum of a 100ms delay. At worst, I'd see similar 300 to 500 ms delays over a network connection, similar to my previous tests at a communication protocol utilizing world.Export().

Frankly, there's just no ideal solution.
D4RK3 54B3R: (Aug 13 2014, 8:38 am)
Bumblemore, Gaku's server-client stuff was cool and all, but it averaged 300ms ping on good days. On bad days it was >500ms.

This is what Ter13 is talking about in the post that you quoted; BYOND's world to world communications just sucks too much for that application.