Jump to content

Dynamic Difficulty Creator


Recommended Posts

Hi Plingbrix,

 

  Check your EOF project, it must be in conformity with the following rules :

  - The first section should not start at time "0.000"

  - The first section cannot be empty

  - A section or a phrase must start at the first beat of a measure

  - Each section should have more than one note inside

 

  In addition with these rules, your CDLC has only two sections inside ("intro") and the last one has only one note.

  Try to create more sections for the verses and chorus parts and with more than one note by section ...

 

Hope that solves your issue

Link to comment
Share on other sites

I'm only adding the bass part as that's what I play and not the guitar parts. There's 18 parts for the guitar alone for the tab I'm using. I can't find any more due to DMCA's.  As for the sections... how do I go about doing that?

 

To create sections with EOF, select the first beat of a measure and use [beat][Rocksmith][Place RS Section].

 

With the vocals in the song, you can easily detect the start of each verse and each chorus. Then add an intro section at the beginning and an outro section a few measures before the end ...

Link to comment
Share on other sites

  • 1 month later...

Is it possible to make an update of the DDC that incorporates the new function of the ghost handshapes of EOF? Cause the chords i've made with this function only shows its boxes (without DD there's no problems).

Also, sometimes certain chords appears as if in EOF it be marked with crazy status (the chord show its gems, not just the repeat box). I set the phrase length in DDC longer than the phrases i've made in EOF so i don't know why a chord that doesn't cross a phrase it's showing like it has crazy status.

My Custom Songs (Workshop)                                              YouTube Videos

 

80C651DEE.png

Link to comment
Share on other sites

Is it possible to make an update of the DDC that incorporates the new function of the ghost handshapes of EOF? Cause the chords i've made with this function only shows its boxes (without DD there's no problems).

 

Also, sometimes certain chords appears as if in EOF it be marked with crazy status (the chord show its gems, not just the repeat box). I set the phrase length in DDC longer than the phrases i've made in EOF so i don't know why a chord that doesn't cross a phrase it's showing like it has crazy status.

 

Hi giulianolanz,

 

  I never used this functionality in EOF.

  Can you describe how to use it ?

  I need a test case to reproduce this issue ...

 

Thank you for your help

Link to comment
Share on other sites

Here's a description of its purpose:

http://customsforge.com/topic/22596-handshapearpeggio-for-multiple-notes-at-a-time/page-2?do=findComment&comment=183033

 

It basically is just a mechanism to override the handshape tag that would be exported for a chord, so the handshape and chord tag for a single chord in EOF would end up referring to different chord template IDs.

  • Like 1
Link to comment
Share on other sites

Raynebc,

 

  Ok.

  So this generates a new chordTemplate with no name for each chord with this special flag.

  

  Does it work in all cases ?

  Are there special cases in which an anonymous chordTemplate is not generated ?

  

  I tried to use it with the following example :

ghost-handshape.png

 

And EOF generated the following XML sequence :

  <chordTemplates count="3">
    <chordTemplate chordName="D" displayName="D" finger0="-1" finger1="-1" finger2="-1" finger3="1" finger4="3" finger5="2" fret0="-1" fret1="-1" fret2="-1" fret3="2" fret4="3" fret5="2"/>
    <chordTemplate chordName="D3" displayName="D3" finger0="-1" finger1="-1" finger2="-1" finger3="-1" finger4="3" finger5="2" fret0="-1" fret1="-1" fret2="-1" fret3="-1" fret4="3" fret5="2"/>
    <chordTemplate chordName="" displayName="" finger0="-1" finger1="-1" finger2="-1" finger3="1" finger4="-1" finger5="2" fret0="-1" fret1="-1" fret2="-1" fret3="2" fret4="-1" fret5="2"/>
  </chordTemplates>
...
      <chords count="3">
        <chord time="4.295" linkNext="0" accent="0" chordId="0" fretHandMute="0" highDensity="0" ignore="0" palmMute="0" hopo="0" strum="down">
          <chordNote time="4.295" linkNext="0" accent="0" bend="0" fret="2" hammerOn="0" harmonic="0" hopo="0" ignore="0" leftHand="1" mute="0" palmMute="0" pluck="-1" pullOff="0" slap="-1" slideTo="-1" string="3" sustain="0.000" tremolo="0" harmonicPinch="0" pickDirection="0" rightHand="-1" slideUnpitchTo="-1" tap="0" vibrato="0"/>
          <chordNote time="4.295" linkNext="0" accent="0" bend="0" fret="3" hammerOn="0" harmonic="0" hopo="0" ignore="0" leftHand="3" mute="0" palmMute="0" pluck="-1" pullOff="0" slap="-1" slideTo="-1" string="4" sustain="0.000" tremolo="0" harmonicPinch="0" pickDirection="0" rightHand="-1" slideUnpitchTo="-1" tap="0" vibrato="0"/>
          <chordNote time="4.295" linkNext="0" accent="0" bend="0" fret="2" hammerOn="0" harmonic="0" hopo="0" ignore="0" leftHand="2" mute="0" palmMute="0" pluck="-1" pullOff="0" slap="-1" slideTo="-1" string="5" sustain="0.000" tremolo="0" harmonicPinch="0" pickDirection="0" rightHand="-1" slideUnpitchTo="-1" tap="0" vibrato="0"/>
        </chord>
        <chord time="6.295" linkNext="0" accent="0" chordId="1" fretHandMute="0" highDensity="0" ignore="0" palmMute="0" hopo="0" strum="down">
          <chordNote time="6.295" linkNext="0" accent="0" bend="0" fret="3" hammerOn="0" harmonic="0" hopo="0" ignore="0" leftHand="-1" mute="0" palmMute="0" pluck="-1" pullOff="0" slap="-1" slideTo="-1" string="4" sustain="0.000" tremolo="0" harmonicPinch="0" pickDirection="0" rightHand="-1" slideUnpitchTo="-1" tap="0" vibrato="0"/>
          <chordNote time="6.295" linkNext="0" accent="0" bend="0" fret="2" hammerOn="0" harmonic="0" hopo="0" ignore="0" leftHand="-1" mute="0" palmMute="0" pluck="-1" pullOff="0" slap="-1" slideTo="-1" string="5" sustain="0.000" tremolo="0" harmonicPinch="0" pickDirection="0" rightHand="-1" slideUnpitchTo="-1" tap="0" vibrato="0"/>
        </chord>
        <chord time="8.295" linkNext="0" accent="0" chordId="2" fretHandMute="0" highDensity="0" ignore="0" palmMute="0" hopo="0" strum="down">
          <chordNote time="8.295" linkNext="0" accent="0" bend="0" fret="2" hammerOn="0" harmonic="0" hopo="0" ignore="0" leftHand="-1" mute="0" palmMute="0" pluck="-1" pullOff="0" slap="-1" slideTo="-1" string="3" sustain="0.000" tremolo="0" harmonicPinch="0" pickDirection="0" rightHand="-1" slideUnpitchTo="-1" tap="0" vibrato="0"/>
          <chordNote time="8.295" linkNext="0" accent="0" bend="0" fret="2" hammerOn="0" harmonic="0" hopo="0" ignore="0" leftHand="-1" mute="0" palmMute="0" pluck="-1" pullOff="0" slap="-1" slideTo="-1" string="5" sustain="0.000" tremolo="0" harmonicPinch="0" pickDirection="0" rightHand="-1" slideUnpitchTo="-1" tap="0" vibrato="0"/>
        </chord>
      </chords>
...
      <handShapes count="3">
        <handShape chordId="0" endTime="4.351" startTime="4.295"/>
        <handShape chordId="1" endTime="6.351" startTime="6.295"/>
        <handShape chordId="2" endTime="8.351" startTime="8.295"/>
      </handShapes>

Only one anonymous chordTemplate was generated, and the second chord (with "Ghost HS" checked) has a name.

Is it normal ?

 

Another issue, is when I update an existing chord with the "Ghost HS" by changing the chord notes inside. In this case, the anonymous chordTemplate disappears in the XML file ...

 

Thanks

Link to comment
Share on other sites

You did chords that doesn't contain ghost notes so the ghost handshape doesn't has sense at all (the idea of the Ghost HS is to represent the full fingering despite that the strumming doesn't contain all the notes). You have to modify your example like this in EOF:

e|-----2-------2---------2-------|
B|-----3-------3--------(3)------|
G|-----2------(2)-------2--------|
D|---------------------------------|
A|---------------------------------|
E|---------------------------------|

                    (G)        (G)

Now, the chords with ghost HS can have the same fingering than the D chord.

My Custom Songs (Workshop)                                              YouTube Videos

 

80C651DEE.png

Link to comment
Share on other sites

It's a pretty new feature so I haven't stress-tested it, but I'll definitely want to fix any bugs people find.

 

Hi raynebc,

 

  In DDC, the handshape management is complex because :

  - DDC creates new chordTemplates for chords with less notes than the original one (a chord with 6 notes generates 4 new templates for 5, 4, 3 and 2 notes)

  - The chordId of a chord can be different at each level of difficulty (it has to reference the right chordTemplate)

  - DDC has to manage the phrase switching and may update handshapes (in the game, a phrase can have a level which is not the same than the previous or following phrases)

  - DDC may split or merge handshapes when a chord is not selected at a specific level of difficulty

 

  This new functionnality should work without modification in DDC if you keep the following rules :

  - Use as many chordTemplates as you want (for each ghost chord, you can create a new template with no name if this template doesn't exist yet)

  - Split the handShapes if necessary, but their chordId must be the same as those of the chords located in the same period of time

  - Always keep the "chordId" coherence between chordTemplates, chords and handShapes

 

  What I understand about this new feature is that when a chordTemplate has no chordName, the name of the chord and the finger positions are not displayed in the game.

 

  For now, DDC doesn't keep an handShape when it has a chordId which is not the same as the one used by the chords located between the startTime and the endTime positions of the handShape.

 

  I am curious how official songs work with this feature.

  Do you have an XML file from an official CDLC with various levels of difficulty ?

 

Thank you

Link to comment
Share on other sites

@@Rockfirstlast posted a video link to "Heart Shaped Box" (https://youtu.be/UA5AQ-9y61s?t=25s) that seems to have chords inside of a handshape tag. I don't have an official XML for it though.

 

EOF won't specifically add/remove the name from whatever chord template ID it uses for a ghost handshape chord's handshape tag, it probably just depends on the chord and whether the user manually named it.

Link to comment
Share on other sites

Raynebc,

 

  I tried a simple test with standard chords (no ghost note and no ghost handshape).

  If I simply unset the chordName and displayName of the chordTemplates in the XML file, the chords are displayed with no name in the game (and it works fine with DDC).

 

  What are the reasons of using a so complex logic for this functionality ?

 

Thank you

Link to comment
Share on other sites

Raynebc,

 

  For your information, I made a test case directly with EOF without using ghost notes nor ghost handshape feature :

  - Design all chords as usual with the displayed notes only

  - For each chord for which the name has not to appear in the game, set its name field with a space character (empty field is automatically replaced by the known chord name)

  - Save

  - Generate DD

  - It works ...

 

  We maybe need a new checkbox to explicitly set this feature !

 

Hope that this tip simplifies your work ...

Link to comment
Share on other sites

The thread I linked to had some very specific ways some people wanted to author things (ie. a handshape tag where several different partial versions of a single chord are played back to back) and at the time this was the solution I decided on. Since then, EOF's improvements to handshape phrases and honoring chord names (even identical chords with different names are exported as different chord templates) may have made the ghost handshape feature less necessary, but it offers another way to do things.

 

I'm a bit confused about what functionality you're suggesting could use a checkbox?

Link to comment
Share on other sites

Actually in EOF, I have to set a space character inside the name field to obtain a chord without name.

If I let this field empty, EOF generates automatically the known name of this chord.

 

I talked about a checkbox (or something else) to have something more explicit and simpler to generate a chord without its name in the game.

 

About the "Ghost HS" functionality, it could be another way to implement this feature, but I think you would have more work to do to obtain consistency in the "chordId" references between the chordTemplates, chords and handShapes. It would also ask more work for the users to use this feature in EOF.

 

Thank you

Link to comment
Share on other sites

If EOF shows a chord with a name in brackets, it will indeed export with that name. I'm not sure if it's much simpler for the user to have to check a box for each chord that should export with no name than to use the "Edit name" function which could even be used for multiple dislike chords at the same time.

 

The more specific a author's wants are for charting something, such as whether two adjacent chords both display a chord name, the more complicated things get. If you provide a specific example (ie. screen shot and/or project file) of EOF handling a chunk of tablature in a way that is problematic for DDC I can put some thought into it, but what EOF wants and what DDC wants are likely going to ultimately conflict in some ways. Honestly, I'm not sure if there's a real need for ghost handshapes at this point, but it's possible that it could still be used unique ways.

Link to comment
Share on other sites

I missed a few new features in EOF ...

 

I am analyzing the relationships between chordTemplates, notes, chords, and handShapes. I have to find a way to implement them in DDC.

 

It might take a while and a few more questions from me on these forums ...

 

Thank you for your patience  :huh:

Link to comment
Share on other sites

  • 3 weeks later...

Looks perfect when i set the maximum difficulty in the riff repeater (all the gems, chords, handshapes), but it crashes when i try to resume the song. There's a little error, but you got it! it's only a little mistake, i hope you can fix it!

My Custom Songs (Workshop)                                              YouTube Videos

 

80C651DEE.png

Link to comment
Share on other sites

Looks perfect when i set the maximum difficulty in the riff repeater (all the gems, chords, handshapes), but it crashes when i try to resume the song. There's a little error, but you got it! it's only a little mistake, i hope you can fix it!

 

  The issue may be caused by the missing following informations in the XML file :

  - the first ebeat which usually starts at time = "0.000"

  - the first phrase with name = "COUNT"

  - the first phraseIteration for the COUNT phrase

 

  I don't know if the "COUNT" phrase is mandatory in RS2014, but DDC had always considered the first phrase in the list as this special one.

 

  Can you generate again your CDLC with the last hotfix of EOF and check if the COUNT phrase is here or not ?

 

Thank you 

Link to comment
Share on other sites

×
×
  • Create New...

Important Information

By using this site, you agree to our Guidelines. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. - Privacy Policy