bitburner-official / bitburner-src

Bitburner source code.
Other
838 stars 273 forks source link

Feature Request: Include NS API docs with the release, and render them with the in-game renderer #1722

Closed seannaquah closed 1 week ago

seannaquah commented 1 month ago

No save file because this is a suggestion due to a lot of trouble with the API.

No scripts for similar reason.

Ditto.

Should apply to all versions of the game starting with a new version update to include the feature.

I strongly believe that due to Bitburner not using an perfectly orthodox version of the JavaScript API, there should be a set of in-game API references with the examples. It would really help the players out a lot and there would be way less "bug" reports due to the players being from various programming language and scripting language backgrounds. I was lucky that I have had the opportunity to explore many different programming and scripting languages, so I got my issue solved quickly enough. But still, this took nearly half a day of debating. It would really spare the players and contributors the debating if there were a proper full set of in-game API references with examples. Meaning covering all the various APIs. Especially the main one that you work with. The Script Editor just doesn't tell the player enough details. So as with any language, an API reference would be best. An in-game one so that players with slow lines don't keep on having to load so many pages, one by one, slowly and painstakingly. This is my opinion from my designer's point of view. I know it will be rather tedious to enter all those blobs of texts and links into the game program, and that some modules have to be written for the in-game API references, but as tedious a job as it may be, I believe it is a worthwhile job, because it will improve the game's intuitiveness and user-friendliness by a lot.

d0sboots commented 1 month ago

Already exists.

image

https://github.com/bitburner-official/bitburner-src/blob/dev/markdown/bitburner.ns.md

seannaquah commented 1 month ago

Already exists.

image

https://github.com/bitburner-official/bitburner-src/blob/dev/markdown/bitburner.ns.md

Already read the whole documentation. It's what I always do. I find it very non-user-friendly and slow to do because, well, I live in a country with a lousy line (like many other people) that drops every so often (quite often, like so many other people from non-first world nations).

I'm not talking about that in-game link to the sprawling out-of-game webpages that load so darn slowly on computers in countries that don't have a good ISP and where the ISP doesn't care about you and whether your line loads things slow as hell (not to mention that the line keeps on dropping), etc. I'm talking about a proper in-game and complete set of the API references for all the APIs for the in-game (not a link to the Net) players, (many of whom don't have good lines) and not have to load the damn thing over and over and over again every single time. This will reduce the number of "issues" that are brought up, and also increase the game's user-friendliness and ease of gameplay. You just need to take your stuff from the Web and put it in an in-game form. Tedious yes. Easier to say than to do, yes. But what I'm saying here is that although it's a tedious job, it's a worthwhile job.

d0sboots commented 1 month ago

OK. That actually wouldn't be very hard to do, given our current architecture.

Rewording what (I think) you're asking for more succinctly: Include the NS API docs that are currently hosted on the web as part of the game distribution, and render them inside the game so no external linking is needed.

In terms of work needed, this should just involved tweaking our build scripts a little.

seannaquah commented 1 month ago

OK. That actually wouldn't be very hard to do, given our current architecture.

Rewording what (I think) you're asking for more succinctly: Include the NS API docs that are currently hosted on the web as part of the game distribution, and render them inside the game so no external linking is needed.

In terms of work needed, this should just involved tweaking our build scripts a little.

Yes, but not just the NS API, but the TIX, etc. APIs as well. Basically all the currently web-hosted APIs. Of course for proper JavaScript API, players can always look up W3Schools or Mozilla or some other official tutorial or API site. But what I'm talking about is the APIs and stuff related to the Bitburner game, so that players can code properly. Also, I suggest increasing the amount of money in the script hackable servers by quite a bit so as to encourage script writing and script optimization, because currently, script hacking only gives a linear income, whereas Hacknet income is geometric, so the Hacknets give way more income than the scripts do, which defeats the purpose of the game, since you want to encourage script writing and optimization, no? This is supposed to be a hacking simulation based on scripting to encourage people to learn coding, if I guess right, though experienced programmers like me still find it fun since I used to hack the college lab computers with the lab administrator's permission to find any security loopholes for her and recommend her solutions to the problems. But still, we want to encourage newbies to coding to learn how to code and script and thus we should reward their scripting and coding efforts more than the Hacknets do.

I mean, currently my scripts only earn me in the thousands but my Hacknets earn me in the billions. That's not very encouraging to new coders. I'm hoping that with all these in-game APIs and higher script hacking income compared to Hacknet income, players will be more willing to code than buy and upgrade Hacknets. Which is what we want.

seannaquah commented 1 month ago

As I said before, we need to increase the amount of money in the servers for the scripts to hack by quite a bit, otherwise the Hacknet nodes will make way, way more money than the scripts will ever make, which is not encouraging people to script but rather to buy and upgrade Hacknet nodes which defeats the whole purpose of the game. And I'm already running scripts on several TB of home computer RAM on the server with the most money. And that's not counting other scripts on other servers, so I already have like at least 850 threads of the script running at the thing. Yet I get this when I log in:-

image

Seriously, we need to increase the amount of money from the range of kilos to few billions to the range of hundreds of billions in terms of maximum amount of money the hackable servers can have, otherwise it totally defeats the point of getting people to script. There's no incentive or encouragement or motivation to do so. We also need to add more nodes and stuff and more augments and the like to give the game more playability.

I'm a programmer and engineering technician (though facing multiple congenital medical conditions), so I really want to help with the design of this game, because I want to see more youths out there pickup computer science and computer engineering and software engineering, etc. and not fear it or consider it tedious or boring but rather something fun just as I do.

seannaquah commented 1 month ago

Weird. I was just at the Rothman University taking the Algorithms course (it was on Focus since I wasn't doing anything at the time), and then I went downstairs in real life to get a drink, and when I came back up, and opened the windows to take a look at Bitburner, I saw a dialogue saying:-

WARNING: The system clock moved backwards.... something or other.

Now, if it was just a minute at most, I'd just consider it a synchronization problem. But it went back a whole 4 days+, nearly 5 days! Which, by the way, in case you're wondering, there's nothing wrong with my PC's system clock. It's been working fine all this while, even now it's still working fine! My younger brother and I are both in Computer Science, so we handle and take care of our computers, smartphones, electronics, etc. ourselves. Sure beats taking it to the useless "repair facilities" here. And heaven forbid buying a Dell and taking it for "repairs" at a Dell service centre. I had friends who worked there for their industrial attachment, and they told me what actually goes on there. This is why my sibling and I assemble, install and maintain our own computers. I also used to fix up the old computers at the old Chinese companies I used to work at with super old computers, like those where I literally had to overlay the HDD before formatting it or it wouldn't let me use its full secondary storage capacity, which was already very little to begin with, and way less if I didn't overlay it first. It'd be like only 8MB instead of 20MB? Lol.

d0sboots commented 1 month ago

Both of these are separate issues. Please open separate issues for them, as is standard for bug reporting, to keep discussion properly focused.

seannaquah commented 1 month ago

Both of these are separate issues. Please open separate issues for them, as is standard for bug reporting, to keep discussion properly focused.

Done.

gmcew commented 1 week ago

OK. That actually wouldn't be very hard to do, given our current architecture.

Rewording what (I think) you're asking for more succinctly: Include the NS API docs that are currently hosted on the web as part of the game distribution, and render them inside the game so no external linking is needed.

In terms of work needed, this should just involved tweaking our build scripts a little.

This is a very sensible suggestion - I believe it overlaps sufficiently with the intent of #707 that I'm going to close this as a duplicate.