Timestamps are in GMT/BST.
| 06:20:02 | BFDiscordBridge | <raptor> I am dismayed that I saw rotating speed zones in a contest map |
| 06:20:25 | BFDiscordBridge | <raptor> I thought that that "feature" was removed from the code long ago |
| 06:21:10 | BFDiscordBridge | <Footie π§> why remove it :( |
| 06:26:42 | BFDiscordBridge | <raptor> there are several experimental features that some devs played with, that weren't intended for larger audience - most were specifically for dungeon-like options |
| 06:28:17 | BFDiscordBridge | <Footie π§> aww |
| 06:28:45 | BFDiscordBridge | <Footie π§> it would be interesting if you could limit some of the more experimental features to a "dungeon" game type |
| 06:28:56 | BFDiscordBridge | <raptor> they were never cleaned up or integrated well into the code |
| 07:21:49 | BFDiscordBridge | <raptor> spawnlock |
| 07:21:49 | BFDiscordBridge | <raptor> https://cdn.discordapp.com/attachments/325743140059480065/719194406854590464/SPOILER_spawnlock.mp4 |
| 07:34:35 | BFDiscordBridge | <Footie π§> yay!!!! |
| 07:40:54 | BFDiscordBridge | <Little_Apple> i love you |
| 07:41:40 | BFDiscordBridge | <raptor> These tiny improvements are fun to code |
| 08:01:09 | BFDiscordBridge | <Footie π§> is there a list of all the objects in bitfighter somewhere? |
| 08:12:47 | BFDiscordBridge | <raptor> you can look at the luadocs |
| 08:13:04 | BFDiscordBridge | <raptor> maybe start here: http://bitfighter.org/luadocs/class_bf_object.html |
| 08:13:32 | BFDiscordBridge | <Footie π§> thanks! |
| 08:17:53 | BFDiscordBridge | <amgine> Hey raptor can I ask a question its something that slighly annoys me and would be nice to have when playing back replays can we have a option to select which replay we want to watch instead of having to back out go back to host pick a replay and see if its the right one? |
| 08:20:46 | BFDiscordBridge | <amgine> aslo replays feels really out of place in the host menu maybe it should be moved back to the home menu |
| 08:24:25 | BFDiscordBridge | <Footie π§> "Just like the arcade game! Yo!" |
| 08:24:26 | BFDiscordBridge | <Footie π§> https://cdn.discordapp.com/attachments/325743140059480065/719210163307020298/20200607_112228.jpg |
| 08:24:27 | BFDiscordBridge | <Footie π§> i love these |
| 08:25:59 | BFDiscordBridge | <raptor> amgine, a menu option like that is a good idea - let me add it to my list and see if it can be easily done |
| 08:26:46 | BFDiscordBridge | <amgine> raptor also please dont remove experimental features they may have niche useses in map design better to have rotoating speed zones and not have them used then to need them and not have them. |
| 08:27:52 | BFDiscordBridge | <amgine> theres a argument to be had that as long as it doesnt flat out break or ruin the game theres no reason to remove features that could otherwise improve the game |
| 08:35:05 | BFDiscordBridge | <raptor> "All games become minecraft" <-- I think this is a basic law of game evolution and we have to fight hard against it and keep within some constraints/vision of what Bitfighter should be. It's why watusimoto and others didn't like how Bitfighter was becoming a sandbox-type game |
| 08:54:35 | BFDiscordBridge | <amgine> that isnt necissarily a bad thing games can still be sandbox games but keep the orginal conecpt in tact for example platform racing 2 was a early browser game in the 2006 that kept its 2 racing acepsct but had many features added to change of the racing elements (and even spawned some new game modes as a result) and did very well another more modern example is mario maker 2 players are still designing 2 |
| 08:54:35 | BFDiscordBridge | platformer levels but the large vareity of content spawned new game modes and new concpets and ideas while keeping the core game play in tact |
| 09:00:31 | BFDiscordBridge | <raptor> I'm not really interested in discussion about this - I just like to code for fun - you guys in the community can debate these issues |
| 09:01:00 | BFDiscordBridge | <raptor> but I'd like to be faithful to what Bitfighter is and has been - whatever that may be |
| 09:23:27 | BFDiscordBridge | <raptor> @Footie π§ You have found the inner thoughts of the developers. Tread wisely, you may not like what you see... :) |
| 09:24:30 | BFDiscordBridge | <Footie π§> hehehe |
| 09:40:44 | BFDiscordBridge | <raptor> you guys want the same SpawnLock feature for flags, too, right? |
| 09:41:00 | BFDiscordBridge | <Footie π§> that would be nice! |
| 09:42:05 | BFDiscordBridge | <Footie π§> so each soccer ball goes back to wherever it was placed each time, right? no need to put down soccer ball spawns or anything |
| 09:43:51 | BFDiscordBridge | <raptor> If you so choose, you can enable 'SpawnLock' on the soccer ball, which means it returns back to its exact original position as placed in the editor |
| 09:44:01 | BFDiscordBridge | <raptor> always |
| 09:44:20 | BFDiscordBridge | <Footie π§> yay |
| 09:44:29 | BFDiscordBridge | <raptor> otherwise it'll jump around the various spawn points |
| 09:45:00 | BFDiscordBridge | <Footie π§> so the only way to set multiple spawn points is with multiple soccer balls |
| 09:46:50 | BFDiscordBridge | <raptor> no no |
| 09:47:18 | BFDiscordBridge | <raptor> the game works exactly as it did before, except now you can manually tell a specific soccer ball to only go back to where it started |
| 09:47:40 | BFDiscordBridge | <Footie π§> wait, there are soccer ball spawns? |
| 09:47:45 | BFDiscordBridge | <Footie π§> i think i'm missing something... |
| 09:47:53 | BFDiscordBridge | <raptor> you use a flag spawn |
| 09:48:00 | BFDiscordBridge | <Footie π§> oH |
| 09:48:01 | BFDiscordBridge | <raptor> kinda weird |
| 09:48:03 | BFDiscordBridge | <Footie π§> okay |
| 09:57:41 | BFDiscordBridge | <amgine> Why not give soccer spawn its own icon just wondering. |
| 10:02:12 | BFDiscordBridge | <raptor> because there's no such thing as a soccerspawn |
| 10:04:53 | BFDiscordBridge | <Little_Apple> its also pretty redundant and unnecessary to implement |
| 10:16:54 | BFDiscordBridge | <raptor> FlagItems are interesting - they have logic that prevents them from going to an already occupied spawn point |
| 10:19:15 | BFDiscordBridge | <raptor> I wonder why that isn't done with soccer balls, just an oversight, maybe? |
| 10:38:52 | BFDiscordBridge | <amgine> probably I cant think of any instance of wanting to have stcked soccerballs |
| 10:48:39 | BFDiscordBridge | <raptor> Adding the SpawnLock to flags may have weird consequences. Hope you guys are OK with that |
| 11:03:39 | BFDiscordBridge | <Footie π§> weird consequences are great |
| 11:50:21 | | BFLogBot Repo: bitfighter | Commit: ff8b1c45e1 | Author: raptor | Message: Add 'SpawnLock' attribute for soccer ball to always revert to starting spawn point |
| 11:50:22 | | BFLogBot Repo: bitfighter | Commit: 6f96633057 | Author: raptor | Message: Clean up statics in SoccerBallItem |
| 11:50:24 | | BFLogBot Repo: bitfighter | Commit: b521c0fdbe | Author: raptor | Message: SpawnLock for FlagItem. This also removes some old dead code that would try and load a time value from a FlagItem (which would crash the game) |
| 12:40:42 | BFDiscordBridge | <Skybax> That flag logic doesn't always work I think, possibly if you put multiple flag spawns on one spot |
| 12:40:59 | BFDiscordBridge | <Skybax> There was a contest map where the team flag and neutral flag had the ability to spawn on the same spot |
| 12:41:02 | BFDiscordBridge | <Skybax> Making instant scoring |
| 12:41:47 | BFDiscordBridge | <raptor> ah, probably because a neutral flagspawn was used |
| 12:41:54 | BFDiscordBridge | <raptor> teams and neutral flags can go to those |
| 12:44:11 | BFDiscordBridge | <Skybax> That makes sense |
| 12:45:32 | BFDiscordBridge | <raptor> at some point there are too many options and the interactions between the logic gets difficult to maintain |
| 13:26:44 | | BFLogBot Repo: bitfighter | Commit: 9a760e1cbe | Author: raptor | Message: Remove logprintf |
| 13:26:45 | | BFLogBot Repo: bitfighter | Commit: 9f59867c69 | Author: raptor | Message: Add option to jump directly to another recorded game from the playback UI |
| 14:33:14 | BFDiscordBridge | <amgine> @raptor is turbo boost storage a bug I noticed on tribes ( contest map) if you use a turbo boost ( the double tap active one) and touch a energy item if you hold space down you will continue to do a double tap turbo boost when you get enough energy for as long as you hold it |
| 14:39:15 | BFDiscordBridge | <amgine> Bug or feature? |
| 14:39:15 | BFDiscordBridge | <amgine> https://cdn.discordapp.com/attachments/325743140059480065/719304493245923430/holding_space_sotres_double_tap_turbo.bf019 |
| 14:51:27 | | -tomaw- [Global Notice] We need to reroute a few of our servers so we can upgrade a hub. This'll be noisy, but should be fairly short. Further updates via WALLOPS (/mode $yournick +w to get them) |
| 14:53:50 | | Sadale Quit (*.net *.split) |
| 14:54:10 | | Sadale has joined |
| 14:55:05 | BFDiscordBridge | <raptor> amgine, yes to both! |
| 14:55:37 | BFDiscordBridge | <raptor> also, sharing the recording was an excellent way to give a bug report - I don't think anyone has thought to do that for me before... |
| 14:57:52 | | BFDiscordBridge Quit (*.net *.split) |
| 14:58:10 | | BFDiscordBridge has joined |
| 15:38:04 | BFDiscordBridge | <amgine> @raptor I double checked and its not energy item related apparently holding space after doing a double tap boost will cause the double tap boost to perissts as logn as you have enough energy and still havethe key held down |
| 15:38:40 | BFDiscordBridge | <amgine> soooo probably not a bug but interesting |
| 15:38:53 | BFDiscordBridge | <raptor> yeah that's how the mechanic works |
| 15:39:16 | BFDiscordBridge | <amgine> ok so not a bug then good to know |
| 15:39:28 | BFDiscordBridge | <amgine> it causes some ahem interesting mechanics if the maps have energy items then |
| 15:39:29 | BFDiscordBridge | <raptor> i think sam686 discovered infinite pulse-boosting in one of his zzzz... maps |
| 15:40:34 | BFDiscordBridge | <amgine> man you can get some insane speed though wonder if its possible to crash the game by sped cap ha ha |
| 15:55:51 | | BFLogBot Repo: bitfighter | Commit: 9d9fa49a78 | Author: raptor | Message: Fix bouncer desync'ing |
| 15:56:07 | | BFLogBot Comment on issue #614 | User: raptor | Comment: Fixed in 9d9fa49a78277c9f107045db1b04309d81eeb8c9 ... | https://github.com/bitfighter/bitfighter/issues/614#issuecomment-640292274 |
| 15:56:08 | | BFLogBot Issue #614 closed by raptor | Title: Client-side prediction wrong with Bouncer | https://github.com/bitfighter/bitfighter/issues/614 |
| 15:57:23 | | BFLogBot Comment on issue #614 | User: raptor | Comment: Fixed in 9d9fa49a78277c9f107045db1b04309d81eeb8c9 Hope this doesn't add too much network load. ... | https://github.com/bitfighter/bitfighter/issues/614#issuecomment-640292274 |
| 18:22:33 | BFDiscordBridge | <raptor> I'm considering releasing 021 instead of 019h, that way I can make compatibility breaking changes like fixes to the scoreboard |
| 18:22:34 | BFDiscordBridge | <ChumpChange> Nice shooting @raptor! You just ranked up to level 19 ! |
| 18:39:59 | BFDiscordBridge | <raptor> @πα΅Κ°α΅β±αΆα΅π what do you need to know? Are you modifying one of the other games that used openTNL? |
| 18:40:52 | BFDiscordBridge | <πα΅Κ°α΅β±αΆα΅π> I'm part of game preservation project utilizing openTNL. I'm basically trying to emulate a server entirely from client's assembly code. |
| 18:41:14 | BFDiscordBridge | <raptor> which game? |
| 18:41:15 | BFDiscordBridge | <πα΅Κ°α΅β±αΆα΅π> Thankfully compiling your game and comparing makes it easier, but I'm still kind of not understanding byteBuffers and bitwise reading for strings. |
| 18:41:31 | BFDiscordBridge | <πα΅Κ°α΅β±αΆα΅π> there mostly game from "Sarbakan" which are all discontinued. |
| 18:42:09 | BFDiscordBridge | <πα΅Κ°α΅β±αΆα΅π> FireChild, Obscurara, SlimeBall, Avatar: Legends or the Arena, BigGreen Help. |
| 18:42:50 | BFDiscordBridge | <πα΅Κ°α΅β±αΆα΅π> I'm up to the point where I know the RPC Implementations, but having trouble understanding the differences between StringPtr and StringEntryTable data types. |
| 18:43:23 | BFDiscordBridge | <raptor> None of those seem old enough to have used openTNL. Are you sure they didn't use Torque2D? |
| 18:43:26 | BFDiscordBridge | <πα΅Κ°α΅β±αΆα΅π> I can see the client writeString() but I cannot read the same string back through my own GameServerConnection. |
| 18:43:26 | BFDiscordBridge | <ChumpChange> Nice shooting @πα΅Κ°α΅β±αΆα΅π! You just ranked up to level 1 ! |
| 18:43:53 | BFDiscordBridge | <πα΅Κ°α΅β±αΆα΅π> They are from 2006 and I can verify it uses openTNL (through the use of a VirTools plugin) |
| 18:44:32 | BFDiscordBridge | <πα΅Κ°α΅β±αΆα΅π> I'm not sure the differences, though one of their Debug Outputs does have the word "OpenTNL" in them. |
| 18:44:34 | BFDiscordBridge | <πα΅Κ°α΅β±αΆα΅π> https://cdn.discordapp.com/attachments/325743140059480065/719366226627002408/unknown.png |
| 18:44:55 | BFDiscordBridge | <πα΅Κ°α΅β±αΆα΅π> and I've manually labeled many functions that are very similar to openTNL library. |
| 18:44:57 | BFDiscordBridge | <πα΅Κ°α΅β±αΆα΅π> https://cdn.discordapp.com/attachments/325743140059480065/719366326501638165/unknown.png |
| 18:45:17 | BFDiscordBridge | <πα΅Κ°α΅β±αΆα΅π> https://cdn.discordapp.com/attachments/325743140059480065/719366405207621672/unknown.png |
| 18:45:29 | BFDiscordBridge | <πα΅Κ°α΅β±αΆα΅π> which makes me figure it is OpenTNL (variant ?) |
| 18:46:26 | BFDiscordBridge | <raptor> huh, yeah that looks legit |
| 18:46:41 | BFDiscordBridge | <raptor> much of TNL was reused in: https://github.com/GarageGames/Torque2D |
| 18:48:22 | BFDiscordBridge | <raptor> what kind of help are you looking for? I think openTNL is also still found on sourceforge |
| 18:48:55 | BFDiscordBridge | <πα΅Κ°α΅β±αΆα΅π> Well I have openTNL downloaded (1.5) and I'm using that as reference. |
| 18:50:07 | BFDiscordBridge | <raptor> OK, I think our version was forked a bit earlier than that |
| 18:50:24 | BFDiscordBridge | <πα΅Κ°α΅β±αΆα΅π> I'm trying to understand how TNL_IMPLEMENT_RPC works. And where does these variables go/used. |
| 18:50:32 | BFDiscordBridge | <πα΅Κ°α΅β±αΆα΅π> c TNL_IMPLEMENT_RPC(MasterServerInterface, c2mRejectArrangedConnection, (U32 requestId, ByteBufferPtr rejectData), (requestId, rejectData), NetClassGroupMasterMask, RPCGuaranteedOrdered, RPCDirClientToServer, 0) {} |
| 18:50:52 | BFDiscordBridge | <πα΅Κ°α΅β±αΆα΅π> In this case: ByteBufferPtr rejectData I cannot see it being used. |
| 18:50:57 | BFDiscordBridge | <raptor> oh yeah, that registers a method with the RPC protocol |
| 18:51:27 | BFDiscordBridge | <πα΅Κ°α΅β±αΆα΅π> Yes, the implementation/override calls this function |
| 18:51:30 | BFDiscordBridge | <πα΅Κ°α΅β±αΆα΅π> c req->initiator->m2cArrangedConnectionRejected(req->initiatorQueryId, rejectData); |
| 18:51:53 | BFDiscordBridge | <πα΅Κ°α΅β±αΆα΅π> As I follow this function. |
| 18:52:02 | BFDiscordBridge | <πα΅Κ°α΅β±αΆα΅π> It seems to just not use rejectData |
| 18:52:53 | BFDiscordBridge | <raptor> I'm reviewing the network code (been a while since I've added RPC calls)... |
| 18:53:28 | BFDiscordBridge | <πα΅Κ°α΅β±αΆα΅π> Thank you for taking the time to help with my questions. |
| 18:55:26 | BFDiscordBridge | <raptor> hmm, I'm looking at Bitfighter 'tnl' source subdir |
| 18:56:26 | BFDiscordBridge | <raptor> it wraps the parameters into a class called TNL::FunctorDecl |
| 18:57:08 | BFDiscordBridge | <raptor> which converts/wraps the data onto the bitstream |
| 19:01:59 | BFDiscordBridge | <raptor> ok after some headaches, I got the expansion: https://pastebin.com/MnafhZ2A |
| 19:02:35 | BFDiscordBridge | <raptor> that is an example RPC call with TNL_IMPLEMENT_RPC with 2 parameters 'newLevelIndex' and 'isRelative' |
| 19:02:58 | BFDiscordBridge | <raptor> you can more easily follow the 2nd param 'isRelative' in that code |
| 19:03:05 | BFDiscordBridge | <πα΅Κ°α΅β±αΆα΅π> wow this is great. Thank you. |
| 19:03:18 | BFDiscordBridge | <πα΅Κ°α΅β±αΆα΅π> Does argument's order matter? |
| 19:03:28 | BFDiscordBridge | <raptor> YES, oh my goodness, yes |
| 19:03:48 | BFDiscordBridge | <raptor> You can't beleive the hours I've wasted tracking bugs due to out-of-order stuff π |
| 19:03:53 | BFDiscordBridge | <πα΅Κ°α΅β±αΆα΅π> So how does the function know that the bitstream for that individual packet is fully consumed? |
| 19:04:45 | BFDiscordBridge | <πα΅Κ°α΅β±αΆα΅π> Also c2s means client sends this packet to server, (not server' handler function from client) |
| 19:06:09 | BFDiscordBridge | <raptor> yes |
| 19:06:19 | BFDiscordBridge | <raptor> want me to find an s2c variant? |
| 19:09:36 | BFDiscordBridge | <πα΅Κ°α΅β±αΆα΅π> No, let me digest this first (:P) |
| 19:09:36 | BFDiscordBridge | <ChumpChange> Nice shooting @πα΅Κ°α΅β±αΆα΅π! You just ranked up to level 2 ! |
| 19:09:57 | BFDiscordBridge | <πα΅Κ°α΅β±αΆα΅π> this is already a decent amount of work for me to analyze in an assembly level. |
| 19:10:04 | BFDiscordBridge | <πα΅Κ°α΅β±αΆα΅π> thanks |
| 19:10:08 | BFDiscordBridge | <raptor> sure |
| 19:12:19 | BFDiscordBridge | <raptor> one thing to remember is that c2s means that the method runs on the server, but is called from the client which wraps and sends those parameters |
| 19:12:46 | BFDiscordBridge | <raptor> and that's only if the developer didn't mess up the naming scheme π |
| 19:36:50 | BFDiscordBridge | <amgine> hey raptor I wanted to move the technical chat here so you know how you said pulse storage by holding down the double tap is intentional is it intentional tht storage persists between level so if you hold fire when the game ends you can turbo at the start of the next map ? |
| 19:39:13 | BFDiscordBridge | <amgine> actully curious if anything in bitfigher even uses python its all C+++ and LUA and what ever is used for networking and the site is PHP (pleadies) and something ( dont know what the main site uses) |
| 19:39:32 | BFDiscordBridge | <raptor> it might be, i don't know |
| 19:41:13 | BFDiscordBridge | <amgine> I actullly dont know what bitfighters network frame is based on |
| 19:44:54 | BFDiscordBridge | <raptor> openTNL |
| 20:16:49 | BFDiscordBridge | <Skybax> raptor, why go to 21 from 19 |
| 20:16:51 | BFDiscordBridge | <Skybax> Where did 20 go |
| 20:17:32 | BFDiscordBridge | <raptor> we don't talk about 020 |
| 20:19:56 | BFDiscordBridge | <Skybax> Is Bitfighter 20 like Windows 9? |
| 20:23:07 | BFDiscordBridge | <raptor> We spent 2 years (or more) trying to get 020 to work with too many changes. We finally decided to abandon it shortly after releasing 019f or g (can't remember). We devoted so much effort into something that became permanently broken. In fact, I think trying to do so much with 020 was what partly killed off watusimoto's and my enthusiasm for the project (other life things got in the way, too, of course). |
| 20:25:07 | BFDiscordBridge | <amgine> @raptor like what what happened what changes were discarded ? |
| 20:25:23 | BFDiscordBridge | <amgine> was it network changes code changes gameplay changes? |
| 20:26:17 | BFDiscordBridge | <raptor> But I'm obviously still here :) |
| 20:26:42 | BFDiscordBridge | <raptor> And I *love* the fact that you all keep this going with the discord and contests |
| 21:20:12 | BFDiscordBridge | <raptor> 020 changes included a complete graphics abstraction layer (preparation for GLES2), a refactor of the settings system, a new vector graphics library, refactor of the filesystem usage (PhysFS), and loads more. I don't even remember the new features we had planned. |
| 21:20:48 | BFDiscordBridge | <raptor> I just checked and we've been working on 020 since 2014! |
| 21:44:57 | | BFLogBot Repo: bitfighter | Commit: 473de07dfc | Author: eykamp | Message: Update bf.org ip address |
| 21:44:59 | | BFLogBot Repo: bitfighter | Commit: 23d3f5c57a | Author: raptor | Message: Big minor change: flip friendly fire on turrets |
| 21:45:00 | | BFLogBot Repo: bitfighter | Commit: bc30778826 | Author: raptor | Message: Merge remote-tracking branch 'origin/bitfighter-019x' |
| 21:45:02 | | BFLogBot Repo: bitfighter | Commit: 18969384be | Author: raptor | Message: 021 will be the next version. We must heal from the past... |
| 21:54:57 | BFDiscordBridge | <πα΅Κ°α΅β±αΆα΅π> raptor thanks for the insight |
| 21:55:07 | BFDiscordBridge | <πα΅Κ°α΅β±αΆα΅π> with this along with TNLAssert being available to easily find function names |
| 21:55:55 | BFDiscordBridge | <πα΅Κ°α΅β±αΆα΅π> i'm slowly on my way of reversing the entire library from the DLL |
| 21:56:03 | BFDiscordBridge | <πα΅Κ°α΅β±αΆα΅π> and hopefully it would be easier on my eyes to figure it out |
| 21:56:04 | BFDiscordBridge | <πα΅Κ°α΅β±αΆα΅π> π |
| 22:07:16 | BFDiscordBridge | <Skybax> Bitfighter 020 sounds like Bitfighter The Sequel tbh |
| 22:07:23 | BFDiscordBridge | <Skybax> Whole new graphics system |
| 22:07:25 | BFDiscordBridge | <Skybax> Like damn |
| 22:07:46 | BFDiscordBridge | <Skybax> Do you think you'll ever revisit those kinds of things, but maybe in smaller quantities? lol |
| 22:08:50 | BFDiscordBridge | <raptor> you're welcome, phaicm |
| 22:09:32 | BFDiscordBridge | <raptor> 020 changes to the user were not really that apparent - almost all was engine changes |
| 22:36:17 | BFDiscordBridge | <raptor> what do you think - could someone conceivable die more than 255 times in one level? |
| 22:39:35 | BFDiscordBridge | <Footie π§> definitely |