Posts for Nach

Emulator Coder, Experienced Forum User
Joined: 3/9/2004
Posts: 4588
Location: In his lab studying psychology to find new ways to torture TASers and forumers
Spikestuff wrote:
The runs look fairly optimal.
Well, I tried to sort of channel the author's temperature in the thread. I also think it looks fairly better than he gave it credit for. It wouldn't surprise me if a lot of people are actually entertained by the run. On a technical level, I especially liked how he uses Sam to his advantage.
Warning: Opinions expressed by Nach or others in this post do not necessarily reflect the views, opinions, or position of Nach himself on the matter(s) being discussed therein.
Emulator Coder, Experienced Forum User
Joined: 3/9/2004
Posts: 4588
Location: In his lab studying psychology to find new ways to torture TASers and forumers
The site automatically generates tags for runs based on details such as name, submitter, system. Site editors can also add additional tags manually: http://tasvideos.org/SystemTVCControl.html
Warning: Opinions expressed by Nach or others in this post do not necessarily reflect the views, opinions, or position of Nach himself on the matter(s) being discussed therein.
Emulator Coder, Experienced Forum User
Joined: 3/9/2004
Posts: 4588
Location: In his lab studying psychology to find new ways to torture TASers and forumers
Patashu wrote:
So youtube search optimization is important.
We don't control how YouTube searches work. We make some effort there, but that's it. The only proper way is via the site, and every one of our videos links back to the site.
Patashu wrote:
(If it wasn't, then we wouldn't even bother publishing on youtube, of course.
We publish on YouTube because it hosts videos for free, not because we believe in their search capabilities. Our videos randomly showing up for people who don't know about us is just a bonus.
Warning: Opinions expressed by Nach or others in this post do not necessarily reflect the views, opinions, or position of Nach himself on the matter(s) being discussed therein.
Emulator Coder, Experienced Forum User
Joined: 3/9/2004
Posts: 4588
Location: In his lab studying psychology to find new ways to torture TASers and forumers
If you want to search for a TAS from TASVideos on YouTube for a particular run, then use the search engine and movie categorization features here: http://tasvideos.org/
Warning: Opinions expressed by Nach or others in this post do not necessarily reflect the views, opinions, or position of Nach himself on the matter(s) being discussed therein.
Emulator Coder, Experienced Forum User
Joined: 3/9/2004
Posts: 4588
Location: In his lab studying psychology to find new ways to torture TASers and forumers
Is this 100% if it doesn't visit Area 19?
Warning: Opinions expressed by Nach or others in this post do not necessarily reflect the views, opinions, or position of Nach himself on the matter(s) being discussed therein.
Emulator Coder, Experienced Forum User
Joined: 3/9/2004
Posts: 4588
Location: In his lab studying psychology to find new ways to torture TASers and forumers
XkyRauh wrote:
That's a neat glitch, though! In that particular level, a TAS would hopefully employ two perfectly-timed Exploders (especially considering there is a later level on a higher difficulty which demands precisely that) and not need to utilize the Blocker glitch...
Indeed. However, this glitch can be used to create a unidirectional blocker, which I imagine can be useful in several levels.
Warning: Opinions expressed by Nach or others in this post do not necessarily reflect the views, opinions, or position of Nach himself on the matter(s) being discussed therein.
Post subject: Lemmings, ONML, Holiday 91, 92, 93, 94
Emulator Coder, Experienced Forum User
Joined: 3/9/2004
Posts: 4588
Location: In his lab studying psychology to find new ways to torture TASers and forumers
Since the original series lacked a thread, I decided to start one. If anyone is looking to TAS this, I just ran into a really odd bug. I placed a blocker right by a wall on a sloped terrain, and it seems now Lemmings are now able to pass through the blocker and the wall.
Warning: Opinions expressed by Nach or others in this post do not necessarily reflect the views, opinions, or position of Nach himself on the matter(s) being discussed therein.
Emulator Coder, Experienced Forum User
Joined: 3/9/2004
Posts: 4588
Location: In his lab studying psychology to find new ways to torture TASers and forumers
In any case, do not forget this page.
Warning: Opinions expressed by Nach or others in this post do not necessarily reflect the views, opinions, or position of Nach himself on the matter(s) being discussed therein.
Post subject: They have a pill for that sort of thing
Emulator Coder, Experienced Forum User
Joined: 3/9/2004
Posts: 4588
Location: In his lab studying psychology to find new ways to torture TASers and forumers
<TotallyFerret> I'm allergic to feos.
Warning: Opinions expressed by Nach or others in this post do not necessarily reflect the views, opinions, or position of Nach himself on the matter(s) being discussed therein.
Emulator Coder, Experienced Forum User
Joined: 3/9/2004
Posts: 4588
Location: In his lab studying psychology to find new ways to torture TASers and forumers
* Masterjun takes out some Mothrayas out of his feos to buy some more scrimpy
Warning: Opinions expressed by Nach or others in this post do not necessarily reflect the views, opinions, or position of Nach himself on the matter(s) being discussed therein.
Post subject: this is how much help I am - now in text
Emulator Coder, Experienced Forum User
Joined: 3/9/2004
Posts: 4588
Location: In his lab studying psychology to find new ways to torture TASers and forumers
<Masterjun> If only I had some Mothrayas to protect me from the net splits that are flying around right now <-- Mothrayas has left this server (*.net *.split).
Warning: Opinions expressed by Nach or others in this post do not necessarily reflect the views, opinions, or position of Nach himself on the matter(s) being discussed therein.
Emulator Coder, Experienced Forum User
Joined: 3/9/2004
Posts: 4588
Location: In his lab studying psychology to find new ways to torture TASers and forumers
AzureTranquility wrote:
The SNES version works no problem for me. The reason I'm even bothering with the PS1 version is because I want to record the anime cutscenes and splice them with the SNES gameplay for when I upload MMX3 on my channel.
The Windows version of MMX3 has all the cut scenes stored in AVIs on the CD.
Warning: Opinions expressed by Nach or others in this post do not necessarily reflect the views, opinions, or position of Nach himself on the matter(s) being discussed therein.
Emulator Coder, Experienced Forum User
Joined: 3/9/2004
Posts: 4588
Location: In his lab studying psychology to find new ways to torture TASers and forumers
Warepire wrote:
I shall point out that the GameBoy is not one of these consoles with a random starting state, the boot strap ROM inits all the clocks and RAM to a specific value.
That may be true regarding the base system, but I don't know if its true regarding RAM and registers existing in carts with extra hardware supplied.
Warning: Opinions expressed by Nach or others in this post do not necessarily reflect the views, opinions, or position of Nach himself on the matter(s) being discussed therein.
Emulator Coder, Experienced Forum User
Joined: 3/9/2004
Posts: 4588
Location: In his lab studying psychology to find new ways to torture TASers and forumers
sack_bot wrote:
OK, I don't get the split here. if it doesn't sync on console, then isn't there some emulation error?
Not necessarily. Our emulators ensure initial state is consistent, consoles don't. This means you may need to reboot your console thousands of times till something syncs, as they're less deterministic as an emulator. There's also minor timing issues with lag involved that may mean the input is all good, but not necessarily being fed to the console at the correct rate. Bear in mind that no two consoles may even share the same timing, as there is variation in the timing crystals each individual console is manufactured with.
Warning: Opinions expressed by Nach or others in this post do not necessarily reflect the views, opinions, or position of Nach himself on the matter(s) being discussed therein.
Emulator Coder, Experienced Forum User
Joined: 3/9/2004
Posts: 4588
Location: In his lab studying psychology to find new ways to torture TASers and forumers
feos wrote:
Spikestuff wrote:
ILARI LIVES!
I could tell. http://tasvideos.org/userfiles/user/Ilari
Those are hidden, you can tell because of your senior rank.
Warning: Opinions expressed by Nach or others in this post do not necessarily reflect the views, opinions, or position of Nach himself on the matter(s) being discussed therein.
Post subject: A bluetooth chip did WHAT to Mothrayas?!?!
Emulator Coder, Experienced Forum User
Joined: 3/9/2004
Posts: 4588
Location: In his lab studying psychology to find new ways to torture TASers and forumers
* Nach places an order for two Mothrayas <Masterjun> your order of two Mothrayas was rounded up to 3000 <Nach> 3000? at least I'll have plenty to spare <Nach> I guess I now have an excuse to perform all kinds of experiments on Mothrayas that I was too afraid to before <Masterjun> Nach: fun fact: that actually happened once with a bluetooth chip we wanted to buy <ForgoneMoose_> a bluetooth chip performed horrific experiments on Mothrayas? <Masterjun> scary
Warning: Opinions expressed by Nach or others in this post do not necessarily reflect the views, opinions, or position of Nach himself on the matter(s) being discussed therein.
Emulator Coder, Experienced Forum User
Joined: 3/9/2004
Posts: 4588
Location: In his lab studying psychology to find new ways to torture TASers and forumers
OmnipotentEntity wrote:
Nach wrote:
Unfortunately, a compliant asprintf() cannot use C++. If this was C++, the right approach would be to printf() into an std::string. My std::string implementation actually has a printf() method, as well as a way to build up a string from anything without silly format instructions.
Have you taken a look at the tinyformat library? https://github.com/c42f/tinyformat
No.
Warning: Opinions expressed by Nach or others in this post do not necessarily reflect the views, opinions, or position of Nach himself on the matter(s) being discussed therein.
Emulator Coder, Experienced Forum User
Joined: 3/9/2004
Posts: 4588
Location: In his lab studying psychology to find new ways to torture TASers and forumers
Those are both very good examples. I guess I should amend my statement by saying it also makes sense for creating your own containers. But often in those cases it is optimal to use an allocator.
Warning: Opinions expressed by Nach or others in this post do not necessarily reflect the views, opinions, or position of Nach himself on the matter(s) being discussed therein.
Emulator Coder, Experienced Forum User
Joined: 3/9/2004
Posts: 4588
Location: In his lab studying psychology to find new ways to torture TASers and forumers
Unfortunately, a compliant asprintf() cannot use C++. If this was C++, the right approach would be to printf() into an std::string. My std::string implementation actually has a printf() method, as well as a way to build up a string from anything without silly format instructions.
Warning: Opinions expressed by Nach or others in this post do not necessarily reflect the views, opinions, or position of Nach himself on the matter(s) being discussed therein.
Emulator Coder, Experienced Forum User
Joined: 3/9/2004
Posts: 4588
Location: In his lab studying psychology to find new ways to torture TASers and forumers
PangaeaPanga wrote:
As DarkMoon said, I kind of "died" from just TAS'ing in general and only recently decided to pick it up. I didn't see this change until I was close to finishing this. As for evidence, this was my last post from my WIP back on 9/22/11. It was found here.
Okay then. Unless anyone has any significant objections, I think we can make an exception here.
Warning: Opinions expressed by Nach or others in this post do not necessarily reflect the views, opinions, or position of Nach himself on the matter(s) being discussed therein.
Post subject: Re: Super Demo World
Emulator Coder, Experienced Forum User
Joined: 3/9/2004
Posts: 4588
Location: In his lab studying psychology to find new ways to torture TASers and forumers
DarkMoon wrote:
Panga disappeared off the internet a long time ago. There's no way he could've known about Snes9x being discontinued.
This post would seem to contradict that. This post suggests ~3 worlds were completed a few months before the cut off. Edit: Just to clarify my opinion, if Panga only visited us once or twice during the period, it's possible he missed the announcement. It's also possible no one else told him. ~3 worlds being complete a few months before the cut off makes it likely that a good chunk of the game was completed by the cut off period. I'm leaning on trusting Panga and accepting this, but I'd like to hear it from him first.
Warning: Opinions expressed by Nach or others in this post do not necessarily reflect the views, opinions, or position of Nach himself on the matter(s) being discussed therein.
Emulator Coder, Experienced Forum User
Joined: 3/9/2004
Posts: 4588
Location: In his lab studying psychology to find new ways to torture TASers and forumers
Any reason why you didn't ask for a continuance back in 2012? Do you have compelling evidence to suggest that this run was half way completed well before the Snes9x v1.43 cut off date?
Warning: Opinions expressed by Nach or others in this post do not necessarily reflect the views, opinions, or position of Nach himself on the matter(s) being discussed therein.
Emulator Coder, Experienced Forum User
Joined: 3/9/2004
Posts: 4588
Location: In his lab studying psychology to find new ways to torture TASers and forumers
OmnipotentEntity wrote:
Nach wrote:
OmnipotentEntity wrote:
If you're already on the C++14 bandwagon, make_unique is a thing, no more need for new.
Sounds useful. I imagine there's a make_shared as well?
make_shared was a thing in C++11. C++14 added make_unique because it was an oversight, and they originally intended to.
Thanks for the info, for some reason, that's not listed in the C++ material I have.
OmnipotentEntity wrote:
C++14 is near or at its final draft, and because make_unique is considered a correction of a defect in C++11, I don't see it going away in any quantum reality.
My statement was in general, I avoid something till it's standardized. If something is really important and I know I can reimplement it easily if a particular platform lacks it, or it goes away, I'll use it too.
Tub wrote:
Note though that unique_ptr prevents both types of bugs you mentioned.
I'm fully aware.
Tub wrote:
You present a case where pointer nulling is absolutely required, and that's in functions which allocate and return a new object, but have multiple failure conditions. Manual cleanup of the already allocated resources is an error prone process, and nulling of the return pointer is important. However, the manual cleanup code disappears once destructors, unique_ptr and friends appear; just throw an exception or return nullptr and all is well. What I was getting at: memory and error handling in C is a pain. Advising meticulous pointer nulling and error checking seems weird when there are better alternatives available, that can do the job with less code complexity (=fewer possibilities for human error), equal memory consumption and better performance. And I'm not aware of many platforms where C compilers exist, but not C++ compilers.
I think we all agree that C++ offers better facilities for proper safe memory management. However, C is still extremely popular, and there are many C only projects which need good solutions for managing memory well. C is still the most popular language. And many a project (Linux, the BSDs, OpenSSL, cURL, zlib, SQLite, ...) will not allow for C++ in the core libraries.
Tub wrote:
Nach wrote:
std::unique_ptr is rarely the best solution though, as very often, you'll be better served with an std::deque, std::vector, std::string, or something along those lines. In a ~25,000 line library I have, new is only called in two places. Also, don't forget about std::shared_ptr.
Each tool serves a purpose. For functions that return a pointer to a newly allocated object (like your example), unique_ptr fits the bill. (Or, in your special case, std::string)
Yes, I agree that each thing has a good purpose, and I use all of them, but which case did I mention that unique_ptr fits the bill?
Warp wrote:
I don't even remember when was the last time I wrote a 'new' or 'delete'. Must be years.
The only time I found where it's best to use some concept of new is where you have a function which needs to return an object. This is then further limited that not all cases which need to return an object, but only two of them: 1) Allow for the possibility that there's no object to return (exceptions aren't always the best approach for a failure scenario). 2) You have a virtual function returning some instance via a base pointer. And in both of those cases, std::unique_ptr and std::shared_ptr are your friends. In virtually every other scenario, STL containers or direct/on-stack/local objects would generally be the more correct approach.
Warning: Opinions expressed by Nach or others in this post do not necessarily reflect the views, opinions, or position of Nach himself on the matter(s) being discussed therein.
Emulator Coder, Experienced Forum User
Joined: 3/9/2004
Posts: 4588
Location: In his lab studying psychology to find new ways to torture TASers and forumers
OmnipotentEntity wrote:
If you're already on the C++14 bandwagon, make_unique is a thing, no more need for new.
Sounds useful. I imagine there's a make_shared as well? In any case, I'm not jumping on any such bandwagon till the standard (or specific parts of it) is officially approved. I hate having to rewrite something because of last minute changes.
Warning: Opinions expressed by Nach or others in this post do not necessarily reflect the views, opinions, or position of Nach himself on the matter(s) being discussed therein.
Emulator Coder, Experienced Forum User
Joined: 3/9/2004
Posts: 4588
Location: In his lab studying psychology to find new ways to torture TASers and forumers
Tub wrote:
pointer nulling will help prevent that one elusive bug
Just one? Use after free. Double free. Anything derived from the above.
Tub wrote:
but std::unique_ptr and exceptions for OOM handling will prevent hundreds. Just saying.
Not sure how you get to hundreds unless you're including every derived problem. std::unique_ptr is rarely the best solution though, as very often, you'll be better served with an std::deque, std::vector, std::string, or something along those lines. In a ~25,000 line library I have, new is only called in two places. Also, don't forget about std::shared_ptr.
Warning: Opinions expressed by Nach or others in this post do not necessarily reflect the views, opinions, or position of Nach himself on the matter(s) being discussed therein.