Author
|
Topic: UQM Tools (Read 23917 times)
|
onpon4
Enlightened
Offline
Gender:
Posts: 709
Sharing is good.
|
Just from observation of the game, this seems to happen with a lot of ships (I've particularly noticed it with the flagship), mostly because of how ship rotation works. I've actually experienced the same problem quite some time ago, when I was making a space game in GM (which, funny enough, I'm starting to work on again in Python) and at first tried to use that same technique combined with image rotation. The problem is, it's almost impossible to cause the rotation to look perfectly smooth, so there are bound to by "snap" points like that.
|
|
|
Logged
|
|
|
|
Angelfish
Enlightened
Offline
Posts: 568
|
the timewarp ships are perfectly rotated for the most part, so it's not impossible
|
|
|
Logged
|
|
|
|
Megagun
Enlightened
Offline
Gender:
Posts: 580
Moo
|
Just from observation of the game, this seems to happen with a lot of ships (I've particularly noticed it with the flagship), mostly because of how ship rotation works. I've actually experienced the same problem quite some time ago, when I was making a space game in GM (which, funny enough, I'm starting to work on again in Python) and at first tried to use that same technique combined with image rotation. The problem is, it's almost impossible to cause the rotation to look perfectly smooth, so there are bound to by "snap" points like that.
The snap points are pixels, and the maximum 'wrong offset' you can get is an offset of one. What I'm seeing here with the Androsynth isn't a technical limitation at all; someone probably just made an error in the .big file...
Lower resolution graphics are way more susceptible to hotspot issues, which is also why the ships in Timewarp don't suffer these issues at all (and I would say that neither do any of SC2's ships, with the sole exception of the Androsynth in blazer form). Thus, a cheap trick you could use to solve this is to upscale your graphics by 2 and set the hotspot based on the resized graphics. That, or use floats/doubles for your hotspot coordinates.
|
|
« Last Edit: October 11, 2010, 12:28:33 pm by Megagun »
|
Logged
|
|
|
|
Quinarbre
Frungy champion
Offline
Posts: 60
|
Awesome, especially if you make it possible to edit hotspots on the fly. And sorry for not understanding what you had in mind with the conversation tool.
I remember when I discovered the mouth on that Spathi and thought "Why weren't we told that before ?"
Also, to answer your notes, project6014 uses duplicate lines just to make some frames appear longer than other ; your way of handling it is perfect, you'd want to eliminate duplicates when tweaking hotspots but not when replaying the animation.
You might want to say somewhere what the unit is for the rate (which is actually not a rate but a frame duration). Another suggestion which would help the animation artists (but may not be straightforwardly done just playing with the z axis) : give the option to test the animation only on a (continuous) selection of frames.
|
|
|
Logged
|
|
|
|
|
Megagun
Enlightened
Offline
Gender:
Posts: 580
Moo
|
Awesome, especially if you make it possible to edit hotspots on the fly. Shouldn't be too hard to do; might end up doing that. Editing hotspots and offsets by hand works nicely too, though. I'll see if I can get that to work after I've gotten the conversation tool done.
Also, to answer your notes, project6014 uses duplicate lines just to make some frames appear longer than other ; your way of handling it is perfect, you'd want to eliminate duplicates when tweaking hotspots but not when replaying the animation. Ah, yeah, I thought that must've been why they were duplicated, but I wondered why that wasn't done in the code.
You might want to say somewhere what the unit is for the rate (which is actually not a rate but a frame duration). Right. Frame duration is x milliseconds, where x is the value of the slider.
Another suggestion which would help the animation artists (but may not be straightforwardly done just playing with the z axis) : give the option to test the animation only on a (continuous) selection of frames.
Maybe later.
How's it going?
I've spent most of my uqmtools-developing time on creating a buildbot (using the buildbot/buildslave tools from http://buildbot.net/trac) for p6014 (to automatically build Linux binaries). It works, but I've still got to fix some security issues on my end. The conversation tool is proceeding semi-nicely. There's a few things that are pissing me off and a few things I still need to implement (initialize functions/end functions, mainly)...
|
|
|
Logged
|
|
|
|
Megagun
Enlightened
Offline
Gender:
Posts: 580
Moo
|
Here's a very early alpha of UQMConversationTool built in a bit of a hurry (but I really wanted to release a preview of this today):
Binary (Java/zlib): http://mooses.nl/uqm/tools/uqmconversation.zip (place in the same folder as your UQM binary for optimal effect; note that I have only really tested it with p6014, but it should work nicely under vanilla UQM aswell) Sources (zlib): http://mooses.nl/uqm/tools/uqmconversation_src.zip Example project XML from the screenshot: http://mooses.nl/uqm/tools/conved_examples/example.xml
As you can tell by the screenshot, it's not very proper yet (didn't override a few toString()s.. ) but as far as I know, it should work neatly. I've had a few enlightening conversations with the chmmr earlier today about pie.
Contains some pretty extensive help and notes.
As far as the XML specs go: I haven't done *anything* regarding those. The project XML files are basically my Conversation class parsed through XStream's serialization functions. There's some pretty horrible stuff in there; keep that in mind. But hey. it works...
Todo: lots and lots and lots of things.
|
|
|
Logged
|
|
|
|
|
Megagun
Enlightened
Offline
Gender:
Posts: 580
Moo
|
Yeah, I know. It's not the most usable tool yet.
UQMConversationTool v0.02 alpha released: -Integration of UQMDialogtool within ConversationTool: dialogue strings can now be modified - This means that a project XML file can be used, transferred between people and then converted to a .txt file. Even though you'd need to create a new project to be able to edit a dialogue, the various fixes and changes I've made make ConversationTool a better UQMDialogTool than UQMDialogtool itself. -GUI cleanups: added tabs, native look & feel (consider enabling it; it makes things a lot easier), two settings panes (one for the tool, one for the working project), etc. -Lots and lots of fixes. For one, loading multiple conversation dialogue files is possible, and it'll ask you about an overwrite policy if there are any collisions.. -Added error console tab. Just because I could. heh. -Settings saving mechanism. Based on HashMaps which make it very comfortable for me to add in settings as I see fit. -Note: help dialogs are NOT updated. It's 0:50 here and I'm lazy.
Production-ready-ability: low. Specs may still change, and I'm not willing to support the current output XML format in later versions of this tool.
Binary (Java/zlib): http://mooses.nl/uqm/tools/uqmconversation.zip Sources (zlib): http://mooses.nl/uqm/tools/uqmconversation_src.zip
Todo: lots and lots and lots of things. Amongst others: -Rework 'Statement editor' GUI. It's ugly and uses interface elements wrong (tabbedpane where a radiobutton group should be used).. -Allow multiple alien phrase responses in the ConversationOption editor. -Add pre and post-statements in the ConversationOption class + editor -Allow deletion of statements etc in all editors -Make the ConversationOption class use Functions and Statements internally -- drawback to this is that it'll make the XML even more ugly. oh-well.. -Implement a "Conversation Player". -lots and lots of other things.
|
|
|
Logged
|
|
|
|
Megagun
Enlightened
Offline
Gender:
Posts: 580
Moo
|
Yeah, I know. It's not the most usable tool yet.
UQMConversationTool v0.03 alpha released: -Conversation Simulator added. -Internal changes to Conversation nodes and options; these now use all the internal statement types. -Changes to the XML format. A lot cleaner now. -Allowing multiple alien phrase responses in the ConversationOption editor. -Bugfixes, small tweaks, ... -Note: help dialogs are NOT updated. Yeah, I am lazy.
Production-ready-ability: average. Things should work nicely, but it's probably a bit clunky to use right now. Furthermore, there are a few features lacking, and a lot of the more core-game stuff (gamestates, if/then/else statements) aren't implemented and thus need to be done by hand using a CustomCode statement.
Binary (Java/zlib): http://mooses.nl/uqm/tools/uqmconversation.zip Sources (zlib): http://mooses.nl/uqm/tools/uqmconversation_src.zip
Screenshot of simulator:
XML file for this conversation: http://mooses.nl/uqm/tools/conved_examples/picard.xml
Todo: a few things... -Rework 'Statement editor' GUI. It's ugly and uses interface elements wrong (tabbedpane where a radiobutton group should be used).. -Allow deletion of statements, conversation options, functions and conversation nodes. -Allow moving of statements. Move up/move down, that sort of thing. -Allow adding statements to conversation options (Conversation Option Editor dialog) -Add statements: Set Gamestate, IF (+ IF GAMESTATE), ELSE -other stuff..
|
|
|
Logged
|
|
|
|
|
|
Megagun
Enlightened
Offline
Gender:
Posts: 580
Moo
|
Not really, no. Doing some work on p6014 at the moment and using the knowledge gained to improve the conversation editor later on.
|
|
|
Logged
|
|
|
|
|
Megagun
Enlightened
Offline
Gender:
Posts: 580
Moo
|
I've updated the Animation tool to show a hotspot pixel at the [0,0] coordinates in an animation (as requested by dczanik). I've also fixed a few bugs and made some minor further improvements. I'm not sure if anyone else is using that tool, but if you are, it might be worth it to upgrade to v0.3 Binary here
As far as the Conversation editor stuff goes, I've been thinking about recreating a generic conversation editor from scratch with a much better interface that poops out a standardized XML file that various projects could make use of. This probably means that the existing conversation editor tool is going to be abandoned (but I don't think anyone was using that one, anyways).
|
|
« Last Edit: September 16, 2011, 01:58:05 pm by Megagun »
|
Logged
|
|
|
|
|