Posts for c-square


1 2
5 6 7
26 27
Experienced Forum User, Published Author, Active player (372)
Joined: 9/25/2011
Posts: 652
Out of curiosity, I did a quick dig into the memory classes of JPC-rr, and it looks like everything is already in place to whip up a full-fledged RAM Search/Watch window. If someone's interested, I could point them in the right direction, or maybe that'll be something I take on in the new year. :)
Experienced Forum User, Published Author, Active player (372)
Joined: 9/25/2011
Posts: 652
feos wrote:
Just letting you know guys, DOSBox inside libTAS has very high chance of being accepted for DOS TASing. And libTAS has input roll like in lsnes.
I saw that earlier this month, and my first reaction was to wonder if my work will have been for naught. But I think that, at the very least, this enhancement will aid in improving existing DOS TASses, and be used by those of us who are used to using JPC-rr or just want to work in Windows instead of linux. Depending on the feature set of libTAS, my improvements may extend the life of JPC-rr after libTAS is legal. I guess we’ll have to wait and see.
Post subject: JPC-rr TASScript 2.0 -- A new way of creating DOS TASses
Experienced Forum User, Published Author, Active player (372)
Joined: 9/25/2011
Posts: 652
TASScript 2.0 is an enhancement to JPC-rr that gives the TASser direct access to the event stream, providing quick and easy command input and editing functionality. It offers complete control over event timing down to the sub-millisecond, and precise control over mouse and joystick movements. Furthermore, it enables a macro-like ability to copy a series of inputs and insert them when and where desired. But most importantly, TASScript 2.0 finally breaks down the barrier to refactoring DOS TASses that has long frustrated TASsers. Download Link - JPC-rr 11.2 w/ TASScript 2.01 (Updated 2018/11/06 - Minor bug fixes) EDIT: Now merged into JPC-rr 11.8, and proposed as a new version 11.9-alpha. Please use this one moving forwards. History For years I have been fed up with the inability to refactor TASses in JPC-rr. Numerous times when making a TAS I've realized a mistake earlier in my run. Being forced to retreat, fix the problem, and then redo all my work from that point on killed any joy I had in making the TAS. Last year, I decided I'd had enough and wrote some lua scripts (TASScript 1.0) to try and solve the issue. Although it was somewhat successful, allowing me to refactor a short 41 second movie, it was tedious and imprecise. When I tried to use it to refactor a longer 9 minute movie, it became an unbearable slog. Then in January, I saw dwangoAC at AGDQ changing the event stream on Donkey Kong Country mid-playback and said to myself, "I want THAT!" I have since been putting my time into creating a version of that for JPC-rr, and TASScript 2.0 is the result of that work. Description TASScript 2.0 provides a new window for viewing, entering and modifying events: The TASScript window is separated into four parts: Past Script (Top) This shows events that already occurred in your TAS. The Past Script is not editable. Future Script (Middle) This shows events that are scheduled to happen. Edit this area to create/update your TAS. Message Area (Bottom) This area shows messages from the TASScript system. Action Buttons There are five action buttons:
    1) Unlock/Lock Click "Unlock" to open the Future Script for editing. You can also click on the Future Script area to open it. To save your changes, click "Lock". You must fix all errors before you can lock in your changes. 2) Cancel Click "Cancel" to discard your changes and revert to the last-saved Future Script. Editing is automatically cancelled if you advance a frame or load a save state. 3) Export Clicking "Export" will let you export your TASScript to a file. 4) Sound Unchecking "Sound" will turn off the sounds made by the TASScript window. 5) Help The question mark button opens the Help window.
Entering Commands You can type commands directly in to the Future Script area and lock it to save your changes, or you can use the classic methods of creating events to append to the end of the current Future Script. If there is a series of commands you repetitively use, you can copy those to a text file and paste them into the Future Script area whenever you need them. Here are the commands you can enter in the Future Script area: Wait:# Emulator waits without creating any events for the specified number of milliseconds. # can be any decimal value. If a Wait comes before a Type command, the value may be altered slightly on locking to ensure the Type command occurs at a valid timestamp. Example: "Wait:24.5" Type:{list of keys} Emulator types the keys listed. Usually you will want to type each key twice, once for key-down and once for key-up. Only the lower case key values are valid. To type an upper case or special character, use a shift key first. See the virtual keyboard for the list of normal keys. Special keys are listed below. Example: "Type:<lshift>ttaassvv<lshift>iiddeeooss..oorrgg<lshift>11<lshift>" will type "TASVideos.org!"
    Special Keys: <esc> = escape <bksp> = backspace <tab> = tab <enter> = enter <lctrl> = left ctrl <rctrl> = right ctrl* <lshift> = left shift <rshift> = right shift <lalt> = left alt <ralt> = right alt* <caps> = caps lock <num> = num lock <f1>-<f12> = f1-f12 <scroll> = scroll lock <num0>-<num9> = numpad 0-9 <num> = numpad minus <num> = numpad plus <numdel> = numpad delete <prtscr> = print screen* <numenter> = numpad enter* <home> = home* <up> = up* <down> = down* <left> = left* <right> = right* <pgup> = page up* <pgdown> = page down* <end> = end* <ins> = insert* <del = delete* <pause> = pause*
NOTE: Special keys with asterisks (*) take twice as long to input in JPC-rr than other keys. Use alternatives where possible. MXMove:#, MYMove:# Emulator moves the mouse along the X or Y axis by the specified amount. # must be a whole number between -255 and 255 inlclusive. Example: "MXMove:-75" Example: "MYMove:40 MZMove:# Emulator moves the mouse scroll wheel by the specified amount. # must be a whole number between -7 and 7 inclusive. Example: "MZMove:7" MClick:# Emulator clicks the specified mouse button. # must be a whole number between 0 and 4 inclusive. Example: "MClick:2" JButtonA:#, JButtonB:#, JButtonC:#, JButtonD:# NOTE: org.jpc.modules.Joystick must be in the run's assembly module list. Emulator sets the state of the corresponding joystick button. # must be either 0 for off or 1 for on. Example: "JButtonA:1" JAxisA:#, JAxisB:#, JAxisC:#, JAxisD:# NOTE: org.jpc.modules.Joystick must be in the run's assembly module list. Sets the corresponding joystick axis value. # must be a positive or negative whole number, or zero. Example: "JAxisA:-10000" TASScript Examples The package comes with a TASScripts directory that has three examples of simple TASScripts you can use to boot the system. You will never need to TAS the start up ever again!
    Basic Boot.TAS This boots the system skipping fdconfig.sys and autoexec.bat. This is the fastest way to boot up, but you won't activate himem mode, which may be an issue for some games. Himem Boot with Mouse.TAS This boots the system in himem mode and installs the mouse driver with settings to work with the mouse support enhancement (see below) Himem Boot no Mouse.TAS This boots the system in himem mode but no mouse
If you'd like an example of a TASScript for a whole game, here is the one for my QFG2 submission. Usage To refactor a movie, simply load that movie and run until you get to just before the place you want to change. Be sure to create a save state, then unlock the Future Script area and make your changes. Be sure to lock again before continuing. I also found the TASScript window very useful for new TASsing as well, especially when typing. Not having to use the Virtual Keyboard is a plus in my books. Also, the precise mouse movements come in handy, though dragging the pointer is still useful to get it in the right area. Other Enhancements There are other previous enhancements I made that are part of this bundle:
    Multiple Save Directories When you first try to save or load, it will ask you which directory you want to use. You can always change this directory using the 'D' key. This will let you keep a detailed folder structure of all your saves you can go back to any previous save and never have to overwrite an old save because you've used up all 12 function keys worth. Mouse Support For most games, to get mouse support to work properly, before loading the game uninstall ctmouse (or just skip over it in the Autoexec), and then install it again using: "ctmouse /r32". Once you start up your game, you'll be able to click on the mouse pointer and then drag it to where you want it to go, and let go of it. That will increment the frame and move the mouse for you. Check the menus for other manual ways of moving the mouse, as well as ways of changing the mouse settings if /r32 doesn't work for you and you want to use different numbers. Keyboard Support When you have the virtual keyboard window active, you can now just type and it will submit the keyboard commands for the letters you've typed. Much better than clicking on the keyboard buttons. I personally still find entering "Type:" commands in the TASScript window even easier.
Final Comments This has been a long time coming, and I'm glad to finally have this out the door. Please let me know your thoughts and ideas in this thread, including any errors you run into and any improvements you can think of. I'm going to be devoting my spare time to something else for a while, but I'll be monitoring the thread and will be happy to fix any problems or fine-tune this to make it even better. Given that this adds a whole new method of input and editing to JPC-rr, I'd also like to recommend adding this version to the TASVideos JPC page for people to find and download. My hope is that the TASScript window will lower the learning curve for the emulator and motivate more people to make DOS TASses. However that will only work if people know about it. If someone is willing to integrate my changes with the latest version of JPC-rr to make a new version, I'd be very happy to provide my support. Kudos, and many thanks for the TASVideos community for keeping up the push to gaming perfection.
Experienced Forum User, Published Author, Active player (372)
Joined: 9/25/2011
Posts: 652
Patashu wrote:
One question I'd ask to clarify your view - if the game has been updated since then, can hardware used at the time of its most recent update be emulated?
It would depend on the scope of the update. If it’s a new edition of the game (e.g. a remake/sequel) I’d say yes. If it’s merely a patch or a “classics” rerelease, I’d say no.
Experienced Forum User, Published Author, Active player (372)
Joined: 9/25/2011
Posts: 652
I'm late to the party, but I'd like to throw in my two-cents' worth. My apologies in advance about my limited understanding of current video hardware, or if others have already covered some of this ground: Short version If it is emulating hardware that a normal human would use at time of game release, it's OK. If it's emulating hardware that is not available to a normal human (i.e. no super computers), or came out after the game was released, it's not. Long version TASses are supposed to be "Superhuman" runs of games, as if the player had perfect reflexes, knowledge and strategies. And the only way to be superhuman is to compare to a human. Often criticism of TASses comes from the false view that the emulators act like game genies, giving runners access to moves and bonuses not available to regular runners. Allowing emulator-only benefits would legitimize this opinion. Whatever the decision, it needs to be consistent with the DOS TAS limitations. There's a reason why we run DOS TASses on emulated 286/386/486 hardware. It would be against the spirit to emulate a quad-core i7 playing those games just to get an advantage. Linux TASses should either have to meet the same standard when it comes to hardware limitations, or all hardware limitations should be removed.
Experienced Forum User, Published Author, Active player (372)
Joined: 9/25/2011
Posts: 652
I've been looking forward to this submission. Yes vote for sure!
JPC makes it incredibly difficult to make improvements once you've moved past a particular timestamp
FYI, I'm getting close to completing an emulator upgrade that will make this a whole lot easier. I'm expecting to have it out by the end of the year. :)
Experienced Forum User, Published Author, Active player (372)
Joined: 9/25/2011
Posts: 652
Patashu wrote:
* The above points all assume the game gets asymptotically faster with higher FPS. If it gets faster with no bound with higher FPS, then allowing TASes to use whatever FPS is obviously absurd - it would be like DOS TASing at arbitrary CPU cycles.
I was curious as to how this might relate to DOS CPU cycle settings. The CPU cycle limit rule was brought into place to make sure emulator speed settings were not set above what a normal human would be playing at when the game was released. Similarly, I think FPS settings shouldn't be allowed to be set higher than the hardware limitations of the video devices available when the game was released. If it was possible to for a normal human to play at 1,000 FPS (with the appropriate hardware) when the game was released, then this should be allowed. If this is something that can only be done because of the emulator or because better technology came out later, then it should not.
Experienced Forum User, Published Author, Active player (372)
Joined: 9/25/2011
Posts: 652
I think it's safe to say that no human has ever beaten CD Man on the Warp speed setting.
Experienced Forum User, Published Author, Active player (372)
Joined: 9/25/2011
Posts: 652
Sweet. That gets around the whole issue quite nicely.
Experienced Forum User, Published Author, Active player (372)
Joined: 9/25/2011
Posts: 652
From my reading of the submission, I don't see this starting from a save state. This TAS does start from power on as it should. keylie then alters a config file to unlock the areas that should otherwise be locked, and that's what's against the rules. One method to get around the issue would be to create a verification movie unlocking the four chapters and saving, and then start the movie from that save state, but that would require at least some reworking of the TAS to start from the save state instead of power on. I don't know how easy it is to transplant the run from one to the other, but if it's not much effort that would be a good way to go. Otherwise, I think we should discuss how to change the rule on altering game files.
Experienced Forum User, Published Author, Active player (372)
Joined: 9/25/2011
Posts: 652
Technically, this submission breaks the Movie Rules:
No tampering with the files the game is composed of Some systems, such as DOS, exposes the separate parts of the operating system and/or the game to the user. You are not allowed to manipulate these files except as is normally necessary to play the game, such as "installing" it. That means no renaming/copying/deleting/replacing/editing files that affect game-play.
Voted yes anyway. I foresee a clarification of the rules on the horizon.
Experienced Forum User, Published Author, Active player (372)
Joined: 9/25/2011
Posts: 652
This is one I'd considered doing myself, as I was sure it'd be pretty quick. But I wasn't prepared for it being this quick! Great work DrD2k9! I'm going to have my Speedy TAS nomination ready at year end. :)
Experienced Forum User, Published Author, Active player (372)
Joined: 9/25/2011
Posts: 652
(Movie rule exception based on missing archivation of games) No cracked games except for C64
The actual rule, "Exceptions may be made for bad or cracked ROM images only if no good ROM images exist, or are not obtainable" isn't console specific. Many DOS games fall under the same limitation.
Experienced Forum User, Published Author, Active player (372)
Joined: 9/25/2011
Posts: 652
Asnivor wrote:
The use of cracked games is an obviously murky one.
Actually, the rules are pretty clear on the use of cracked games:
Exceptions may be made for bad or cracked ROM images only if no good ROM images exist, or are not obtainable.
I think a good argument could be made that many Amiga games fall under this exception.
Experienced Forum User, Published Author, Active player (372)
Joined: 9/25/2011
Posts: 652
Sand wrote:
I wrote a little Lua script to automate optimizing these jumps, but it caused a deadlock in JPC-RR due to an apparent race condition. (I didn't investigate it thoroughly.) I was able to work around it by commenting out a line in JPC-RR that restores the display after loading a savestate, but that becomes annoying when working interactively, and it was too cumbersome to switch back and forth between the two versions. So I just optimized all the jumps manually. Maybe in a future revision.
Hi Sand, Could you point me to the line you commented out? I would love to get this solved, as it is very annoying whenever a script I'm running stops everything, ruining what I'm trying to do.
Experienced Forum User, Published Author, Active player (372)
Joined: 9/25/2011
Posts: 652
Cyorter wrote:
Yes, before starting the movie, I knew it would finish as a Vault movie, but well, isn't reason to get discouraged :p
Cool! Yes, vault runs are needed and very appreciated here too, and I'm glad you made it.
Experienced Forum User, Published Author, Active player (372)
Joined: 9/25/2011
Posts: 652
Great run, Sand! Congrats on your first TAS. I'm looking forward to voting "Yes". :)
Experienced Forum User, Published Author, Active player (372)
Joined: 9/25/2011
Posts: 652
Entertaining, but short enough not to get repetitive. Yes vote.
Experienced Forum User, Published Author, Active player (372)
Joined: 9/25/2011
Posts: 652
Took me a while to understand what the objective of each level was. A description of the rules of puzzle mode might be helpful for others. It seems well optimized, but at over 15 minutes, it gets repetitive pretty quickly. Meh for entertainment, I think this is a good vault candidate.
Experienced Forum User, Published Author, Active player (372)
Joined: 9/25/2011
Posts: 652
Very nice, yes vot... oh wait, this isn't submitted yet. Well, looking forward to voting yes. Congrats on your first TAS! You did a great job. :)
Experienced Forum User, Published Author, Active player (372)
Joined: 9/25/2011
Posts: 652
DrD2k9 wrote:
If that's the case....is it still considered cheating to use the built-in-cheat even though it was accessed in an unintended manner? Or is it acceptable because an unintended method was used to access this cheat?
I asked this exact question on the Ask a Judge forum. Feos' response wasn't definitive, but I agree this should be explicitly addressed in the rules to avoid future confusion.
Experienced Forum User, Published Author, Active player (372)
Joined: 9/25/2011
Posts: 652
I been hoping to see a Wing Commander TAS for a long time now, so I was very excited to see this on the main page. Unfortunately, this is not quite what I had in mind. I really don't consider this a "bad ending", it's just a game over condition. It even says so on the screen. Sorry, but I have to give a no vote for this one.
Experienced Forum User, Published Author, Active player (372)
Joined: 9/25/2011
Posts: 652
Well played! Another excellent run from slamo!
Experienced Forum User, Published Author, Active player (372)
Joined: 9/25/2011
Posts: 652
DavidN wrote:
And those pieces of advice really sped me up to the point where I was able to piece together a complete run of the fourth level. (At the beginning I use Shift+L which enters a practice mode up to level 4 and reduces your timer to 15 minutes - it's intended to make the game impossible to complete.) https://www.youtube.com/watch?v=Tvm1CRAj_IM
Welcome to the world of Dos TASsing, DavidN! Nice level. Looks like you've caught on very quickly. Yes, JPC-rr can be very clunky to use, but it's decent once you get the hang of things. There are lots of us here that are happy to help, so be sure to reach out if you ever run into any difficulties. Happy TASsing.
Experienced Forum User, Published Author, Active player (372)
Joined: 9/25/2011
Posts: 652
Great find, Sand! Thanks for posting it. If you've ever considered doing a TAS, this would be a good one to start on. ;)
1 2
5 6 7
26 27