Frets on Fire X: a fork of Frets on Fire with many added features and capabilities

Overview

Frets on Fire X - FoFiX

Build Status Documentation Status Gitter

This is Frets on Fire X, a highly customizable rhythm game supporting many modes of guitar, bass, drum, and vocal gameplay for up to four players. It is the continuation of a long succession of modifications to the original Frets on Fire by Unreal Voodoo.

Setup

Dependencies

First, you will need Python 2.7.

Python dependencies: run pip install -r requirements.txt.

Optional dependencies:

  • pyopengl-accelerate: this will make PyOpenGL go a good bit faster
  • pyaudio: this provides support for microphone input, which is required for vocal play
  • gettext: for translations

OS-specific dependencies:

  • Windows:

  • Unix:

    • a C++ compiler
    • OpenGL
    • ffmpeg
    • pkg-config
    • python's developpment headers
    • and: GLU, GLib, SDL, SDL_mixer, libogg, libvorbisfile, libtheora, libsoundtouch, libswscale (part of ffmpeg) development headers

To install Unix dependencies in Debian run sudo apt-get install libogg-dev libportmidi-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-ttf2.0-dev libsdl1.2-dev libsoundtouch-dev libswscale-dev libtheora-dev libvorbis-dev mesa-utils portaudio19-dev

Native modules

Some parts of FoFiX are written in C or C++. These must be compiled before you can start the game from source:

python setup.py build_ext --inplace --force

Generate translations

python setup.py msgfmt

Start the game

python FoFiX.py
Comments
  • Github build LNK1181 error (Windows 10 Home)

    Github build LNK1181 error (Windows 10 Home)

    Whenever i do python setup.py build_ext --inplace --force, it sends an error:

    command 'C:\Users\aPoC\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\Bin\link.exe' failed with exit status 1181
    

    The entire command line:

    Microsoft Windows [Version 10.0.10240](c) 2015 Microsoft Corporation. All rights reserved.
    
    C:\Users\Filip>d:
    
    D:>cd "Frets On Fire X"
    
    D:\Frets On Fire X>cd src
    
    D:\Frets On Fire X\src>cd fofix
    
    D:\Frets On Fire X\src\fofix>python setup.py build_ext --inplace --force
    checking for program pkg-config... .\win32\deps\bin\pkg-config.exe
    checking for library ogg... ok
    checking for library theoradec... ok
    checking for library glib-2.0... ok
    checking for library libswscale... ok
    running build_ext
    cythoning fofix/core/cmgl/cmgl.pyx to fofix/core/cmgl\cmgl.c
    building 'fofix.lib.cmgl' extension
    creating build
    creating build\temp.win32-2.7
    creating build\temp.win32-2.7\Release
    creating build\temp.win32-2.7\Release\fofix
    creating build\temp.win32-2.7\Release\fofix\core
    creating build\temp.win32-2.7\Release\fofix\core\cmgl
    C:\Users\Filip\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\Bin\cl.exe /c /nologo /Ox /MD /W3 /GS- /DNDEBUG "-ID:\Frets On Fire X\python\lib\site-packages\numpy\core\include" "-ID:\Frets On Fire X\python\include" "-ID:\Frets On Fire X\python\PC" -I.\win32\deps\include\msinttypes /Tcfofix/core/cmgl\cmgl.c /Fobuild\temp.win32-2.7\Release\fofix/core/cmgl\cmgl.obj /EHsc
    cmgl.c
    d:\frets on fire x\python\lib\site-packages\numpy\core\include\numpy\npy_1_7_deprecated_api.h(12) : Warning Msg: Using deprecated NumPy API, disable it by #defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION
    C:\Users\Filip\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\Bin\link.exe /DLL /nologo /INCREMENTAL:NO "/LIBPATH:D:\Frets On Fire X\python\libs" "/LIBPATH:D:\Frets On Fire X\python\PCbuild" opengl32.lib /EXPORT:initcmgl build\temp.win32-2.7\Release\fofix/core/cmgl\cmgl.obj "/OUT:D:\Frets On Fire X\src\fofix\fofix\lib\cmgl.pyd" /IMPLIB:build\temp.win32-2.7\Release\fofix/core/cmgl\cmgl.lib /MANIFESTFILE:build\temp.win32-2.7\Release\fofix/core/cmgl\cmgl.pyd.manifest
       Creating library build\temp.win32-2.7\Release\fofix/core/cmgl\cmgl.lib and object build\temp.win32-2.7\Release\fofix/core/cmgl\cmgl.exp
    cythoning fofix/core/pypitch/_pypitch.pyx to fofix/core/pypitch_pypitch.cpp
    building 'fofix.lib._pypitch' extension
    creating build\temp.win32-2.7\Release\fofix\core\pypitch
    C:\Users\Filip\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\Bin\cl.exe /c /nologo /Ox /MD /W3 /GS- /DNDEBUG "-ID:\Frets On Fire X\python\include" "-ID:\Frets On Fire X\python\PC" -I.\win32\deps\include\msinttypes /Tpfofix/core/pypitch_pypitch.cpp /Fobuild\temp.win32-2.7\Release\fofix/core/pypitch_pypitch.obj /EHsc
    _pypitch.cpp
    C:\Users\Filip\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\Bin\cl.exe /c /nologo /Ox /MD /W3 /GS- /DNDEBUG "-ID:\Frets On Fire X\python\include" "-ID:\Frets On Fire X\python\PC" -I.\win32\deps\include\msinttypes /Tpfofix/core/pypitch/pitch.cpp /Fobuild\temp.win32-2.7\Release\fofix/core/pypitch/pitch.obj /EHsc
    pitch.cpp
    C:\Users\Filip\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\Bin\link.exe /DLL /nologo /INCREMENTAL:NO "/LIBPATH:D:\Frets On Fire X\python\libs" "/LIBPATH:D:\Frets On Fire X\python\PCbuild" /EXPORT:init_pypitch build\temp.win32-2.7\Release\fofix/core/pypitch_pypitch.obj build\temp.win32-2.7\Release\fofix/core/pypitch/pitch.obj "/OUT:D:\Frets On Fire X\src\fofix\fofix\lib_pypitch.pyd" /IMPLIB:build\temp.win32-2.7\Release\fofix/core/pypitch_pypitch.lib /MANIFESTFILE:build\temp.win32-2.7\Release\fofix/core/pypitch_pypitch.pyd.manifest
       Creating library build\temp.win32-2.7\Release\fofix/core/pypitch_pypitch.lib and object build\temp.win32-2.7\Release\fofix/core/pypitch_pypitch.exp
    cythoning fofix/core/VideoPlayer/_VideoPlayer.pyx to fofix/core/VideoPlayer_VideoPlayer.c
    building 'fofix.lib._VideoPlayer' extension
    creating build\temp.win32-2.7\Release\fofix\core\VideoPlayer
    C:\Users\Filip\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\Bin\cl.exe /c /nologo /Ox /MD /W3 /GS- /DNDEBUG -Dinline=__inline "-ID:/Frets On Fire X/src/fofix/win32/deps/include" "-ID:/Frets On Fire X/src/fofix/win32/deps/include" "-ID:/Frets On Fire X/src/fofix/win32/deps/include/glib-2.0" "-ID:/Frets On Fire X/src/fofix/win32/deps/lib/glib-2.0/include" "-ID:/Frets On Fire X/src/fofix/win32/deps/include" -I. "-ID:\Frets On Fire X\python\include" "-ID:\Frets On Fire X\python\PC" -I.\win32\deps\include\msinttypes /Tcfofix/core/VideoPlayer_VideoPlayer.c /Fobuild\temp.win32-2.7\Release\fofix/core/VideoPlayer_VideoPlayer.obj /EHsc
    _VideoPlayer.c
    C:\Users\Filip\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\Bin\cl.exe /c /nologo /Ox /MD /W3 /GS- /DNDEBUG -Dinline=__inline "-ID:/Frets On Fire X/src/fofix/win32/deps/include" "-ID:/Frets On Fire X/src/fofix/win32/deps/include" "-ID:/Frets On Fire X/src/fofix/win32/deps/include/glib-2.0" "-ID:/Frets On Fire X/src/fofix/win32/deps/lib/glib-2.0/include" "-ID:/Frets On Fire X/src/fofix/win32/deps/include" -I. "-ID:\Frets On Fire X\python\include" "-ID:\Frets On Fire X\python\PC" -I.\win32\deps\include\msinttypes /Tcfofix/core/VideoPlayer/VideoPlayer.c /Fobuild\temp.win32-2.7\Release\fofix/core/VideoPlayer/VideoPlayer.obj /EHsc
    VideoPlayer.c
    C:\Users\Filip\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\Bin\link.exe /DLL /nologo /INCREMENTAL:NO "/LIBPATH:D:/Frets On Fire X/src/fofix/win32/deps/lib" "/LIBPATH:D:/Frets On Fire X/src/fofix/win32/deps/lib" "/LIBPATH:D:/Frets On Fire X/src/fofix/win32/deps/lib" "/LIBPATH:D:/Frets On Fire X/src/fofix/win32/deps/lib" "/LIBPATH:D:\Frets On Fire X\python\libs" "/LIBPATH:D:\Frets On Fire X\python\PCbuild" opengl32.lib ogg.lib theoradec.lib ogg.lib glib-2.0.lib intl.lib swscale.lib /EXPORT:init_VideoPlayer build\temp.win32-2.7\Release\fofix/core/VideoPlayer_VideoPlayer.obj build\temp.win32-2.7\Release\fofix/core/VideoPlayer/VideoPlayer.obj "/OUT:D:\Frets On Fire X\src\fofix\fofix\lib_VideoPlayer.pyd" /IMPLIB:build\temp.win32-2.7\Release\fofix/core/VideoPlayer_VideoPlayer.lib /MANIFESTFILE:build\temp.win32-2.7\Release\fofix/core/VideoPlayer_VideoPlayer.pyd.manifest
    LINK : fatal error LNK1181: cannot open input file 'ogg.lib'
    error: command 'C:\Users\Filip\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\Bin\link.exe' failed with exit status 1181
    
    D:\Frets On Fire X\src\fofix>
    
    Windows 
    opened by FILTUT 30
  • Missing DLL when starting FoFiX.py

    Missing DLL when starting FoFiX.py

    I've been trying to start FoFiX.py but it seems like there is a missing DLL over there. There you have the error:

    Traceback (most recent call last):
      File "FoFiX.py", line 129, in <module>
        from fofix.game.Main import Main
      File "D:\Users\admin\Documents\fofix\fofix\game\Main.py", line 41, in <module>
        from fofix.core.VideoPlayer import VideoLayer, VideoPlayerError
      File "D:\Users\admin\Documents\fofix\fofix\core\VideoPlayer\__init__.py", line 1, in <module>
        from fofix.lib._VideoPlayer import *
    ImportError: DLL load failed: No se puede encontrar el m¾dulo especificado.
    

    I'm using Windows 10 64-bits and Python 2.7 Thanks

    bug Windows 
    opened by Rexrder 18
  • A potential way forward...

    A potential way forward...

    So I've been thinking a lot about what we should do to move this project forward.

    So i'm thinking we need to define a very basic set of features. Take all code that doesn't pertain to them and throw it out.

    With the simpler code base start cleaning up general architecture of the game, replace dependencies, and work for python 3 compatibility. Once we get a good solid clean base then we can start adding some features back.

    I mean its been 4 1/2 years since a 'stable' release and i think its time for a bit more drastic measures.

    Thoughts?

    enhancement debatable cleanup feature 
    opened by mdsitton 18
  • Separated files for song infos and scores

    Separated files for song infos and scores

    Hi there ! It'd be great to have separated files for song infos (Name/Artist/Order in Tier) and for scores. That would be great for sharing a song with or without scores. For example I made a git repo with all my musics (without audio files) (github.com/Salamandar/FoF-Musics) and I don't want my scores being overwritten each time someone creates a new music.

    enhancement 
    opened by Salamandar 17
  • Prodrums implementation

    Prodrums implementation

    Enabled MIDI drums and tested with Roland HD-1. Fullscreen was disabled. Added advanced audio setting to disable Jurgen taunting. Implemented Pro Drums for Megalight V4 only.

    opened by justmoen 15
  • Some issue, probably after a python2.7 update

    Some issue, probably after a python2.7 update

    Probably after a Python update, i cannot start Fofix (3.121) nor Fofix-git (v4.0.0alpha2.r244.gd21b0cc-1)

    Traceback (most recent call last):
      File "./FoFiX.py", line 276, in <module>
        main()
      File "./FoFiX.py", line 175, in main
        engine = GameEngine(config)
      File "/opt/fofix/src/GameEngine.py", line 597, in __init__
        self.data = Data(self.resource, self.svg)
      File "/opt/fofix/src/Data.py", line 130, in __init__
        self.loadImgDrawing(self, "star1",   os.path.join("themes",themename,"star1.png"), textureSize = (128, 128))
      File "/opt/fofix/src/Data.py", line 583, in loadImgDrawing
        drawing  = self.resource.load(target, name, lambda: ImgDrawing(self.svg, fileName), synch = True)
      File "/opt/fofix/src/Resource.py", line 246, in load
        return l.finish()
      File "/opt/fofix/src/Resource.py", line 113, in load
        self.result = self.function()
      File "/opt/fofix/src/Data.py", line 583, in <lambda>
        drawing  = self.resource.load(target, name, lambda: ImgDrawing(self.svg, fileName), synch = True)
      File "/opt/fofix/src/Svg.py", line 516, in __init__
        self.texture = Texture(ImgData)
      File "/opt/fofix/src/Texture.py", line 66, in __init__
        self.loadFile(name)
      File "/opt/fofix/src/Texture.py", line 70, in loadFile
        self.loadImage(Image.open(name))
      File "/opt/fofix/src/Texture.py", line 77, in loadImage
        string = image.tostring('raw', 'RGBA', 0, -1)
      File "/usr/lib/python2.7/site-packages/PIL/Image.py", line 686, in tostring
        "Please call tobytes() instead.")
    Exception: tostring() has been removed. Please call tobytes() instead.
    
    opened by Salamandar 14
  • Make FretWork working in a package/dependencies management system (well… any linux distro :p )

    Make FretWork working in a package/dependencies management system (well… any linux distro :p )

    Well, basically, I'm using Manjaro (Arch-based), and there is already a fofix package (https://aur.archlinux.org/packages/fofix-git, build from git clone of this repo).

    What would be best :

    • Create another package (so as dependency of fofix and fof) of FretWork
    • clone fofix and fretwork, then bind them together as an only package
    • Add fretwork as a git submodule inside the fofix repo. That would lead to an only package

    I can create the package for AUR, that's something I already did. But YOU know how you created fretwork so what would be best.

    opened by Salamandar 8
  • Bug in cerealizer ?

    Bug in cerealizer ?

    Fresh linux/python/fofix install.

    Traceback (most recent call last):
      File "./FoFiX.py", line 156, in <module>
        from fofix.core.VideoPlayer import VideoLayer, VideoPlayerError
      File "/opt/fofix-git/fofix/core/VideoPlayer/__init__.py", line 1, in <module>
        from fofix.lib._VideoPlayer import *
      File "fofix/core/VideoPlayer/_VideoPlayer.pyx", line 100, in init fofix.core.VideoPlayer._VideoPlayer (fofix/core/VideoPlayer/_VideoPlayer.c:4286)
        from fofix.core.Input import KeyListener
      File "/opt/fofix-git/fofix/core/Input.py", line 39, in <module>
        from fofix.core.Player import Controls
      File "/opt/fofix-git/fofix/core/Player.py", line 34, in <module>
        from fofix.game import song
      File "/opt/fofix-git/fofix/game/song/__init__.py", line 1, in <module>
        from fofix.game.song.song import *
      File "/opt/fofix-git/fofix/game/song/song.py", line 36, in <module>
        import cerealizer
      File "/usr/lib/python2.7/site-packages/cerealizer/__init__.py", line 562, in <module>
        register(str       , StrHandler      ())
      File "/usr/lib/python2.7/site-packages/cerealizer/__init__.py", line 515, in register
        if Class in _HANDLERS_: raise ValueError("Class %s has already been registred!" % Class)
    ValueError: Class <type 'str'> has already been registred!
    

    What is the problem here ?

    wontfix 
    opened by Salamandar 7
  • Custom Drum's Fret Buttons glitches

    Custom Drum's Fret Buttons glitches

    Hello again :)

    I think this will be my last bug report :P for 4 alpha 2

    The only theme I have found so far for for fofix 4 alpha 2 is this one: http://www.fretsonfire.net/forums/viewtopic.php?f=17&t=54270&sid=2cda1bb617fa405acec1b66ede33563f

    This theme has the following very cool Custom Drum's Fret Buttons:

    http://postimg.org/image/huii9tlil/

    Unfortunately using them with alpha 2 is not working right, and I'm pretty sure is not the theme's fault.

    When ever I try to use the Custom Drum's Fret Buttons, each time I hit any of the frets the right next fret also lights up. For instance hitting fret one also lights up fret two. Also, while hitting frets 4, the bass drum also appears hit. This is only in appearance since they won't actually count as hit in the game.

    Hope I was able to explain my self right. If needed you could test what I'm talking about by downloading the Custom Drum's Fret Buttons from my link and putting it on frets/drum/fretbuttons.png of any theme .

    Thank you very much.

    bug 
    opened by arielenter 7
  • [3.122] To String Error when running python FoFiX.py

    [3.122] To String Error when running python FoFiX.py

    When I run FoFiX.py It Gives Me An Error

    This Is The Error From the log file

    [    0.000000] (D) Logging initialized: Mon Aug 30 11:16:29 2021
    [    0.364000] (W) Pitch bending is not supported; install john.stumpo's pitchbend module (r7 or higher) if you want it.
    [    0.365000] (W) PyOGG not found. OGG files will be fully decoded prior to playing; expect absurd memory usage.
    [    0.541000] (D) GameEngine class init (GameEngine.py)...
    [    0.541000] (D) FoFiX v3.122 Final starting up...
    [    0.541000] (D) pygame version: 1.9.6
    [    0.542000] (D) Initializing audio.
    [    0.818000] (D) Audio configuration: (44100, -16, 2)
    [    0.841000] (D) Initializing pygame.mixer & audio system at 44100 Hz.
    [    0.841000] (D) Initializing video.
    [    1.085000] (E) Terminating due to unhandled exception: 
    Traceback (most recent call last):
      File "FoFiX.py", line 276, in <module>
        main()
      File "FoFiX.py", line 175, in main
        engine = GameEngine(config)
      File "C:\Users\***\Downloads\fofix-3.122\fofix-3.122\src\GameEngine.py", line 550, in __init__
        self.video.setMode((width, height), fullscreen = fullscreen, multisamples = multisamples)
      File "C:\Users\***\Downloads\fofix-3.122\fofix-3.122\src\Video.py", line 114, in setMode
        bigIconColorData = bigIcon.tostring()
    AttributeError: 'Image' object has no attribute 'tostring'
    

    Im On Windows 10 BTW

    bug Windows 
    opened by Derpez 6
  • Exit when loading songs list

    Exit when loading songs list

    I get the following error when I try to play a song, it happens when the game loads the songs list

    Traceback (most recent call last): File "FoFiX.py", line 171, in main.run() File "/home/wilson/juegos/fofix/fofix/game/Main.py", line 131, in run while self.engine.run(): File "/home/wilson/juegos/fofix/fofix/core/GameEngine.py", line 630, in run rtn = self.mainloop() File "/home/wilson/juegos/fofix/fofix/core/GameEngine.py", line 612, in main done = self.task.run() File "/home/wilson/.local/lib/python2.7/site-packages/fretwork/task.py", line 118, in run self.runTask(taskData['task']) File "/home/wilson/.local/lib/python2.7/site-packages/fretwork/task.py", line 93, in runTask task.run(tick) File "/home/wilson/juegos/fofix/fofix/core/Input.py", line 326, in run self.broadcastEvent(self.keyListeners, "keyPressed", event.key, event.unicode) File "/home/wilson/juegos/fofix/fofix/core/Input.py", line 237, in broadcastEvent if getattr(l, function)(*args): File "/home/wilson/juegos/fofix/fofix/game/Lobby.py", line 345, in keyPressed self.engine.world.startGame() File "/home/wilson/juegos/fofix/fofix/game/World.py", line 86, in startGame self.createScene(STARTUP_SCENE, **args) File "/home/wilson/juegos/fofix/fofix/game/World.py", line 124, in createScene self.scene = SceneFactory.create(engine = self.engine, name = name, **args) File "/home/wilson/juegos/fofix/fofix/core/SceneFactory.py", line 36, in create return getattr(scene_name, name)(engine = engine, **args) File "/home/wilson/juegos/fofix/fofix/game/SongChoosingScene.py", line 69, in init song.updateSongDatabase(self.engine) File "/home/wilson/juegos/fofix/fofix/game/song/song.py", line 3523, in updateSongDatabase getAvailableSongs(engine, folder.libraryName, progressCallback=lambda p: updatePhase('%s \n %s \n %s' % ( File "/home/wilson/juegos/fofix/fofix/game/song/song.py", line 3117, in getAvailableSongs library, name, "song.ini", writable=True), library)) File "/home/wilson/juegos/fofix/fofix/game/song/song.py", line 274, in init self.getScores(part) File "/home/wilson/juegos/fofix/fofix/game/song/song.py", line 329, in getScores self.highScores[str(part)] = {} UnicodeEncodeError: 'ascii' codec can't encode character u'\xed' in position 10: ordinal not in range(128)

    bug 
    opened by wilsoft-gt 6
  • Can't build for Windows

    Can't build for Windows

    I tried following the docs to make the build for windows and nothing works. Missing packages, scripts failing, sadness increasing. Not sure where else to ask this, sorry. Is there a more up to date version of the docs?

    Windows dependencies 
    opened by TheFatBastid 2
  • ci(tests): use py3 as default

    ci(tests): use py3 as default

    • Replace python 2 with python 3.7 as default version
    • Add python 3.9 and python 3.10 as optional
    • Remove support for python 3.6 as it is not maintained anymore.

    Ref #110

    opened by Linkid 0
  • [4.x] Runtime errors with Python 2.7.18

    [4.x] Runtime errors with Python 2.7.18

    Using the latest master with the versions in requirements.txt, compiling with py2exe gives me an issue with distutils (another built-in):

    Traceback (most recent call last):
      File "FoFiX.py", line 50, in <module>
        import PIL.JpegImagePlugin
      File "PIL\JpegImagePlugin.pyo", line 42, in <module>
      File "PIL\TiffImagePlugin.pyo", line 44, in <module>
    ImportError: No module named distutils.version
    

    Here, running "python FoFiX.py" gives me the pygame announce but then stops before a log is created.

    Originally posted by @Nutzzz in https://github.com/fofix/fofix/issues/264#issuecomment-1108938332

    bug Windows 
    opened by Nutzzz 0
  • [3.x] Runtime errors with Python 2.7.18

    [3.x] Runtime errors with Python 2.7.18

    Describe the bug Using FoFiX 3.122 or 3.123 and Python 2.7.18 (x86) in Windows 11, once dependencies have been resolved and FoFiX is successfully building [with py2exe], I get a runtime error in FoFiX.exe.log: "ImportError: No module named difflib." It looks like difflib should be built-in, but I tried pip installing cdifflib, ndifflib, pydiff with the same result. Just for fun I also tried installing diff, which installs a few prerequisites, including attrs, which until it is removed gives me "invalid syntax" in _next_gen.py on the next compile; once that's removed I get the same as above.

    Error message

      File "FoFiX.py", line 108, in <module>
      File "GameEngine.pyo", line 32, in <module>
      File "numpy\__init__.pyo", line 187, in <module>
      File "numpy\testing\__init__.pyo", line 10, in <module>
      File "unittest\__init__.pyo", line 59, in <module>
      File "unittest\case.pyo", line 6, in <module>
    ImportError: No module named difflib
    

    As a test, I commented out line 73 of setup_exe.py, "difflib", from options={"py2exe":...{"excludes":[]...} This actually starts the game briefly, but then I get a runtime error in fofix.log:

    [    0.000000] (D) Logging initialized: Fri Apr 22 15:22:51 2022
    [    1.276000] (W) Pitch bending is not supported; install john.stumpo's pitchbend module (r7 or higher) if you want it.
    [    1.792000] (D) GameEngine class init (GameEngine.py)...
    [    1.792000] (D) FoFiX v3.123 Final starting up...
    [    1.792000] (D) pygame version: 2.0.3
    [    1.793000] (D) Initializing audio.
    [    1.841000] (D) Audio configuration: (48000, -16, 8)
    [    1.899000] (D) Initializing pygame.mixer & audio system at 44100 Hz.
    [    1.899000] (D) Initializing video.
    [    2.514000] (E) Terminating due to unhandled exception:
    Traceback (most recent call last):
      File "FoFiX.py", line 276, in <module>
      File "FoFiX.py", line 175, in main
      File "GameEngine.pyo", line 550, in __init__
      File "Video.pyo", line 102, in setMode
      File "PIL\Image.pyo", line 2818, in open
    IOError: cannot identify image file 'data\\fofix_icon.png'
    

    "data\fofix_icon.png" does exist, and is a valid png file. I tried replacing it with different png files: no change. I tried commenting out lines 497-8 from GameEngine.py and 186 from Credits.py, but falling into "icon = None" results in a runtime "AttributeError: 'NoneType' object has no attribute 'read'"

    To Reproduce

    1. Fresh install of Python 2.7.18 (x86) on Windows 11 [Note I also tried ActivePython 2.7.18 (x86), but the result was similar, though note the state tool doesn't want to install anything; it seems perhaps because of the CVE in bzip 1.0.6.]
    2. Note requirements.txt does not seem to exist anymore, so these were the prerequisites I figured my way through (beyond the win32 dependency pack):
    pip install wheel pywin32 py2exe_py2 pyopengl pyopengl-accelerate pygame numpy pyaudio pillow python-gettext
    

    [EDIT: I found the requirements.txt in the root of the repo that somehow didn't get packaged with the release .zip. Same difflib error, and after commenting out difflib, same image error [other than the callout for the older version of pygame.]

    1. Build and compile:
    python setup.py build_ext --inplace --force
    python setup.py py2exe
    

    Environment (please complete the following information):

    • OS: Windows 11
    • Python version: 2.7.18 (x86)
    bug Windows 
    opened by Nutzzz 5
  • Building dependencies

    Building dependencies

    I'm having trouble building the dependencies with the makedeps-cross file. When I run that, it returns with:

    "Using cross compilers prefixed with 'i686-w64-mingw32-'. (Set CROSS_TOOL_PREFIX to change this; don't include the trailing hyphen.) did not find i686-w64-mingw32-gcc, which is required"

    Now, I have mingw64 and added to path, but it doesn't contain i686-w64-mingw32-gcc, only x86_64-w64-ming32-gcc. I've tried different installations, but I'm wondering if the one that the makedeps is asking for is a version to a specific operating system? Or why wouldn't I find it otherwise? Or am I completely on the wrong track here? Google doesn't provide me with useful answers and I'm pretty new to any type of programming... I'd love to play the game, though.

    I have the games root inside a virtual environment with python27 32-bit and currently running windows11. I remember having the same issue tho on win10...

    Thanks for any comments :)

    bug 
    opened by monschkopf 3
Releases(v3.123)
  • v3.123(Oct 16, 2021)

    What's Changed

    • fix remaining PIL deprecations
    • use the URL of our new website.

    Contributors

    • @pkuhner made its first contribution
    • @Linkid

    Full Changelog: https://github.com/fofix/fofix/compare/v3.122...v3.123

    Source code(tar.gz)
    Source code(zip)
  • v3.122(Nov 28, 2019)

Owner
FoFiX
Frets on Fire X
FoFiX
The main objective of the game is to destroy multiple waves of asteroids with the help of a blaster mounted on the spaceship.

Astronomia: let the exploration begin The main objective of the game is to destroy multiple waves of asteroids with the help of a blaster mounted on t

Aryan Nath 8 Nov 18, 2022
An environment to run atari-like games in VGDL.

vgdl An environment to run atari-like games in VGDL. Requirements python = 3.6 Installation pip install -r requirements.txt Usage # Create an enviro

Sergio Arnaud Gomez 1 Dec 24, 2021
An optimal solution finder for the game Wordle, written in Python

wordle-solver: a nearly-optimal computer player for Wordle Wordle is an interesting word guessing game. This program plays it very well, taking only 3

4 Jun 13, 2022
Inflitator is a classic doom and wolfenstein3D like game made in Python, using the famous PYGAME module.

INFLITATOR Raycaster INFLITATOR is a raycaster made in Python3 with Pygame. It is a game built on top of a simple engine of the same name. An example

Zanvok Corporation 1 Jan 07, 2022
Memory game in Python

Concentration - Memory Game Concentration is a memory game written in Python, inspired by memory-game. Description As stated in the introduction of th

Marco Colonna 0 Jul 21, 2022
Allows you to email people wordle spoilers. Very beta, not as many features

wordlespoiler Allows you to email people wordle spoilers. Very beta, not as many features How to Use 1.) Make a new gmail account. Go to settings (Man

0 Jan 04, 2023
Racing Fire - A simple game made with pygame.

Racing Fire A simple game in the making. Using pygame, this game is made to feel like an old arcade game. I developed a simple controller for it with

Builder212 1 Nov 09, 2021
Creating Tetris with Pygame

Tetris 🤝 Contributing Contributions, issues and feature requests are welcome! Feel free to check issues page. Show your support Give a ⭐️ if this pro

Gavin Capriola 0 Mar 01, 2022
To solve games using AI, we will introduce the concept of a game tree followed by minimax algorithm.

To solve games using AI, we will introduce the concept of a game tree followed by minimax algorithm.

Vaibhaw 7 Oct 13, 2022
Python codes for the classic Hang Man game

Python codes for the classic Hang Man game. The user will be assigned a random word to guess, one character at a time. If the user gets everything right, the program says Well Done!, but if the user

p.katekomol 1 Jan 25, 2022
TetrisAI - Tetris AI Bot using computer vision to play game automatically

Tetris AI Tetris AI Bot using computer vision to play game automatically bot.py

11 Aug 29, 2022
Wordle - Implementation of wordle and a solver

Wordle - Implementation of wordle and a solver

Kurt Neufeld 1 Feb 04, 2022
WordleHelper suggests words to help players better enjoy the hit game Wordle

WordleHelper Introduction WordleHelper suggests words to help players better enjoy the hit game Wordle. Both the general mode and the hard mode are su

Shao-Yu, Chu 5 Jun 02, 2022
DouZero_For_HLDDZ_FullAuto: 将DouZero用于欢乐斗地主自动化

DouZero_For_HLDDZ_FullAuto: 将DouZero用于欢乐斗地主自动化 本项目基于DouZero 和 DouZero_For_Happy_DouDiZhu 环境配置请移步项目DouZero 模型默认为ADP,更换模型请修改main.py中的模型路径 运行main.py即可 在原

322 Dec 25, 2022
Simple car game written in PyGame

Welcome to CarGame 👋 Car Game written in PyGame! NOTE: This is still new and there may be stuff broken... 🏠 Homepage Install install pygame by typin

John 1 Oct 29, 2021
Atari2600 Training / Evaluation with RLlib

Training Atari2600 by Reinforcement Learning Train Atari2600 and check how it works! How to Setup You can setup packages on your local env. $ make set

Jinwoo Park (Curt) 1 Dec 12, 2021
Mandaw 2 Mar 01, 2022
Chess game for 2 players with UI

2-D Chess for 2 players Overview This is a simple 2D Chess game for 2 players using pygame library. Requirements To be able to run this game, you must

7 Apr 06, 2022
Are you obsessed with playing the increasingly-popular word game Wordle?

WORDLE-VISION Up your Wordle game! Are you obsessed with playing the increasingly-popular word game Wordle? Ever wondered what the optimal first word

Ravi Gupta 5 May 10, 2022
Pokemon game made in Python with open ended requirements from Codecademy

Pokemon game made in Python with open ended requirements from Codecademy. This is one of my first projects utilizing OOP and classes! -This game is a

Kevin Guerrero 2 Dec 29, 2021