bitburner-official / bitburner-src

Bitburner source code.
Other
806 stars 266 forks source link

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

Open seannaquah opened 1 day ago

seannaquah commented 1 day 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 day ago

Already exists.

image

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

seannaquah commented 1 day 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 day 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 9 hours 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.