nesbox / TIC-80

TIC-80 is a fantasy computer for making, playing and sharing tiny games.
https://tic80.com
MIT License
4.98k stars 479 forks source link

[request] Add ram formats to help command #1822

Open ian5 opened 2 years ago

ian5 commented 2 years ago

The new help command in 0.90 can answer most questions about the api and system you might have; at least once you're somewhat familiar with it.

One of the easier things to forget is the actual layout of memory areas; I couldn't tell you the layout of MUSIC PATTERNS off the top of my head, and I doubt many people could.

There's no way to find these in the current version of TIC-80, and so you're left to tab out and move on to the wiki.

I think it'd be nice if a format of something like help ram tiles or help tiles was added, that showed the actual layouts of that ram area.

joshgoebel commented 2 years ago

My 0.02. I'm personally not sure it's good to slowly duplicate all the wiki content inside the application (and also and squeeze it into the tiny TIC-80 screen) - it just doubles the maintenance costs and makes it harder to keep the docs up-to-date/in sync. I've already run into this just a bit with memory maps. With all this text content "static" inside the app it slowly starts to rot and then requires someone manually keep it up-to-date with the wiki, etc...

It feels like if we really want access to the wiki from inside the app then we should build a wiki viewer (or something) that loads wiki content rather than including static versions... though this seems a bit excessive to me.

Having the basic RAM layout and API there, I kind of see the thinking behind that, but I hope it stops soon rather than trying to build a whole help system/wiki into the app...

paul59 commented 2 years ago

My 0.02. I'm personally not sure it's good to slowly duplicate all the wiki content inside the application (and also and squeeze it into the tiny TIC-80 screen) - it just doubles the maintenance costs and makes it harder to keep the docs up-to-date/in sync.

I agree. Maybe 'help' should cover just the console commands and a 'wiki' command which opens a browser details the API. in the same way that many apps open on-line help from their 'Help' menu these days.

Personally I never use the built-in help, I find it tiresome to read lots of text on such a small display and I'm never sure if it's current... it's worse than my code :D

eglavas commented 2 years ago

I often use tic-80 where there is no interwebs, so I'd rather the help api feature stays - at least listing the parameters and return values.

joshgoebel commented 2 years ago

To be clear I wasn't suggesting we tip the minimal API help out. I think obviously that's something nesbox thinks is valuable, so I'm sure it's staying, I was just suggesting we not go crazy expanding the scope of the built-in help more and more that there are costs to doing so that I hope we're considering.

ian5 commented 2 years ago

My initial suggestion was just going to be to return the help wiki option, to help streamline things, but I assumed that the team wanted to move away from that, given that they got rid of it.

I'd be happy with either.

joshgoebel commented 2 years ago

Got rid of what?

ian5 commented 2 years ago

You used to be able to use help wiki to open the wiki directly, but that was removed alongside the addition of the API reference.


From: Josh Goebel @.> Sent: Tuesday, January 25, 2022 10:45:40 PM To: nesbox/TIC-80 @.> Cc: Ian A. Fights @.>; Author @.> Subject: Re: [nesbox/TIC-80] [request] Add ram formats to help command (Issue #1822)

Got rid of what?

— Reply to this email directly, view it on GitHubhttps://github.com/nesbox/TIC-80/issues/1822#issuecomment-1021834340, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AEK3LWJ7V3HYKNEUQR7PJDLUX5U6JANCNFSM5MSOPBVQ. Triage notifications on the go with GitHub Mobile for iOShttps://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Androidhttps://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub. You are receiving this because you authored the thread.Message ID: @.***>

nesbox commented 2 years ago

As a variant, we could add something like clickable wiki links somewhere below the API description, or add a special wiki parameter to open the API help on the web.

paul59 commented 2 years ago

As a variant, we could add something like clickable wiki links somewhere below the API description, or add a special wiki parameter to open the API help on the web.

A 'help wiki' seems to make more sense as ian5 says. As it stands, 'help' for some API functions is of limited use, eg 'help key' isn't much use without being able to see the key codes.

joshgoebel commented 2 years ago

isn't much use without being able to see the key codes.

Keycodes are included in the in-app help system also.

joshgoebel commented 2 years ago

or add a special wiki parameter to open the API help on the web.

I'm being told we had that before - was there a reason it got removed?

paul59 commented 2 years ago

isn't much use without being able to see the key codes.

Keycodes are included in the in-app help system also.

I didn't know that - how are they accessed?

nesbox commented 2 years ago

or add a special wiki parameter to open the API help on the web.

I'm being told we had that before - was there a reason it got removed?

The reason is that we have most of the docs inside TIC and I wanted to clean up the console commands a bit.

blinry commented 2 years ago

I didn't know that - how are they accessed?

help buttons and help keys, respectively! :) I added those a couple of weeks ago.

Personally, I love that TIC-80 is self-documenting, and these were some of the most urgent information I felt was missing. I also sometimes use TIC-80 without an Internet connection, and for me, it's nice not having to leave the "fantasy environment". I'm with @ian5 in that I'd like to see more in-depth documentation of the RAM. Could be a couple more tables in the output of help ram? The RAM layout will be extremely static anyway, I'm thinking.

paul59 commented 2 years ago

I didn't know that - how are they accessed?

help buttons and help keys, respectively! :) I added those a couple of weeks ago.

I'm on 0.90.1723 and those commands do nothing... maybe I'm out of date? :D

blinry commented 2 years ago

That is the latest released version, @paul59, released in July last year. :) You'd need to build the current main branch yourself to get features added after that, I think. Not sure whether there's already another release on the horizon, @nesbox?

nesbox commented 2 years ago

Not sure whether there's already another release on the horizon

Don't know, we could fix most serious crashes and release 1.0

joshgoebel commented 2 years ago

Don't know, we could fix most serious crashes and release 1.0

Can we get WASM into that? I can get back to the PR soon and bump the API to use the new float data types you added everywhere then move it out of draft...

nesbox commented 2 years ago

Can we get WASM into that?

sure, we are waiting...

aliceisjustplaying commented 5 months ago

@joshgoebel is this something you may implement in the future?

joshgoebel commented 5 months ago

No. I prefer the wiki myself.