--- Welcome to the new FretsOnFire.ORG! ---

After 10 years at FretsOnFire.net, we've decided to move to a better home. For more info, click here!

FoFiX 4.0.0 Development Thread

Discussion particular to FoFiX, its development, and themes
Forum rules
User avatar
Rockslide
Member
Posts: 21
Joined: November 20th, 2009
Reputation: 0

Re: FoFiX 4.0.0 Development Thread

Postby Rockslide » Mon Dec 07, 2015 3:22 pm

@ ableeker, I'm am pretty sure those errors are due to OS and Python version changes. I am glad you had a easy time getting yours setup. My pip installer worked for 1 thing. The framework weirdpeople created. The rest was all manual. Oh then I get this nice error when all is installed and seems to be working. I go to run "python FretsOnFire.py" in the src folder.

Code: Select all

Traceback (most recent call last):
  File "FretsOnFire.py", line 86, in <module>
    version, verType = fretwork.__version__.split('-') # remove 'dev' from ver
ValueError: need more than 1 value to unpack


I am close. I know it. Unfortunately, idk what this means, lol.
User avatar
problues99
Member
Posts: 48
Joined: April 5th, 2008
Reputation: 0
Contact:

Re: FoFiX 4.0.0 Development Thread

Postby problues99 » Tue Dec 08, 2015 11:39 am

Just a thought, nothing real to contribute.....

Have you guys thought about publishing a copy of FoF through Steam Greenlight? I would bet my bank that it would pass the voting requirements and be approved so long as you laid out clear rules about how to not violate copyrights. The game could go Free to Play, so it remains in the free space, code can still be published on GH as you want, you can release for Win/Mac/SteamOS (debian) through Steam. The only FoF/GH like game on steam is Rocksmith, so the market is totally open and FoF has literally a decade of experience in the genre. I could even see the model being something like Zen Pinball FX 2.

Workshop support could be built to allow user made themes, ui, and songs, campaigns, etc. Songs would have to be something like "original work if music is included" or "frets only for non-original music" or something, so that you don't run into copyright issues, but I'm certain there's a way around that if you put a bit more thought into it. If you wanted to fund the project full time, you could almost certainly charge like $2-5 and nobody would think twice about it. Songs could still be side-loaded outside of steam of course.

To be honest, if I could take my GH/RB and FoF libraries and play them on my (x360) GH6 guitar on my TV (played via Shield, streaming from desktop)....That experience would be worth like $150 pricetag.

example of game sold on steam and also open source: http://andrettin.github.io/ http://store.steampowered.com/app/370070
Guitar Hero Aerosmith Wii Mods: Ultimate Video Game Hero
Guitar Hero 3 Wii Mods: Guitar Hero: My Chemical Romance
WIP: DelaHero, FoF Hero 1/2, Puppetz Hero 1/2/3, Guitar Hero 1/2/80s/OT/DLC, Rockband 1/2/DLC
If you would like me to make a Guitar Hero custom from your songs, send me PM with a link to the thread where you posted your songs (41 for GH:A, or 70 for GH:3)

TheGHOST Humor4Fun's Blog
The Man, The Moose
User avatar
amak11
Member
Posts: 3138
Joined: May 13th, 2008
Location: Nowhere, and somewhere
Reputation: 6
Contact:

Re: FoFiX 4.0.0 Development Thread

Postby amak11 » Tue Dec 08, 2015 2:53 pm

problues99 wrote:Just a thought, nothing real to contribute.....

Have you guys thought about publishing a copy of FoF through Steam Greenlight? I would bet my bank that it would pass the voting requirements and be approved so long as you laid out clear rules about how to not violate copyrights. The game could go Free to Play, so it remains in the free space, code can still be published on GH as you want, you can release for Win/Mac/SteamOS (debian) through Steam. The only FoF/GH like game on steam is Rocksmith, so the market is totally open and FoF has literally a decade of experience in the genre. I could even see the model being something like Zen Pinball FX 2.

Workshop support could be built to allow user made themes, ui, and songs, campaigns, etc. Songs would have to be something like "original work if music is included" or "frets only for non-original music" or something, so that you don't run into copyright issues, but I'm certain there's a way around that if you put a bit more thought into it. If you wanted to fund the project full time, you could almost certainly charge like $2-5 and nobody would think twice about it. Songs could still be side-loaded outside of steam of course.

To be honest, if I could take my GH/RB and FoF libraries and play them on my (x360) GH6 guitar on my TV (played via Shield, streaming from desktop)....That experience would be worth like $150 pricetag.

example of game sold on steam and also open source: http://andrettin.github.io/ http://store.steampowered.com/app/370070


The legalities of this alone make this, no offence, a dumb idea
Disclaimer: If you take the above text seriously, then you are an even greater idiot then I
Image


Image





letylovesjb27 in the Taylor Swift - Fearless Album thread wrote::DDDDDDDDDD thanks soooooooo much, I love all Taylor´s songs and this is already the first place where I finally found them!
Waitin for the others! xoxo



Code: Select all

<@away_xbox> Looks like it's your lucky day Amak11 >:) Since i don't see Amak here ill choose somebody else....
* @away_xbox straps 15 sticks of TNT to Amak11's body. The display reads [58] seconds.
<@away_xbox> Diffuse the timer by cutting the correct wire. There are 14 wires. They are Green White Peenus Indigo Black Gold Grey Brown Violet Turquoise Teal Magenta Mauve and Yellow.
<Amak11> oh really
<Belisario93> hmm
<Amak11> !cutwire Peenus
<@away_xbox> ...snip....
<@away_xbox> Amak11 cut the Peenus wire. This has defused the timer on the TNT! Just try and get it off you without setting it off, ok?

ableeker
Member
Posts: 39
Joined: September 27th, 2007
Reputation: 0

Re: FoFiX 4.0.0 Development Thread

Postby ableeker » Tue Dec 08, 2015 5:37 pm

Heh, it seems the version of fof-reborn I've tried, and that's working, is a slightly older one. I've downloaded the current source, and that one aborts with an error. The difference it seems, is a version check in FretsOnFire.py. Both versions of that file are the same, apart from this check. In the new file, that's line 75 to 98. If I remove these lines, so line 75 becomes 'from GameEngine import GameEngine', the file is the same, and fof-reborn runs.

That's just a temporary solution, of course.

-- Edit: Tue Dec 08, 2015 10:50 pm --

I think the check isn't correct, it removes 'dev' from the version string, but there doesn't seem to be a 'dev' there. Assuming that's true, I've changed the lines that throw an error. These are lines 85 to 87:

Code: Select all

if getattr(fretwork, '__version__'): # The first version of fretwork didn't have __version__
version, verType = fretwork.__version__.split('-') # remove 'dev' from ver
version = tuple([int(i) for i in version.split('.')])


I've changed it to this:

Code: Select all

if getattr(fretwork, '__version__'): # The first version of fretwork didn't have __version__
# version, verType = fretwork.__version__.split('-') # remove 'dev' from ver
# version = tuple([int(i) for i in version.split('.')])
version = tuple([int(i) for i in fretwork.__version__.split('.')])


After this change fof-reborn runs again.
User avatar
Rockslide
Member
Posts: 21
Joined: November 20th, 2009
Reputation: 0

Re: FoFiX 4.0.0 Development Thread

Postby Rockslide » Tue Dec 08, 2015 8:11 pm

@ableeker, yeah looks like the code did get a little goofy there because of how the message read. Thanks for taking the time to load up newer reborn master code to see if you also got the error. Your code rewrite for that area looks ok and it lets you load. I am not sure if it was the check he intended so I went with your first action removing the updated fretwork check. I know mine is right now. If he says the rewrite is ok. We will go from there. He may have to start putting version numbers on his reborn master after doing significant code changes. Mine is running now thanks. Time to load up some charts and see how they fair. It seems we are the few testers. I cannot code at that level, but maybe by playing the game we can help him.
Still Alive
wolferacing
Moderator
Posts: 1840
Joined: July 25th, 2007
Location: USA
Reputation: 24
Contact:

Re: FoFiX 4.0.0 Development Thread

Postby wolferacing » Wed Dec 09, 2015 12:16 pm

The version check code itself is clean. The problem is the version.py file within fretwork is missing the dev notation.

If you open up fretwork/version.py and change the line to the following it should work.

Code: Select all

version_number = "0.2.0-dev"
User avatar
Rockslide
Member
Posts: 21
Joined: November 20th, 2009
Reputation: 0

Re: FoFiX 4.0.0 Development Thread

Postby Rockslide » Fri Dec 11, 2015 1:22 am

I am sure I figured out what wierdpeople was doing. Took me a while and it may not be perfect. If you really look at the two codes. They are not much different. I will post for future reference. The game starts fine with these changes. I checked it several times.

Code: Select all

if getattr(fretwork, '__version__'): # The first version of fretwork didn't have __version__
    version, verType = fretwork, '__version__'.split('.') # remove 'dev' from ver.
    version = tuple([int(2) for i in '__version__'.split('.')])


I am not 100% sure this is correct. I need weirdpeople to check it out. All I know is that it passes startup with little change to the code he wrote.
ableeker
Member
Posts: 39
Joined: September 27th, 2007
Reputation: 0

Re: FoFiX 4.0.0 Development Thread

Postby ableeker » Fri Dec 11, 2015 1:30 pm

wolferacing, that's what I've been saying, the code assumes version is '02.0-dev', but it's '0.2.0'. What my code does is assume '-dev' isn't there.

-- Edit: Fri Dec 11, 2015 11:02 pm --

Like wolferacing says, the version of fretwork is defined in the file fretwork/version.py in fretwork-0.2.0-cp27-none-win32.whl. The code weirdpeople wrote is sound if the version is '0.2.0-dev'.

This is the first line he wrote:

Code: Select all

version, verType = fretwork.__version__.split('-') # remove 'dev' from ver


This line splits this string on the character '-', and creates two variables: version = '0.2.0', and verType = 'dev'. (If version is '0.2.0', this line fails, because it can't be split on the character '-' as the string doesn't contain this character.)

This is the second line:

Code: Select all

version = tuple([int(i) for i in version.split('.')])


This line basically splits the string '0.2.0' on the character '.' in three elements (using the counter i), converts the elements to the array (0, 2, 0), and assigns the array to the variable version (replacing the string '0.2.0'). The variable version at this point contains the current version as an array, and verType contains the string 'dev'.

The variable fretworkRequired has been defined as the array (0, 2, 0) earlier in line 76. The variable version is then compared to fretworkRequired, and if the current current version is lower than the required version 0.2.0, it prints an error message. If it's 0.2.0 or higher, it continues and runs the game.

Rockslide, I'm not an expert on Python by any means, but I don't think your code does what you want it to do. I hope you don't mind me explaining why I think that.

This is the first line you wrote:

Code: Select all

version, verType = fretwork, '__version__'.split('.') # remove 'dev' from ver.


In the origina line fretwork.__version__ is a variable in fretwork (that's the meaning of the '.' after fretwork. In your code, because you've replaced the '.' with a ',', it's the module fretwork, and the string '__version__'. The module is then assigned to variable verion, and '__version__' is assigned to verType.

This is your second line:

Code: Select all

version = tuple([int(2) for i in '__version__'.split('.')])


This is a bit harder to explain. Because of the quotes '__version__' is a string as well. You're splitting it on '.', and assigning the result to the variable version. But because of the 'int(2)' in this line, the result is always the number 2, regardless of the value of version. If you had used 'int(9)', the result would have been the number 9 every time.

I tried to correct the error by assuming the version had the value '0.2.0' instead of '0.2.0-dev'. That's why I changed the code by weirdpeople, I removed the first line (no need to remove '-dev'), and changed the second line like so:

Code: Select all

version = tuple([int(i) for i in fretwork.__version__.split('.')])


This modified line just splits version in three elements (i), and converts the elements to the array (0, 2, 0).

This way the version check runs correctly, and the game starts. However, like wolferacing said, we don't have to modify weirdpeople's code at all. We can also make the game run correctly by changing version.py. I've decided to do exactly that.
weirdpeople
Member
Posts: 1102
Joined: August 16th, 2008
Location: Texas
Reputation: 13
Contact:

Re: FoFiX 4.0.0 Development Thread

Postby weirdpeople » Sat Dec 19, 2015 2:41 pm

I fixed the issue in fof-reborn, basically i had the code setup to expect a "-dev" in the version number. But seem to have forgot that i planed to not have -dev for released versions of the library. Sorry for not getting around to this sooner have been quite busy the last month...

and for those curious the actual fix is:

Code: Select all

version = fretwork.__version__.split('-')[0] # remove 'dev' from ver

original:

Code: Select all

 version, verType = fretwork.__version__.split('-') # remove 'dev' from ver


The verType variable was the issue, it never is used anywhere and because -dev was not in the string when split it couldn't fill that variable with a value.
Former FoFiX developer and Creator of OpenRhythm
weirdpeople
Member
Posts: 1102
Joined: August 16th, 2008
Location: Texas
Reputation: 13
Contact:

Re: FoFiX 4.0.0 Development Thread

Postby weirdpeople » Wed Dec 30, 2015 4:42 am

I just finished rewriting some of the FoFiX song loading code. So far as far as i have tested as of this commit FoFiX should support songs made for phase shift. Basically any tracks that arn't preview.ogg are played in the game now. So one might want to be careful with extra files within your song folders. (At some-point ill probably try to make it a bit smarter about what files it loads.)
The other game breaking bugs with the midi file loader have been since fixed. The game also seems to handle differing sampling rates since the switch away from pyogg and pyvorbis(one of the other potential issues). Doesn't seem like the files currently need to be stereo either like some threads say. At some-point i'm want to rewrite some of the lower level audio code in C++ so i should be able to confirm if this is truly the case.
Former FoFiX developer and Creator of OpenRhythm
ableeker
Member
Posts: 39
Joined: September 27th, 2007
Reputation: 0

Re: FoFiX 4.0.0 Development Thread

Postby ableeker » Sat Jan 16, 2016 2:20 pm

I've just found out that only the latest version of FoF doesn't run on modern computers/OS'es, but earlier ones do! So version 1.3.110 doesn't run on my computer with Windows 10 64-bits, but version 1.2.451 runs quite nicely. So I've tried the original FoF, but two minor "features" I'd noticed in FoF-Reborn aren't present in FoF original. One would be that when you select a song to play while the music is playing (you'll have to wait a bit for this to happen), the last couple of notes will loop for a second or so before the game starts. The other one would be that when you restart a song, the graphics will restart as normal, but the music won't, it will keep playing as if you hadn't restarted the song.
weirdpeople
Member
Posts: 1102
Joined: August 16th, 2008
Location: Texas
Reputation: 13
Contact:

Re: FoFiX 4.0.0 Development Thread

Postby weirdpeople » Sat Jan 16, 2016 7:07 pm

Yeah i know about both of those issues already. They have effected FoFiX with only the second one being fixed, I just haven't ported the fix for it over to FoF-Reborn yet. At some point when i have the time i'm planning on rewriting the back-end C based audio code in C++, and hopefully I can fix the first issue during that...
Former FoFiX developer and Creator of OpenRhythm
AkiraNomuraBCN
Member
Posts: 535
Joined: March 24th, 2011
Reputation: 0

Re: FoFiX 4.0.0 Development Thread

Postby AkiraNomuraBCN » Fri Apr 08, 2016 9:27 am

Any news of this project?
FB RB Custom Songs for use in Phase Shift (Customs are not made by Me)

I'm from Spain and my english is very very bad, sorry
weirdpeople
Member
Posts: 1102
Joined: August 16th, 2008
Location: Texas
Reputation: 13
Contact:

Re: FoFiX 4.0.0 Development Thread

Postby weirdpeople » Tue Apr 12, 2016 12:05 pm

Not much atm. I'm pretty busy most of the time, I really only have time on the weekends to work on stuff(I have plenty of other projects that take up time as well). I really wish others would jump in and help on the project again, it would probably help with motivation :P

The last few days though I've been working on trying to understand the parts of the code for some of the larger changes I need to do (basically scoping out for rewriting the input system in FoFiX).
Former FoFiX developer and Creator of OpenRhythm
weirdpeople
Member
Posts: 1102
Joined: August 16th, 2008
Location: Texas
Reputation: 13
Contact:

Re: FoFiX 4.0.0 Development Thread

Postby weirdpeople » Tue Apr 19, 2016 8:17 pm

I've made a survey to try and get a better idea of how people want FoFiX to move forwards.
https://goo.gl/4s2jjc

If anyone can take it it would be greatly appreciated.
Former FoFiX developer and Creator of OpenRhythm

Return to “FoFiX”

Who is online

Users browsing this forum: No registered users and 2 guests