Posts for Warp


Banned User
Joined: 3/10/2004
Posts: 7698
Location: Finland
Ah, now it starts to ring a bell. It's similar to how JPEG is encoded by default, isn't it? In other words, the original image is converted to luminance (the brightness of the pixel) and chrominance (its color information), and then the chrominance channel is scaled down to half resolution on each axis (so that this channel has only 1/4 of the original pixels). With regular photographs this loss of color information doesn't matter much because of how the eye works (luminance is much more significant than color information), but it might indeed have a large impact on pixel graphics (especially when the overall amount of colors is small). It's odd, though. IIRC the JPEG format supports not downscaling the chrominance channel resulting in better color preservation (at the cost of a slightly larger file). I wonder why x.264 doesn't support that too (being a much newer format and all).
Banned User
Joined: 3/10/2004
Posts: 7698
Location: Finland
I wouldn't call a run which gets into the "TAS of the Year" poll "mediocre" (especially one which seems very liked)...
Banned User
Joined: 3/10/2004
Posts: 7698
Location: Finland
You mean it doesn't simply take one RGB pixel from the input, perform a colorspace conversion to it, and then use it as a single pixel in the output, but also surrounding pixels are affected by the conversion? Where can I find more info on that colorspace? I can't find anything named "yv12" at wikipedia. The closest things are YUV 4:2:2 and YUV 4:4:4, but I don't know if it's the same thing.
Banned User
Joined: 3/10/2004
Posts: 7698
Location: Finland
Maybe we should start awarding silver trophies as well?-)
Banned User
Joined: 3/10/2004
Posts: 7698
Location: Finland
Johannes wrote:
Yes, that can work around the apparent color information loss introduced by the conversion to YV12, but the conversion to YV12 is inherently not lossless :)
Does RGB -> YV12 conversion really matter, especially with the games which would most benefit from lossless compression (ie. the ones which use a few colors to begin with, ie. NES, GB...)? Even if it does change some color by one step, I assume the change won't be visible in practice.
Banned User
Joined: 3/10/2004
Posts: 7698
Location: Finland
DarkKobold wrote:
I agree with Warp (whoa, never thought I'd say that.)
I know it's a joke, but could people please finally stop doing that? It's getting old and it's annoying. Thank you very much.
Banned User
Joined: 3/10/2004
Posts: 7698
Location: Finland
Heisanevilgenius wrote:
I think glitchy needs to stay the way it is.
I find one minor issue with it. I assume it's supposed to be Mario carrying a turtle shell, like in the games... except that Mario's head and the shell have switched places. However, it looks like Mario is bending over and has a turtle shell on his back. The correct interpretation of the image isn't immediately obvious. Perhaps some work could be put into making it clearer?
Banned User
Joined: 3/10/2004
Posts: 7698
Location: Finland
pirate_sephiroth wrote:
this is NOT the Best Lua Bot Award.
That gave me the idea that maybe we should have a separate award for the heaviest use of bots or other programmed tools which automate the creation of the TAS as much as possible? After all, the use of scripts and other tas-by-programming has been clearly on the increase during the past years.
Banned User
Joined: 3/10/2004
Posts: 7698
Location: Finland
The idea of a pointer which shows where the camera will look at in the next frame sounds like an ingenious idea which ought to make a TASer's life much easier. You don't have to do trial-and-error for each frame, but plan a lot ahead when you see exactly how the camera will end up oriented if you advance to the next frame. Could this idea be implemented in some FPS games for the N64 and PlayStation?
Banned User
Joined: 3/10/2004
Posts: 7698
Location: Finland
sgrunt wrote:
Just had to tackle this one - it reminds me of working with a particularly nasty class hierarchy once where I needed to put this knowledge to use.
Yes, that's the (AFAIK) simplest case where static_cast does not even compile but dynamic_cast compiles and works as intended. It's also a good demonstration of why dynamic_cast has at worst linear complexity in relation to the size of the inheritance hierarchy (because at worst it has to traverse the entire hierarchy to check if the cast is valid, and then change the pointer accordingly, as there might not be any way to use compile-time information to make it faster). Not that this is usually any problem, though.
Post subject: Re: Games which are the most unsuitable for TASing
Banned User
Joined: 3/10/2004
Posts: 7698
Location: Finland
Lex wrote:
Warp wrote:
Are there any existing games (or entire game types) which are absolutely and totally unsuitable for TASing? Besides color-a-dinosaur, that is.
Whaaat? Why "besides color-a-dinosaur"? Isn't that exactly the type of game you're talking about?
"Besides" meaning no need to mention it, as it's a well-known utterly poor game choice for TASing.
Banned User
Joined: 3/10/2004
Posts: 7698
Location: Finland
This reminds me of the list of advanced C++ questions I once compiled (based on things I have actually had to learn): 1) STL containers have, among others, two special constructors: One which takes an integral and a reference to the value type (to initialize the container with the specified amount of values) and another which takes two iterators (to initialize the container with a value range specified by those iterators). In other words, the containers will have two constructors in the form:
Containter::Container(size_type amount, const value_type& value);

template<typename Iterator>
Container::Container(Iterator startIter, Iterator endIter);
Suppose you do this:
std::vector<int> container(10, 5);
In principle that constructor call matches both of the above constructors. The compiler will choose the one which matches best. In this case the constructor taking two iterators will be a best match (because both parameters are of the exact same type). In other words, the "wrong" constructor will be called (yes, this does actually happen). However, the STL containers still manage to do the right thing (rather than giving a compiler error because ints are not iterators). How? 2) Give an example code where using static_cast gives a compiler error, while using dynamic_cast compiles and works ok. The only difference between the two cases is the keyword, otherwise the codes must be the same. Also explain why this is so. (And no, this problem does not involve precompiler macro trickery or anything of the sorts. That's not what this problem is asking. It's about the semantics of static_cast vs. dynamic_cast.) 3) Explain the concept of 'placement new' and why/when it can be useful. Give an example of an actual usage in the standard library. Also explain how objects constructed in this way can be destroyed properly. 4) STL containers support user-defined memory allocators (specified as class template parameter, instances of these allocators being given as constructor parameter). By default, instantiating eg. a list of integers is completely equivalent to this:
std::list<int, std::allocator<int> > theList((std::allocator<int>()));
The std::list is given an allocator of type int (that is, an allocator which is configured to allocate elements of type int; among other things, this makes it have a function for constructing objects of that type). However, std::list will not allocate objects of type int. Instead, it will allocate objects of an internal type (usually some struct which contains the int and two pointers as members). However, it was not given an allocator which was configured to allocate objects of that internal type. Thus it cannot use the given allocator directly for allocating those objects. How is this problem solved within STL allocators? 5) Notice how in the previous example a set of extra parentheses was used in the constructor call. This was not a mistake. Explain why those extra parentheses are necessary.
Banned User
Joined: 3/10/2004
Posts: 7698
Location: Finland
Dromiceius wrote:
A Sims TAS would be awesome.
I agree. There's a lot of potential in The Sims (and similar games) for a funny playaround (and in some cases even a speed-oriented run). It might be a long run (depending on the goals), but it could very well be quite entertaining.
Banned User
Joined: 3/10/2004
Posts: 7698
Location: Finland
Fun with templates. (Not for the faint of heart.)
#include <set>
#include <string>
#include <iostream>
#include <iterator>
#include <algorithm>
#include <functional>
#include <cctype>

std::string processString(std::string s)
{
    s.erase(std::remove_if(s.begin(), s.end(), std::not1(std::ptr_fun(isalpha))), s.end());
    std::transform(s.begin(), s.end(), s.begin(), toupper);
    return s;
}

int main()
{
    typedef std::istream_iterator<std::string> InIt;
    std::set<std::string> words;
    std::transform(InIt(std::cin), InIt(), std::inserter(words, words.end()), processString);
    std::copy(words.begin(), words.end(), std::ostream_iterator<std::string>(std::cout, "\n"));
}
Banned User
Joined: 3/10/2004
Posts: 7698
Location: Finland
The PATH environment is only related to where executable programs are searched. What happens if you write "svn" (and nothing else) in the command line? Do you get "command not found", or do you get a message from svn (probably "Type 'svn help' for usage")? If what you are getting is the latter, then PATH is not what you are looking for.
Banned User
Joined: 3/10/2004
Posts: 7698
Location: Finland
Kirkq wrote:
"In other words, the flicker-fusion point, where the eyes sees gray instead of flickering tends to be around 60 Hz." "Most people do not detect flicker above 75Hz." Obviously this is white vs black, so the general color related number may be a bit lower, but I'm fairly sure rate of vision is larger than 25 Hz.
That depends on what we are talking about. Movies are filmed and shown in theaters at 24 frames per second. If the frames of such a movie alternated from being purely black and purely white, you would certainly see the 24-fps flickering (rather than a static gray screen). However, for example the movie showing a person walking does not look jerky but smooth. In order to see jerkiness in the movement, the framerate would need to be dropped to below 16 or such. So it really depends.
Banned User
Joined: 3/10/2004
Posts: 7698
Location: Finland
Mitjitsu wrote:
Beating a chess program on the highest difficulty in the fewest possible moves wouldn't be so hard if you were to use the latest chess programs to assist you in making moves. I think playing a chess computer on the easiest difficulty and showing how terrible the AI it is would be more interesting to watch.
I don't know. I don't think it would be all that funny to see a computer making bad moves for the sole reason that it's not given enough time to think. Also there wouldn't be any "superhuman" element to this because even a mediocre human player would be able to beat the computer at such setting.
EDIT: A better idea would be to have 2 players playing against each other and making high level moves.
That would have nothing to do with TASing. It would simply be replaying a high-level chess game. You can watch those online.
Banned User
Joined: 3/10/2004
Posts: 7698
Location: Finland
nfq wrote:
I always thought that the framerate of NES was exactly 60 FPS. I wonder why they chose a weird number like 60.098 instead of a nice and round number like 60.
AFAIK back then it wasn't really a question of choice. The refresh rate was tied to the refresh rate of the local TV standard, which in itself was tied to the frequency of the main AC input (which is why in the US games updated at 60 FPS while in Europe they updated at 50 FPS).
Banned User
Joined: 3/10/2004
Posts: 7698
Location: Finland
arkiandruski wrote:
I still haven't found a good file hosting site (and a lot of the others I tried were being stupid.)
That's one thing which puzzles me. There are several websites which offer completely free video hosting services, no strings attached, no hoops to jump through, direct linking allowed (well, kind of, in the form of html embedding), and videos are certainly very large in size. However, try to find just a regular file hosting service with no hoops or other idiotic conditions... I wonder why is that.
Banned User
Joined: 3/10/2004
Posts: 7698
Location: Finland
At least OpenSPC supports dumping SPCs to IT.
Post subject: Games which are the most unsuitable for TASing
Banned User
Joined: 3/10/2004
Posts: 7698
Location: Finland
There has been some theoretical talk in the past that if one wanted to make a game which is as hard to TAS as possible, what it should have. This got me thinking: Are there any existing games (or entire game types) which are absolutely and totally unsuitable for TASing? Besides color-a-dinosaur, that is. So I came up with the game type which I think really is by far the most unsuitable for TASing: A computer chess game. For the TAS to make any sense, the program would have to be set to its absolute maximum difficulty, and the goal of the TAS would be, naturally, to defeat it in as few moves as possible. However, if the program is set to its maximum difficulty, the entire "run" would probably take several hours (if not even days, depending on the program), 99.999% of the time being just a static screen where nothing happens (ie. all the time that the computer spends thinking), except perhaps for a time-counting clock. It would be the most boring TAS of all times (perhaps second only to that Desert Bus TAS). It would not make any sense to "TAS" a computer chess game at a fast setting because then it becomes trivial to beat, making the whole tool-assistance more or less moot. It's a real pity, though. It would be interesting to see a computer chess program beaten in as few moves as possible at its hardest difficulty setting. (This would be quite challenging for the TASer too, as it would require pretty strong chess skills, regardless of the TASer having as much thinking time as he wants. Maybe even grandmaster level with the best chess programs out there.) Any ideas of other games or game types which would be completely and absolutely unsuitable for TASing?
Banned User
Joined: 3/10/2004
Posts: 7698
Location: Finland
Nach wrote:
The money towards prizes this year ($100) was donated solely for the purpose of the prizes.
Then I misunderstood the wording used in the post stating that.
Banned User
Joined: 3/10/2004
Posts: 7698
Location: Finland
arukAdo wrote:
I want to say officially here that im whilling to refund anything i would win trought award as a donation to tasvideos.org For sake of simplicity, i guess we dont need to move any money from where it is right now.
Hmm, I'm not sure I will be able to express what I'm thinking properly, but I'll try anyways, even at the risk of being misunderstood. I think that your gesture raises some interesting questions. If I have understood correctly, the tasvideos.org managers have got a surplus of donations, in other words, more money than what they really need for the (thankfully quite little) expenses needed to keep the server up, and thus decided to award this excess as awards and encouragement for people who have contributed to the site with excellent runs and great achievements. Moreover, if I remember correctly, someone even donated some money for this sole purpose (ie. to be given as awards). Now, not taking the money and "donating" it right back raises a bit of a dilemma: There's still a surplus of money which was now not given as award. Most importantly, potentially part of the money which was donated for the sole purpose is now being recycled to the donation funds rather than being used for their intended purpose. This could become even more "problematic" if other people, being inspired by this altruism, started doing the same thing and "donating" also their price money right back to the site. So the site might end up having a surplus of donations which it actually cannot get rid of, even though the purpose is good in principle. What should be done with this surplus? One possibility would be to increase the other prices by the amount (although this could potentially cause some problems of its own). Another possibility would be to stash the money for next year's awards, or for surprising expenses.
Banned User
Joined: 3/10/2004
Posts: 7698
Location: Finland
Do we really need two threads where the same person asks the exact same question?