Step 0) If your content is a 2D game with simple scrolling (not 3D, not parallax), try to figure out and enable cheat codes that remove possible HUDs (such as health bars or score displays) that are always in a certain position of the screen even as the background moves.
Step 1) Record AVI in your emulator. FCEUX has it built-in, for instance.
Step 2) Convert the AVI file into PNG files. It can be done easily with MPlayer using the following commandline for instance:
mplayer -vo png your_avi_file.avi It is also recommended to add a
-vf scale=320:240 option (or equivalent) at this point to directly scale the screenshots to whichever resolution you want to use in the article.
Step 3) Delete those PNG files you will not want to use in the animation. I use
gqview or
geeqie for that, but any tool that lets you inspect image files and pick&choose&delete those you don't want will do, including Windows explorer. For GIF size, it may also be be wise to reduce the framerate, by i.e. deleting every even frame, or perhaps even reduce the rate by 3 by deleting 2 out of every 3 frames.
Step 4A) If your content is a 2D game with simple scrolling (not 3D, not parallax), use
animmerger to align the images together into animation frames with static background. With a static background the GIF will be a lot smaller than if the animation scrolls. For instance:
animmerger 0000*.png -pc --gif=always
The difference between a normal animation and one with a static background can clearly be seen in these two pictures respectively:
original ;
stabilized (from animmerger web page). The former image file is three times as large as the latter one.
Step 4B) If your content is a 3D game with a moving camera, or it has complicated scrolling, the background can not be made static, but
animmerger is still a great way to do high quality dithering for the animation and reduce its color resolution to make a smaller GIF file. For instance:
animmerger 0000*.png -pc --noalign -Qd,16 --gamma=2.2 --gif=always
As far as I know, animmerger is still the best tool in the world for quantizing and dithering animations with respect to result quality. Sometimes you need to dedicate and spend time finetuning its commandline options to get the most pleasing result though. See --fullhelp for details.
Step 5) Merge the individual GIF files produced by animmerger into a single animated GIF file. It can be done with
gifsicle, with a command such as:
gifsicle -O2 -o combined.gif -l0 -d3 tile????.gif At this point you can also crop the animation further by using gifsicle's
--crop parameter. It is highly recommended to crop the animation leaving only the region that contains content relevant to the article. Not only will doing so produce a smaller and thus faster loading file, it will also take less estate in the article and consume less RAM in the browser, making it thrice more mobile-browsing friendly.
Step 6) Preview the GIF file in your browser to check it looks
allright perfect. If necessary, go back to some earlier step.
Step 7) The GIF file must be uploaded to an image hosting service so that it can be linked to on the article page. I don't know the current recommendations on TASVideos about this, so I'll stop here. Back when/then I would put my images directly to the TASVideos media server, but times are different today.