New project idea
New project idea I have this idea for a sort of hybrid RPG/roguelike, real-time strategy, political simulation. You start with a small colony with a town hall and a farm or two kind of like in Warcraft and you have to build up your resources and buildings, conquer adjacent wild lands to expand your starting village, upgrade buildings and such. But, unlike Warcraft, there are other kingdoms on the world map doing the same thing. So, instead of individual maps with their own campaign objectives, you have a dynamically growing overworld.That's where the political sim comes in. You can create alliances, trade agreements, or non-aggression pacts with nearby kingdoms. You can also go to war and sue for peace with them.As far as the RPG elements, you have a hero-type avatar that can walk through the map in a first-person mode and enteract with the world, talk to NPCs, and fight things, and gain levels. I'm thinking you could do things like explore adjacent areas, maybe prepare them for expansion by clearing out monsters. If you find a gold mine, you might have to enter an instance and clear a dungeon of inhabitants so you can start to mine it. Maybe there can be randomly generated bandit hideouts to clear. Maybe you could visit the near by kingdoms if you have an alliance.It's all kind of a chaotic vision right now, but I think I'm on to something. I'm wondering if anyone would be interested in contributing to the idea, or project, or whatever it becomes. URL: https://forum.audiogames.net/post/568317/#p568317 -- Audiogames-reflector mailing list Audiogames-reflector@sabahattin-gucukoglu.com https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector
Re: Python packaging for distrobution
Re: Python packaging for distrobution I think I'm going about this the wrong way. I'm hellbent on using the onefile flag. I'm just going to use onefolder even though it's full of clutter and just figure out what I absolutely have to include and what I don't need and can put in the exclusion pile. I can get that to work at least. I just don't like the junky way it looks. URL: https://forum.audiogames.net/post/493986/#p493986 -- Audiogames-reflector mailing list Audiogames-reflector@sabahattin-gucukoglu.com https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector
Re: Python packaging for distrobution
Re: Python packaging for distrobution pyinstaller v3.6I found one problem at least. I can't spell directory names right. I kept spelling site-packages "site_packages." That fixed a few problems.Here's the excerpt from my current spec file.binfiles = [ ('venv/Lib/site-packages/sound_lib/lib/x64/bass.dll', 'sound_lib/lib/x64'), ('venv/Lib/site-packages/sound_lib/lib/x86/bass.dll', 'sound_lib/lib/x86'),]a = Analysis(['dice.py'], pathex=['venv/Lib/site-packages/sound_lib/lib/x86', 'venv/Lib/site-packages/sound_lib/lib/x64', 'C:\\Users\\sklut\\Documents\\programming\\Python\\random'], binaries=binfiles,...The only build warnings left are the:"WARNING: Can not get binary dependencies for file:" for a bunch of dynamic library and shared object files--all in the sound_lib/lib/x86 and x64 folders.I no longer have issues with bass.dll or any other dynamic linked libraries.I tried including *.dylib and *.so from the sound_lib/lib/x86 and x64 folders to the binary files list, but it doesn't work. Pyinstaller still says it can't get the binary dependencies.Oh, and I'm using Python v3.75 URL: https://forum.audiogames.net/post/493973/#p493973 -- Audiogames-reflector mailing list Audiogames-reflector@sabahattin-gucukoglu.com https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector
Re: Python packaging for distrobution
Re: Python packaging for distrobution pyinstaller v3.6I found one problem at least. I can't spell directory names right. I kept spelling site-packages "site_packages." That fixed a few problems.Here's the excerpt from my current spec file.binfiles = [ ('venv/Lib/site-packages/sound_lib/lib/x64/bass.dll', 'sound_lib/lib/x64'), ('venv/Lib/site-packages/sound_lib/lib/x86/bass.dll', 'sound_lib/lib/x86'),]a = Analysis(['dice.py'], pathex=['venv/Lib/site-packages/sound_lib/lib/x86', 'venv/Lib/site-packages/sound_lib/lib/x64', 'C:\\Users\\sklut\\Documents\\programming\\Python\\random'], binaries=binfiles,...The only build warnings left are the:"WARNING: Can not get binary dependencies for file:" for a bunch of dynamic library and shared object files--all in the sound_lib/lib/x86 and x64 folders.I no longer have issues with bass.dll or any other dynamic linked libraries.I tried including *.dylib and *.so from the sound_lib/lib/x86 and x64 folders to the binary files list, but it doesn't work. Pyinstaller still says it can't get the binary dependencies. URL: https://forum.audiogames.net/post/493973/#p493973 -- Audiogames-reflector mailing list Audiogames-reflector@sabahattin-gucukoglu.com https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector
Re: Python packaging for distrobution
Re: Python packaging for distrobution I have zero idea what "WARNING: Reason: 'DOS Header magic not found.'" means, or if it's even really relevant, and searching Google is little help. URL: https://forum.audiogames.net/post/493845/#p493845 -- Audiogames-reflector mailing list Audiogames-reflector@sabahattin-gucukoglu.com https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector
Re: Python packaging for distrobution
Re: Python packaging for distrobution Ok, here's what my spec file looks like so far:===# -*- mode: python ; coding: utf-8 -*-block_cipher = Nonebinfiles = [ ('/venv/Lib/site_packages/sound_lib/lib/x64/bass.dll', 'sound_lib/lib/x64'), ('\venv\lib\site-packages\sound_lib\lib\x64\libbass.dylib', 'sound_lib/lib/x64'), ('\venv\lib\site-packages\sound_lib\lib\x64\libbass.so', 'sound_lib/lib/x64'), ('\venv\lib\site-packages\sound_lib\lib\x64\libbass_aac.so', 'sound_lib/lib/x64'), ('\venv\lib\site-packages\sound_lib\lib\x64\libbass_alac.so', 'sound_lib/lib/x64'), ('\venv\lib\site-packages\sound_lib\lib\x64\libbass_fx.so', 'sound_lib/lib/x64'), ('\venv\lib\site-packages\sound_lib\lib\x64\libbassenc.so', 'sound_lib/lib/x64'), ('\venv\lib\site-packages\sound_lib\lib\x64\libbassflac.so', 'sound_lib/lib/x64'), ('\venv\lib\site-packages\sound_lib\lib\x64\libbassopus.dylib', 'sound_lib/lib/x64'), ('\venv\lib\site-packages\sound_lib\lib\x64\libbassopus.so', 'sound_lib/lib/x64'), ('\venv\lib\site-packages\sound_lib\lib\x64\libbassmidi.so', 'sound_lib\lib\x64'), ('\venv\lib\site-packages\sound_lib\lib\x64\libbassmix.so', 'sound_lib/lib/x64'), ('\venv\lib\site-packages\sound_lib\lib\x64\libtags.so', 'sound_lib/lib/x64'), ('/venv/Lib/site_packages/sound_lib/lib/x86/bass.dll', 'sound_lib/lib/x86'), ('\venv\lib\site-packages\sound_lib\lib\x86\libbass.dylib', 'sound_lib/lib/x86'), ('\venv\lib\site-packages\sound_lib\lib\x86\libbass.so', 'sound_lib/lib/x86'), ('\venv\lib\site-packages\sound_lib\lib\x86\libbass_aac.dylib', 'sound_lib/lib/x86'), ('\venv\lib\site-packages\sound_lib\lib\x86\libbass_aac.so', 'sound_lib/lib/x86'), ('\venv\lib\site-packages\sound_lib\lib\x86\libbass_alac.so', 'sound_lib/lib/x86'), ('\venv\lib\site-packages\sound_lib\lib\x86\libbass_fx.dylib', 'sound_lib/lib/x86'), ('\venv\lib\site-packages\sound_lib\lib\x86\libbass_fx.so', 'sound_lib/lib/x86'), ('\venv\lib\site-packages\sound_lib\lib\x86\libbassenc.dylib', 'sound_lib/lib/x86'), ('\venv\lib\site-packages\sound_lib\lib\x86\libbassenc.so', 'sound_lib/lib/x86'), ('\venv\lib\site-packages\sound_lib\lib\x86\libbassflac.dylib', 'sound_lib/lib/x86'), ('\venv\lib\site-packages\sound_lib\lib\x86\libbassflac.so', 'sound_lib/lib/x86'), ('\venv\lib\site-packages\sound_lib\lib\x86\libbassmidi.dylib', 'sound_lib/lib/x86'), ('\venv\lib\site-packages\sound_lib\lib\x86\libbassmidi.so', 'sound_lib/lib/x86'), ('\venv\lib\site-packages\sound_lib\lib\x86\libbassmix.dylib', 'sound_lib/lib/x86'), ('\venv\lib\site-packages\sound_lib\lib\x86\libbassmix.so', 'sound_lib/lib/x86'), ('\venv\lib\site-packages\sound_lib\lib\x86\libbassopus.dylib', 'sound_lib/lib/x86'), ('\venv\lib\site-packages\sound_lib\lib\x86\libbassopus.so', 'sound_lib/lib/x86'), ('\venv\lib\site-packages\sound_lib\lib\x86\libtags.dylib', 'sound_lib/lib/x86'), ('\venv\lib\site-packages\sound_lib\lib\x86\libtags.so', 'sound_lib/lib/x86')]datafiles = [ ('sounds/menu/*.wav', 'sounds/menu'), ('sounds/rolls/*.wav', 'sounds/rolls'), ('settings.dat', '.')]a = Analysis(['dice.py'], pathex=['C:\\Users\\sklut\\Documents\\programming\\Python\\random'], binaries=binfiles, datas=datafiles, hiddenimports=[ 'pygame._view' ], hookspath=[], runtime_hooks=[], excludes=[], win_no_prefer_redirects=False, win_private_assemblies=False, cipher=block_cipher, noarchive=False)pyz = PYZ(a.pure, a.zipped_data, cipher=block_cipher)exe = EXE(pyz, a.scripts, a.binaries, a.zipfiles, a.datas, [], name='dice', debug=False, bootloader_ignore_signals=False, strip=False, upx=True, upx_exclude=[], runtime_tmpdir=None, console=True )===And here's the build warnings I got from it:===4620 ERROR: Hidden import 'pygame._view' not found5147 WARNING: Hidden import "pygame._view" not found!5758 WARNING: Can not get binary dependencies for file: c:\users\sklut\documents\programming\python\random\venv\lib\site-packages\sound_lib\lib\x86\libbassmidi.dylib5758 WARNING: Reason: 'DOS Header magic not found.'5758 WARNING: Can not get binary dependencies for file: c:\users\sklut\documents\programming\python\random\venv\lib\site-packages\sound_lib\lib\x64\libbass.so5758 WARNING: Reason: 'DOS Header magic not found.'5770 WARNING: lib not found: BASS.dll dependency of c:\users\sklut\documents\programming\python\random\venv\lib\site-packages\sound_lib\lib\x64\bassmidi.dll5776 WARNING: Can not get binary dependencies for file: c:\users\sklut\documents\programming\python\random\venv\lib\site-packages\sound_lib\lib\x64\libbassmix.so5776 WARNING: Reason: 'DOS Header magic not found.'5782 WARNING: Can not get binary dependencies for file: c:\users\sklut\documents\programming\python\random\venv\l
Re: Python packaging for distrobution
Re: Python packaging for distrobution No, not obfuscating the code. I'm just trying to get the basics to work before I get too fancy. This is just a small program to learn how to package things. Figure that's something I ought to know before I get really crazy.I didn't copy any of the lib folders to the dist directory after it created the exec. I thought it was supposed to pack all the python files with the exec when it built the project. I also thought it was supposed to drop any relevant binary files into the dist folder when it was done, but it didn't.The sound lib is in the venv/lib/site-packages/sound_lib folder. I have a lib folder in the root project folder that has sound_pool which imports sound_lib and a speech.py file that imports accessible_output2.The venv folder is also in the root project folder.looks kind of like this:../lib./lib/sound_pool./lib/sound_pool/__init__.py./lib/sound_pool/sound.py./lib/sound_pool/sound_pool.py./lib/sound_pool/sound_positioning.py./lib/speech.py./sounds/ ./venv/ ./__random.py./dice.py./settings.datI ran the basic `pyinstaller --onefile --log-level=WARN dice.py` command.The project, such as it is, is at https://github.com/skluttrell/random if that helps any. URL: https://forum.audiogames.net/post/493713/#p493713 -- Audiogames-reflector mailing list Audiogames-reflector@sabahattin-gucukoglu.com https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector
Re: Python packaging for distrobution
Re: Python packaging for distrobution It's not locating and packing all the dependencies. I can post the error report and warnings, but it just amounts to that.I know I have to add things to the spec file. I just don't understand exactly what.build warnings:5272 WARNING: Hidden import "pygame._view" not found!5865 WARNING: Can not get binary dependencies for file: c:\users\sklut\documents\programming\python\random\venv\lib\site-packages\sound_lib\lib\x86\libbassopus.dylib5865 WARNING: Reason: 'DOS Header magic not found.'5865 WARNING: Can not get binary dependencies for file: c:\users\sklut\documents\programming\python\random\venv\lib\site-packages\sound_lib\lib\x64\libbass_alac.so5865 WARNING: Reason: 'DOS Header magic not found.'5881 WARNING: lib not found: BASS.dll dependency of c:\users\sklut\documents\programming\python\random\venv\lib\site-packages\sound_lib\lib\x64\tags.dll5881 WARNING: Can not get binary dependencies for file: c:\users\sklut\documents\programming\python\random\venv\lib\site-packages\sound_lib\lib\x86\libbass_alac.so5882 WARNING: Reason: 'DOS Header magic not found.'5882 WARNING: Can not get binary dependencies for file: c:\users\sklut\documents\programming\python\random\venv\lib\site-packages\sound_lib\lib\x64\libbass.so5882 WARNING: Reason: 'DOS Header magic not found.'5883 WARNING: Can not get binary dependencies for file: c:\users\sklut\documents\programming\python\random\venv\lib\site-packages\sound_lib\lib\x86\libbass_aac.dylib5883 WARNING: Reason: 'DOS Header magic not found.'5893 WARNING: lib not found: bass.dll dependency of c:\users\sklut\documents\programming\python\random\venv\lib\site-packages\sound_lib\lib\x64\bassopus.dll5895 WARNING: Can not get binary dependencies for file: c:\users\sklut\documents\programming\python\random\venv\lib\site-packages\sound_lib\lib\x86\libbassmix.so5895 WARNING: Reason: 'DOS Header magic not found.'5895 WARNING: Can not get binary dependencies for file: c:\users\sklut\documents\programming\python\random\venv\lib\site-packages\sound_lib\lib\x64\libtags.so5895 WARNING: Reason: 'DOS Header magic not found.'5906 WARNING: lib not found: BASS.dll dependency of c:\users\sklut\documents\programming\python\random\venv\lib\site-packages\sound_lib\lib\x64\bass_aac.dll5928 WARNING: lib not found: BASS.dll dependency of c:\users\sklut\documents\programming\python\random\venv\lib\site-packages\sound_lib\lib\x64\bass_alac.dll5928 WARNING: Can not get binary dependencies for file: c:\users\sklut\documents\programming\python\random\venv\lib\site-packages\sound_lib\lib\x86\libtags.dylib5928 WARNING: Reason: 'DOS Header magic not found.'5929 WARNING: Can not get binary dependencies for file: c:\users\sklut\documents\programming\python\random\venv\lib\site-packages\sound_lib\lib\x86\libbassopus.so5929 WARNING: Reason: 'DOS Header magic not found.'5940 WARNING: lib not found: BASS.dll dependency of c:\users\sklut\documents\programming\python\random\venv\lib\site-packages\sound_lib\lib\x64\bassflac.dll5941 WARNING: Can not get binary dependencies for file: c:\users\sklut\documents\programming\python\random\venv\lib\site-packages\sound_lib\lib\x86\libbass.dylib5941 WARNING: Reason: 'DOS Header magic not found.'5948 WARNING: Can not get binary dependencies for file: c:\users\sklut\documents\programming\python\random\venv\lib\site-packages\sound_lib\lib\x64\libbassflac.so5948 WARNING: Reason: 'DOS Header magic not found.'5949 WARNING: Can not get binary dependencies for file: c:\users\sklut\documents\programming\python\random\venv\lib\site-packages\sound_lib\lib\x64\libbass_fx.so5949 WARNING: Reason: 'DOS Header magic not found.'5949 WARNING: Can not get binary dependencies for file: c:\users\sklut\documents\programming\python\random\venv\lib\site-packages\sound_lib\lib\x64\libbassmidi.so5949 WARNING: Reason: 'DOS Header magic not found.'5950 WARNING: Can not get binary dependencies for file: c:\users\sklut\documents\programming\python\random\venv\lib\site-packages\sound_lib\lib\x64\libbassenc.so5950 WARNING: Reason: 'DOS Header magic not found.'5957 WARNING: Can not get binary dependencies for file: c:\users\sklut\documents\programming\python\random\venv\lib\site-packages\sound_lib\lib\x64\libbassopus.so5957 WARNING: Reason: 'DOS Header magic not found.'5968 WARNING: Can not get binary dependencies for file: c:\users\sklut\documents\programming\python\random\venv\lib\site-packages\sound_lib\lib\x86\libbassenc.dylib5968 WARNING: Reason: 'DOS Header magic not found.'5968 WARNING: Can not get binary dependencies for file: c:\users\sklut\documents\programming\python\random\venv\lib\site-packages\sound_lib\lib\x86\libbass_aac.so5968 WARNING: Reason: 'DOS Header magic not found.'5975 WARNING: lib not found: BASS.dll dependency of c:\users\sklut\documents\programming\python\random\venv\lib\site-packages\sound_lib\lib\x64\bassmidi.dll5981 WARNING: Can not get binary dependencies for file: c:\users\sklut\documents\programming\py
Python packaging for distrobution
Python packaging for distrobution I have been stuck on this for a few days and every thing I try from searching Google just makes me feel dumber and dumber. I can't get pyinstaller to work the way I want it too. I can package a program with the default setting where everything is stored in a folder with all the dependencies just hanging out, crowding the folder, but I can't get --onefile to work.What's the best packager? Is there a better one than pyinstaller? URL: https://forum.audiogames.net/post/493547/#p493547 -- Audiogames-reflector mailing list Audiogames-reflector@sabahattin-gucukoglu.com https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector
Re: mud programming?
Re: mud programming? Learning to program a MUD is trivial. Like anything else, it just takes time and commitment. And there are plenty of engines already ready to just plug your own stuff into to get one off the ground. Use Python, or any language you're already comfortable with that can be hosted by a server.But programming isn't where you need to start. You should spend a year or two getting to know how MUDs really work, their balancing, their terminology, map design, etc. and the best way to do that is to volunteer your time on an already established MUD as an agent or mod, or whatever, help design a few small levels, work within the community as a general creator before you start to toil away on your own.That will make the process much easier and cleaner by the end.If you can't make the commitment to the slow process of learning MUDs from the inside out then building from the outside in will embitter you by the end. URL: https://forum.audiogames.net/post/491321/#p491321 -- Audiogames-reflector mailing list Audiogames-reflector@sabahattin-gucukoglu.com https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector
Re: Help with git bash
Re: Help with git bash Thanks for the info. It does help knowing that. That's good to know. But for this particular instance, I'm not sure a universal command is best. I'd rather it be with just a shortcut or something in case I need to work with projects other than Python.It would cause problems if my start-up directory was a project folder other than one that had a venv/Scripts folder.I usually have desktop shortcuts for each of my projects like:cmd.exe /k cd C:\users\sklut\Documents\programming\Python\ & venv\Scripts\activate (venv) $ _Which works for the regular window's command prompt, but I'd like to work just in Bash for simplicity. I'm not even sure it really matters as I only need to activate the venv when I need to use project specific environment variables or add something to the site-packages I guess, but it's kind of the principle of it. I should be able to do it. I just can't find a solution that works. URL: https://forum.audiogames.net/post/490715/#p490715 -- Audiogames-reflector mailing list Audiogames-reflector@sabahattin-gucukoglu.com https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector
Help with git bash
Help with git bash I want to start bash in a specific working directory and with a python virtual environment active via a desktop shortcut, but I can't seem to get it to work just right. I can get it to start in the correct directory easily enough, but I don't know how to add a command to the shortcut to have it automatically run the venv activation script. I've tried everything I can find on Google, but still no luck. Does anyone have any suggestions? URL: https://forum.audiogames.net/post/490628/#p490628 -- Audiogames-reflector mailing list Audiogames-reflector@sabahattin-gucukoglu.com https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector
Re: Sound pool in Python
Re: Sound pool in Python I changed the looping value in the play methods to default to False. Not a major change, but I'd thought I'd let you know. It may just be my personal preference, but it makes playing a single sound a little cleaner for me. URL: https://forum.audiogames.net/post/469384/#p469384 -- Audiogames-reflector mailing list Audiogames-reflector@sabahattin-gucukoglu.com https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector
Procedural game design
Procedural game design I was trying to write a procedural fantasy name generator and found that creating a believable name from scratch is harder than it sounded when I first started. It seems that names aren't just randomly crammed together vowels and consonants after all.Some names are words that mean something going back generations, and sometimes from dead languages. They are place names, old malformed nicknames, and career paths. Even if We don't know the meaning, there's an underlying pattern to them that makes sense to us on some unconscious level.I tried different things: choosing random letters, choosing them with rules that varied in complexity which just got more useless and convoluted as I worked outward, and finally I just built a giant list of three to five letter words that was a combination of nonsense letters and real words and names.That last one seemed to work the best, but being the best turd in the toilet is a relative thing.Anyone have any suggestions? I've kind of hit a wall here. URL: https://forum.audiogames.net/post/436093/#p436093 -- Audiogames-reflector mailing list Audiogames-reflector@sabahattin-gucukoglu.com https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector
Procedural game design
Procedural game design I was trying to write a procedural fantasy name generator and found that creating a believable name from scratch is harder than it sounded when I first started. It seems that names aren't just randomly crammed together vowels and consonants after all.Some names are words that mean something going back generations, and sometimes from dead languages. They are place names, old malformed nicknames, and career paths. Even if We don't know the meaning, there's an underlying pattern to them that makes sense to us on some unconscious level.I tried different things: choosing random letters, choosing them with rules that varied in complexity and just got more useless and convoluted as I worked outward, and finally I just built a giant list of three to five letter words that was a combination of nonsense letters and real words and names.That last one seemed to work the best, but being the best turd in the toilet is a relative thing.Anyone have any suggestions? I've kind of hit a wall here. URL: https://forum.audiogames.net/post/436093/#p436093 -- Audiogames-reflector mailing list Audiogames-reflector@sabahattin-gucukoglu.com https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector
Re: The millionth topic asking about what coding language to begin with th
Re: The millionth topic asking about what coding language to begin with th It's already been said, but since you're going with the majority rules, Python seems to fit your requirements.Math is pretty much going to pop up no matter what you're programming. Hell, even if you were programming a simple text editor you'd probably still have math pop up. You just aren't going to avoid that like you want. But the good news is, as long as you can do basic math, there's plenty of smart math people out there who have already developed the formulas you'll need. You just have to plug in the variables. You don't have to add and subtract things yourself. You just have to know how to tell the computer to do it for you in the right sequence. Remember: "Please Excuse My Dear Aunt Sally" and "Some Old Hippy Caught Another Hippy Tripping On Acid."As for good documentation, all the languages out there pretty much have good documentation for common things and that documentation will get more dense the harder the task you're trying to do. There are a thousand and one easy to follow tutorials on basic loops and conditionals for every language out there, but not so much for 3D sound. The harder the task, the more you're going to have to learn. That's just the way it is for anything in life in general.If you want simple tutorials for audio game development, you're going to be "DISAPPOINTED!". It's just something you're going to have to cobble together as you run into problems, and it's going to take some intuitive leaps on your part at times.This forum is going to be the easiest place to find the bulk of the information you'll need, so I recommend you get really good at searching it. As you already said in the title, there's tons of threads of people who probably have had the same questions you will and the answers may be fifty or a hundred pages deep. Get used to reading and trying things that don't work right off the bat.In fact, that's really good to know about programming in general. There's a thousand and one ways to do anything and a thousand of them probably won't work for you. So get used to that. URL: https://forum.audiogames.net/post/436087/#p436087 -- Audiogames-reflector mailing list Audiogames-reflector@sabahattin-gucukoglu.com https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector
Re: How the hell do you use Visual Studio efficiently!
Re: How the hell do you use Visual Studio efficiently! Honestly, it's been a while since I used VS. I steer away from IDEs since they often are more cumbersome than helpful, but when I did use VS2015-17 the error list always just popped up automatically when I built/ran a project. It took a few seconds for it to come up and become interactable, but when it did, all I remember doing was using the arrow keys. Maybe I had to tab first, but I don't think so. If I needed the error list without running the program, I just alt keyed to the view menu and selected it because I kept forgetting the hotkey.I've never had much trouble with NVDA and Visual Studio, and I never used any add-ons for it. If I had trouble, it was minor and in functions I rarely used. It seems like updating the program was a bit of a headache and I wasn't very fond of the changes made in 2017, but I could always get around just fine.The program was plenty accessible for me. I just prefer using plain text editors with no frills. Although having a jump to line *AND* character position would be nice. URL: https://forum.audiogames.net/post/436083/#p436083 -- Audiogames-reflector mailing list Audiogames-reflector@sabahattin-gucukoglu.com https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector
Re: a solution to many questions asked here
Re: a solution to many questions asked here This is great. I love it. URL: https://forum.audiogames.net/post/426937/#p426937 -- Audiogames-reflector mailing list Audiogames-reflector@sabahattin-gucukoglu.com https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector
Re: PyBass
Re: PyBass Thanks for the example. I agree with putting things in classes too. I tend to write things in away that won't change my main code if I decide to use another method.Yeah, I already read the license. It's satisfactory for my needs. I don't plan on selling anything anyway, but even if I did I probably wouldn't sell it for more than $10-20. Maybe I'm undervaluing my work. URL: https://forum.audiogames.net/post/422594/#p422594 -- Audiogames-reflector mailing list Audiogames-reflector@sabahattin-gucukoglu.com https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector
Re: PyBass
Re: PyBass Oh, thanks. I already had that downloaded. I just thought it was for something else since pybass was already a thing. URL: https://forum.audiogames.net/post/422406/#p422406 -- Audiogames-reflector mailing list Audiogames-reflector@sabahattin-gucukoglu.com https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector
PyBass
PyBass I don't suppose anyone knows of some good examples of bass being used in python. Searching on Google for "bass" or even "pybass" doesn't really return any useful results for me.I'd kind of like to see if it would be better to use than openAL or not. URL: https://forum.audiogames.net/post/422392/#p422392 -- Audiogames-reflector mailing list Audiogames-reflector@sabahattin-gucukoglu.com https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector
accessible_output2 module 'win32com.gen_py ... error
accessible_output2 module 'win32com.gen_py ... error All of a sudden I started getting this error when trying to use accessible_output2.>>> import accessible_output2.outputs.sapi5>>> tts == accessible_output2.outputs.sapi5.SAPI5()Traceback (most recent call last): File "", line 1, in File "C:\Users\sklut\AppData\Local\Programs\Python\Python37\lib\site-packages\accessible_output2-0.13-py3.7.egg\accessible_output2\outputs\sapi5.py", line 33, in __init__ self.object = load_com("SAPI.SPVoice") File "C:\Users\sklut\AppData\Local\Programs\Python\Python37\lib\site-packages\libloader-0.21-py3.7.egg\libloader\com.py", line 15, in load_com result = gencache.EnsureDispatch(name) File "C:\Users\sklut\AppData\Local\Programs\Python\Python37\lib\site-packages\win32com\client\gencache.py", line 534, in EnsureDispatch mod = EnsureModule(tla[0], tla[1], tla[3], tla[4], bForDemand=bForDemand) File "C:\Users\sklut\AppData\Local\Programs\Python\Python37\lib\site-packages\win32com\client\gencache.py", line 391, in EnsureModule module = GetModuleForTypelib(typelibCLSID, lcid, major, minor) File "C:\Users\sklut\AppData\Local\Programs\Python\Python37\lib\site-packages\win32com\client\gencache.py", line 266, in GetModuleForTypelib AddModuleToCache(typelibCLSID, lcid, major, minor) File "C:\Users\sklut\AppData\Local\Programs\Python\Python37\lib\site-packages\win32com\client\gencache.py", line 552, in AddModuleToCache dict = mod.CLSIDToClassMapAttributeError: module 'win32com.gen_py.C866CA3A-32F7-11D2-9602-00C04F8EE628x0x5x4' has no attribute 'CLSIDToClassMap'>>>I found a "fix" by deleting c:\users\sklut\AppData\Local\Temp\gen_py\3.7 but I don't know what caused it or how to keep it from happening in the future. URL: https://forum.audiogames.net/post/415296/#p415296 -- Audiogames-reflector mailing list Audiogames-reflector@sabahattin-gucukoglu.com https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector
Re: I Wanna Smack Python Upside the Head
Re: I Wanna Smack Python Upside the Head And discourages the inexperienced. URL: https://forum.audiogames.net/post/414571/#p414571 -- Audiogames-reflector mailing list Audiogames-reflector@sabahattin-gucukoglu.com https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector
Re: I Wanna Smack Python Upside the Head
Re: I Wanna Smack Python Upside the Head The reason that there aren't any good audio games hasn't got anything to do with the language used. It has everything to do with the fact that there just aren't that many experienced developers working on them. There's a lot of people with pie in the sky ideas but not that many who have the luxury to devote there time to really making one. After all, no one will make a living on making audio games. There just aren't enough blind people who will pay for them.Also there seem to be a lot of lone wolves out there (me included) who try to do stuff on their own because they don't know how to network, aren't use to it, or whatever. Big games take teams. Of course there are always going to be exceptions like BK3 and a handful of others that could be considered "big projects," but that's the exception, not the rule.As for learning programming, no matter what code base you are using there are concepts that are universal: loops, objects, conditionals, level design, etc. It doesn't matter where you learn those concepts. The syntax changes, but not the ideas.I'd rather someone spend time learning those core concepts than wasting their time trying to just get a language running. I don't use BGT. I used C++ for a long time and now I'm switching to Python for my own reasons. But I don't care what recipe or oven someone uses. I only care if they can bake the cake. URL: https://forum.audiogames.net/post/414539/#p414539 -- Audiogames-reflector mailing list Audiogames-reflector@sabahattin-gucukoglu.com https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector
Re: I Wanna Smack Python Upside the Head
Re: I Wanna Smack Python Upside the Head I agree with Kai. I don't know why people code shame. If someone wants to start with BGT there's nothing wrong with that. If they want to move on later because they found some limitation they weren't comfortable with than that's cool too. At least they learned the basics of programming. Heck, how many of us started learning with Qbasic, Pascal, or Visual Basic? I would have absolutely loved to have had BGT around when I was just starting to learn programming.As for Python, I've never had any major issues that I couldn't find a fix or work around for. That's just the nature of any language. You're always going to find things that you would like to be different. That's the nature of anything really.I'm not saying it was always smooth sailing mind you. I've spent countless hours trying to track something down on Google to make things work. So I empathize with your pain. But I can say the same thing about BGT, C++, Swift, Lua, and any other language I've used in the past.The only right language is the one you get to work for your needs. Don't let people bother you about how you should be doing it there way because that's the popular thing. That's basically what the arguments for and against different languages boil down too. I have seen legit reasons people don't use BGT any more, but nothing that deserves the vitriol that some veterans have for it.I have gotten openAL to work for me in Python and that's what I use at the moment. That will probably change in the future, but right now it serves my needs.I put things in my own wrappers and call those functions in my main program so that if I want to use something else later on, I don't have to make major revisions to my main code.Coding might not be your thing. There's nothing wrong with that. There's much more to writing a program (especially games) than their coding. There might be another job as a developer that you enjoy doing more such as writing story elements or designing sound effects.Programmers are a dime a dozen. Good stories and sound libraries are not. In fact I paid quite a bit more than a dime for the sound library I use.Audio games are badly in need of good story tellers. There are almost no long form RPG's, and you can pretty much forget about finding one like Final Fantasy. A Heroes Call was a great achievement, and I am privilaged to have had the very small role in bringing it to life that I did, but the story was below average when you compare it to mainstream 50 to 100 hour epics.Even when talking about Action games, a great story can make the difference between a game you play and a game you remember.I know this reply wasn't super informative, but I hope it's uplifted you in some way. You're not the only one to want to toss a computer out the window. We all have this rant inside us from time to time. URL: https://forum.audiogames.net/post/414459/#p414459 -- Audiogames-reflector mailing list Audiogames-reflector@sabahattin-gucukoglu.com https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector
Re: tips needed
Re: tips needed First of all you'll need to decide how you want to interface with your text-to-speech engine. There are a few posts floating around here that give good tips on that and how to set those up. Tolk and Accessable_output2 are pretty common ways to get started with that. Just search for them on this forum and there are guides on how to set them up. There's also pyttsx but I didn't much like it.As for games in general, it's best to do a lot of planning before hand. That will inform your design approach. I would suggest searching for text game tutorials. URL: https://forum.audiogames.net/post/414311/#p414311 -- Audiogames-reflector mailing list Audiogames-reflector@sabahattin-gucukoglu.com https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector
Re: BGT question
Re: BGT question That question is way to broad. There are any number of ways to code in a weapon and a lot of it depends on how you plan to use it in any given game.Some people might choose to create an entire weapon object. Some programs may not need that approach.Are there other types of weapons? Do your weapons change during the course of the game? How do they change: upgrade, leveling, spontaneous transmutation?You need to be much more specific in your question and how your program will work. And remember not many people here are willing to write your code for you. If you have a question about particular syntax, we would be happy to point you in the right direction--maybe even outline some pseudo code for you. But I, for one, would like you to narrow your question quite a bit before I could truly help you. URL: https://forum.audiogames.net/post/414309/#p414309 -- Audiogames-reflector mailing list Audiogames-reflector@sabahattin-gucukoglu.com https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector
Re: removing data from a file in bgt
Re: removing data from a file in bgt That's kind of the point here. Once you read in the data from the file and change it in your program then overwrite the old file with the new data, you've deleted the old and replaced it with the new.1. Open file2. read file contents into a variable of some sort (probably text/string or an array of that)3. Manipulate the contents in that variable4. Then write variable back to the file making sure your overwriting the previous contents (not appending)5. Close the file URL: https://forum.audiogames.net/post/411698/#p411698 -- Audiogames-reflector mailing list Audiogames-reflector@sabahattin-gucukoglu.com https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector
Re: What am i missing in bgt
Re: What am i missing in bgt Also, saving game data will require some system to save data to a file and another system to read and parse that data back out.A file might look something like this:save.dat (the .dat extension won't matter. It's just a text file. You can use .gsv or anything you want.)name=Stephenhigh_score=1,000number_of_games_played=4...And so on.Then you'd have to read that file back into the program and split each line back into appropriate variables by the equals '=' sign.That's just a simple method. In most published game projects you'll also want to explore ways to encrypt your game data so people can't cheat and such. But that's a whole other topic. Just get the basics working for now.Get real familiar with the BGT help file. It has examples of everything the language is capable of and a fairly robust tutorial to get you started. It's the first resource you should be going to. Google should be the next. Plenty of people have already asked questions like that and there are plenty of answers already available. Keep your search query short and as simple as possible: "BGT saving files," "bgt splitting strings," "bgt opening files," "programming saving game data," etc. URL: https://forum.audiogames.net/post/411650/#p411650 -- Audiogames-reflector mailing list Audiogames-reflector@sabahattin-gucukoglu.com https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector
Re: removing data from a file in bgt
Re: removing data from a file in bgt It's been a while since I used BGT, but the general process will be the same whatever language you use.Read the file into a list array.Change the data in the array you want.Then replace the file contents with the array.That, to me, seems to be the safest way. URL: https://forum.audiogames.net/post/411642/#p411642 -- Audiogames-reflector mailing list Audiogames-reflector@sabahattin-gucukoglu.com https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector
Re: Python text-to-speech issue with Tolk
Re: Python text-to-speech issue with Tolk LOLI only bother checking when I need something.I moved on from Tolk and NVDA anyway. I'll just use SAPI for the time being and I can control more with pyttsx3 than I can with Tolk's short list of functions it would seem. URL: https://forum.audiogames.net/post/411638/#p411638 -- Audiogames-reflector mailing list Audiogames-reflector@sabahattin-gucukoglu.com https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector
Re: lua and mushclient scripts
Re: lua and mushclient scripts https://www.tutorialspoint.com/lua/I found that just by typing "lua tutorial" in a search bar.Your biggest help will come from being able to make your web searches concise and straight to the point.Like if I wanted to know how to work with a string variable in Lua, I'd put something like "Lua string manipulation" in the search field. It's best if you know exactly what you want to accomplish and put that in as few words as possible.You also might want to look at other programming tutorials to learn general concepts. Just pick a popular language like C or Python and get a beginner's book on the subject. There are plenty of ebooks out there. I know you just want to know Lua for Mush scripting, but there are general programming concepts that are present in all languages (albeit with varying syntax) that will help you understand what you're doing and help you better form a plan on how to go about accomplishing a task.Also, before you do anything, look to see if someone has already done it for you. If all you care about is the end goal and don't necessarily care about doing it yourself, there's no reason to reinvent the wheel--so to speak.One more thing with Mush and MUDs in general. For technical reasons that aren't that important, triggers won't trigger on the last line sent from the MUD. That gave me fits for a long time trying to find out why. Just know that it's a known issue and you'll just have to program around it. I haven't yet found a true fix. I tried scripts that were supposed to force a line break, but it didn't help.You're going to run into that issue at some point. URL: https://forum.audiogames.net/post/411486/#p411486 -- Audiogames-reflector mailing list Audiogames-reflector@sabahattin-gucukoglu.com https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector
Re: lua and mushclient scripts
Re: lua and mushclient scripts https://www.tutorialspoint.com/lua/I found that just by typing "lua tutorial" in a search bar.Your biggest help will come from being able to make your web searches concise and straight to the point.Like if I wanted to know how to work with a string variable in Lua, I'd put something like "Lua string manipulation" in the search field. It's best if you know exactly what you want to accomplish and put that in as few words as possible.You also might want to look at other programming tutorials to learn general concepts. Just pick a popular language like C or Python and get a beginner's book on the subject. There are plenty of ebooks out there. I know you just want to know Lua for Mush scripting, but there are general programming concepts that are present in all languages (albeit with varying syntax) that will help you understand what you're doing and help you better form a plan on how to go about accomplishing a task.Also, before you do anything, look to see if someone has already done it for you. If all you care about is the end goal and don't necessarily care about doing it yourself, there's no reason to reinvent the wheel--so to speak. URL: https://forum.audiogames.net/post/411486/#p411486 -- Audiogames-reflector mailing list Audiogames-reflector@sabahattin-gucukoglu.com https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector
Re: Python text-to-speech issue with Tolk
Re: Python text-to-speech issue with Tolk I guess I found my answer: https://github.com/nvaccess/nvda/issues/5638It's not even a blip on their super low priorities list of things to do.I wish I knew enough programming to contribute to the project, but I'm small time. URL: https://forum.audiogames.net/post/411480/#p411480 -- Audiogames-reflector mailing list Audiogames-reflector@sabahattin-gucukoglu.com https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector
Python text-to-speech issue with Tolk
Python text-to-speech issue with Tolk I have code that needs to wait for the text-to-speech engine to wait until no speech is being spoken. When I use Tolk.is_speaking() with NVDA, it won't report the state correctly. SAPI reports just fine.I don't know what I'm missing here. Is there something better to use than Tolk that I just haven't found yet?*** CODE ***# Author: Stephen Luttrell# File: testMessageBox.py# Description: Tests the simple_message_box function in dynamic_menu.py * see belowfrom dynamic_menu import simple_message_boxfrom audio import shut_down_audiofrom create_window import displayimport pygamedisplay('test message box')quit = Truebox = simple_message_box()box.set_text('If we desire to know what ideas men held in heathen times about the life beyond the grave, it is natural to turn first to the evidence of archaeology.')box.set_confirm_button_text('mChange.wav')box.set_speak_ok(False)#box.set_text('intro.wav')#box.set_is_filename(True)while quit: for e in pygame.event.get(): if e.type == pygame.KEYDOWN: if e.key == pygame.K_RETURN: box.run() elif e.key == pygame.K_ESCAPE: quit = Falseshut_down_audio()print('done')# File: dynamic_menu.py# Description: Creates an extensible menu and also some simple data gathering and display objectsfrom audio import *import pygameimport time# A message box that speaks or plays some message then waits for confirmationclass simple_message_box: # Object for a text box with a single dismissal action def __init__(self): self.text = '' # The body of the message self.confirmButton = 'ok' # The confirm alert when the message is done self.speakOK = True # True sends the text of the confirm button to the text-to-speech engine: False sends it to the sound device as a file path of a sound to be played self.playSound = False # False sends the contents of the message box to the text-to-speech engine: True sends it to the sound device as a file path to be played # Changes the message contents of the body to text to be spoken or the path of a file to be played def set_text(self, text): self.text = text # Changes the default text of the confirm button (or to the path of a file to be played) def set_confirm_button_text(self, text): self.confirmButton = text # Sets the text body to text to be spoken (False) or the path of a sound to be played (True) def set_is_filename(self, value): self.playSound = value # Sets the confirm button to text to be spoken (True) or the path of a sound to be played (False) def set_speak_ok(self, value): self.speakOK = value def run(self): # Method variables quit = True playOK = 0 # Tells the function when it's time to play or speak the confirm button (0: waiting to be played, 1: play the button, 2: has played the button and is not to play it again) source = play_text(self.text, self.playSound) while quit: time.sleep(.025) # Be kind to processors (This time it also serves to delay the loop from running long enough for the text-to-speech engine to report as active) sound_cleanup() if self.playSound: # This is a sound file if not is_playing(source): # The sound has finished playing if not playOK == 2: # playOK tells the method to speak the confirm button or play a confirm sound when the text or audio message is finished. It will only play if playOK is 1 (setting it to 2 prevents it from triggering multiple times). playOK = 1 else: # This is a block of text if not is_speaking(): # The text-to-speech engine is finished with the text. if not playOK == 2: playOK = 1 if playOK == 1: # Play the confirm sound or speak the confirm button if not self.speakOK: # This is a confirm sound play_sound(self.confirmButton) # Play the sound once else: # This is a text button speak(self.confirmButton) # Speak the confirm button using text-to-speech playOK = 2 # Don't play the confirm button again for e in pygame.event.get(): # Poll the key events if e.type == pygame.KEYDOWN: if e.key == pygame.K_RETURN or e.key == pygame.K_ESCAPE or e.key == pygame.K_SPACE: # Stop the sound/speech and exit the text box regardless if either is finished if self.playSound: # This is a audio message stop_sound(source) # Stop the sound else: stop_speaking() quit = False if e.key == pygame.K_UP: # Replay the contents if self.playSound: if not is_playing(source): # The contents have finished playing