Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - TheVolumeRemote

#1
Quote from: cat on Sun 23/03/2025 18:47:32It's done via typing - you can even prepare your speech in a text editor and paste it line by line.

Okay! Well, if you need a presenter I'm happy to help!
#2
Quote from: Kastchey on Sun 23/03/2025 17:42:18Last call for presenters and streamers... The ceremony starts in less than 2,5h, so if anyone can help, let me know!

Does presenting require video/microphone and is it done through the client? I can likely present for a category I'm not nominated in :)
#3
Quote from: Kastchey on Fri 21/03/2025 07:12:53Let me know if you want to test with Mac, too.

I know it's a little late in the game but if you see this in time, I'd be happy to test the Mac client :)
#4
Quote from: Yanek_Crispbread on Sat 04/01/2025 09:29:56Oh man, I was looking for it to nominate! Wondered where it was. Next year then. Fantastic game by the way!

aw thank you so much for the big smile and consideration :) I'm happy to say, thanks to a few awesome AGS'ers, The Phantom Fellows is now a part of the 2024 awards and can be nominated!
#5
Quote from: The Last To Know on Sat 04/01/2025 19:30:49So, do it Paul!  :-D

Thank you so much my friend! I really appreciate you and I'm happy to say, thanks to you, @heltenjon and @Postmodern Adventures and of course to @AGA I am so excited to say The Phantom Fellows is now in the nominations :)

Thank you all so so much for embodying the spirit of community and rallying together to help me, I am grateful for you all!
#6
For Your Consideration

The Phantom Fellows features observational and situational humor that is incredibly authentic and unique, while also providing heart and satisfying character arcs as well as an overarching story that slowly comes to a boil on the final day. It handles the subject of death with a certain grace, balancing comedy and philosophy in a way that leaves the player with a feeling of satisfaction and fulfillment. Each line of dialog, every pixel, and every musical note has been lovingly crafted by a solo developer who is deeply passionate about adventure games.



I had the best 4 years of my life making this game, and I think you'll be able to tell when you play it! :)



You're invited to explore the world, interact with hundreds of unique hotspots, dozens of characters, and see the dead come to life in The Phantom Fellows!








The Phantom Fellows is about 2 best friends who start a paranormal investigation business together, since one of them is already dead. It has heart, lots of laughter, and provides endless rewards for the player's exploration. Taking place over 7 days, with each day being its own case, you'll take control of Oliver (the breather) and Englebert (the floater), switching between them to utilize their strengths.

Features include:
- A travel map that opens the world, allowing players to revisit previous locations for alternate puzzle solutions and fresh interactions.

- An in-game, dialog-based hint system with a natural, conversational feel, as Englebert plays the role of mentor to Oliver. Hints are delivered one at a time, letting players choose how much or how little help they want.

- Everything is a hotspot: The heart of an adventure isn't in reaching the destination, but in the exploration along the way. Every hotspot has unique and thoughtful responses for both characters!

Come join the adventure and unravel the mysteries of The Phantom Fellows!

Please consider for:
Best Game of the Year
Best Audio
Best Visuals
Best Writing
Best Programming
Best Character (Oliver Cobblestone)
Best Gameplay


#7
Thank you @heltenjon and to @Postmodern Adventures for letting me know, I dropped this ball pretty hard, for some reason I think I thought that marking it complete here in this thread was what I needed to do to be eligible but its completely on me regardless! Thank you both for reaching out and letting me know :)

If I'm not eligible for this year then I'll be grateful to be eligible for next year's awards!

Meanwhile here's the games page!
#8
Quote from: Creamy on Sat 28/09/2024 09:37:14Congrats on the release!
Since I saw the ad for this game on Adventure Gamers for a long time, I assumed it was already out  (laugh)

The premise sounds a bit like the Blackwell series.

Very atmospheric graphics.

Thank you @Creamy ! In the time honored tradition of devs setting wildly ambitious deadlines, I took about 2 years longer than I thought  (laugh) But I made the game I wanted to make and had a blast making it!

Thanks for your support here and the kind comments on the graphics  :)
#9
Quote from: Rik_Vargard on Fri 27/09/2024 23:43:28Oh well, that's a release announcement. All those visuals look fantastic. Loved the trailer. Congratz on the release and never giving up!  (nod)

Thank you so much @Rik Vargard I just downloaded Metro City and am looking forward to checking it out, its incredibly cool looking!
#10
Quote from: heltenjon on Fri 27/09/2024 23:38:50Has it been four years already? I remember playing the demo back then and having a good time with it. Congratulations on the release! I hope for success for you. I'll add the game to my long queue of games to play.  ;)

Thank you much @heltenjon :) It has been 4 of the best years of my life making this game, thank you for playing the original demo which is like a picture of ones self in puberty—I can't even look at it now  (laugh)
#11
Hello everyone!

After nearly 4 years of development, The Phantom Fellows is now available! I've poured my heart and soul into every single line of dialog, every pixel, musical note and line of scripting - and I've had the best 4 years of my life making this game.

If you play, I hope it brings you much laughter and fulfillment :)

GOG
Steam
itch.io
Fireflower
ThePhantomFellows.com



The Phantom Fellows has heart, lots of laughter and provides endless rewards for the players exploration. Taking place over 7 Days, with each day it's own case, you'll be able to take control over Oliver (the breather) and Englebert (the floater), switching between them to utilize their strengths. The game features a travel map that opens the world up, allowing players to travel back to previous locations where they can find alternate solutions to current puzzles and be rewarded with fresh interactions and laughs. There is also an in-game, dialog based hint system which has a very natural, conversational feel since Englebert already plays the role of mentor to Oliver. The hints are delivered one at a time and the player can chose how much or how little help they want.

The Phantom Fellows features observational and situational humor that is incredibly authentic and unique, while also providing satisfying character arcs, an over-arcing story that slowly comes to a boil for the final day and it handles the subject of death with a certain grace that balances comedy and philosophy in a way that leaves the player with a feeling of satisfaction and fulfillment. Each and every single line of dialog, every pixel and musical note was shown love and care in a way that only a solo developer in love with adventure games can provide.

You're invited to explore the world, interact with hundreds of unique hotspots, dozens of characters and see the dead come to life, in The Phantom Fellows!









#12
Solved, thanks again to @edenwaith for help and support.

If you want to download this tutorial including how to compile your own Mac App Bundle and all needed files (except GOG API library for legal reasons) you can find step by step instructions for porting your AGS game to Mac and for preparing it for GOG Galaxy and Steam, with working Achievements, HERE

The key to getting your game to work on Galaxy with achievements and without triggering Mac's Gatekeeper security, is you actually want to do less, not more (than Steam). You don't want to Notarize or Staple, or even sign your App Bundle. Signing the .app bundle seals it, the issue being GOG injects auto-generated files into .app/contents/resources and if your .app bundle as a whole is signed, GOG will break the seal, leaving the .app "tampered with" which sets off Gatekeeper, which tells the user Mac won't launch the game and suggests they throw it away.

You do need to sign your dynamic library files (dylib) for the AGS2Client plug-in and the Galaxy API. It doesn't look like you need to sign your executable however this guide does sign it because it works signed/doesn't hurt.

1. Right click YourGame.app > show package contents > Contents > Resources

   - Rename game.ags to ac2game.dat

2. In your computers Home Directory (~/ ) place:

   - YourGame.app
   - prepare_app_bundle_GOG.sh
   - entitlements.plist
   - libagsgalaxy.dylib
   - libGalaxy64.dylib

3. Right click YourGame.app > Contents > MacOS

   - Drag your games executable (unless renamed it is called AGS) into your home directory ( ~/ )
   
4. Place a copy of libGalaxy64.dylib on your Desktop.

5. Open Terminal. Make helper script executable, Run:

chmod +x prepare_app_bundle_GOG.sh

6. Next run the helper script that will sign the dylibs and executable. Run:

./prepare_app_bundle_GOG.sh

7. Right click YourGame.app  > Contents > Resources
In a separate window open your home directory.
DRAG (do not copy) into Resources:

   - libagsgalaxy.dylib
   - libGalaxy64.dylib

8. Navigate to YourGame.app  > Contents > MacOS

   - From home directory, DRAG your executable into MacOS
   - From Desktop, DRAG libGalaxy64.dylib into MacOS

9. Let's check everything.

Run:
Code: ags
codesign -dv --verbose=4 ~/Your\ Game.app
You want to verify that you see:

Sealed Resources=none

This means your app bundle isn't sealed, so GOG can pace their generated hashdb and .info files in the app bundle without flagging Gatekeeper.

Next you can check your dylibs and make sure they are signed with your Developer ID.
Code: ags
codesign -dv --verbose=4 ~/Your\ Game.app/Contents/Resources/libagsgalaxy.dylib
codesign -dv --verbose=4 ~/Your\ Game.app/Contents/Resources/libGalaxy64.dylib
codesign -dv --verbose=4 ~/Your\ Game.app/Contents/MacOS/libGalaxy64.dylib
Each should return output that includes:

Authority=Developer ID Application: Your Name (XXXXXXXXXX)

10. Now your app bundle is ready to upload to GOG Build Creator.

You can make your own prepare_app_bundle_GOG.sh with this script:
Code: ags
#!/bin/bash

# Define paths
HOME_DIR=~
DESKTOP_DIR=~/Desktop
ENTITLEMENTS_PLIST=~/entitlements.plist
CERTIFICATE="Developer ID Application: Your Name (XXXXXXXXXX)"

# Paths for the files
EXECUTABLE_PATH="${HOME_DIR}/AGS"
LIBGALAXY64_PATH="${HOME_DIR}/libGalaxy64.dylib"
LIBAGSGALAXY_PATH="${HOME_DIR}/libagsgalaxy.dylib"
DESKTOP_LIBGALAXY64_PATH="${DESKTOP_DIR}/libGalaxy64.dylib"

# Code sign the executable and dylibs
echo "Signing the main executable..."
codesign --force --sign "$CERTIFICATE" --timestamp --entitlements "$ENTITLEMENTS_PLIST" "$EXECUTABLE_PATH"

echo "Signing the libGalaxy64.dylib in the home directory..."
codesign --force --sign "$CERTIFICATE" --timestamp --entitlements "$ENTITLEMENTS_PLIST" "$LIBGALAXY64_PATH"

echo "Signing the libagsgalaxy.dylib in the home directory..."
codesign --force --sign "$CERTIFICATE" --timestamp --entitlements "$ENTITLEMENTS_PLIST" "$LIBAGSGALAXY_PATH"

echo "Signing the libGalaxy64.dylib on the desktop..."
codesign --force --sign "$CERTIFICATE" --timestamp --entitlements "$ENTITLEMENTS_PLIST" "$DESKTOP_LIBGALAXY64_PATH"

echo "All files have been signed successfully."

And you can make the entitlements.plist with this:
Code: ags
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>com.apple.security.cs.allow-dyld-environment-variables</key>
    <true/>
    <key>com.apple.security.cs.disable-library-validation</key>
    <true/>
</dict>
</plist>

It's been a wild few weeks getting everything to work on Galaxy and Steam with achievements. And by wild I mean largely terrible, with fleeting moments of glory.

Anyway I'm feeling fulfilled knowing there's some step-by-step instructions on the forums for this now, I really hope this helps people :)
#13
(Large Edit, reorganizing and focusing on MacOS)

While I have the Windows build working in Galaxy Client, I can't get the Mac build to even connect with Galaxy at all, no overlay, no time-played tracking- nothing.

I suspect something is blocking my signature bc Galaxy says my build is from an unknown developer when I did sign, notarize and staple the app as well as sign the dylibs before hand. Oddly enough Galaxy also says A Golden Wake and Strangeland is also unverified.

Here's the entitlements.plist that Hob's Barrow uses and it works for them:
Code: ags
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>com.apple.security.cs.allow-dyld-environment-variables</key>
    <true/>
    <key>com.apple.security.cs.disable-library-validation</key>
    <true/>
</dict>
</plist>

I'm trying different dylibs to the same result but from what the other AGS games on GOG are doing, like Hob's Barrow, I'm mostly using
Code: ags
libagsgalaxy.dylib
libGalaxy64.dylib
with libGalaxy64.dylib in both Resources and Contents. Sometimes I try libGalaxy.dylib which is newer, to no difference.
#14
Quote from: eri0o on Thu 20/06/2024 09:19:44Heads up to people using agsshell...

Edit: I updated my instructions with a new script and steps which excludes libagsshell.dylib and confirmed works :)

Thanks Eri0o, I probably don't need it but I couldnt find a single AGS game on Steam that wasn't using it and I got it in my head that it could help. And after 24 builds and dozens of hours on this the past 2 weeks, I didn't have it in me to start deducing what I didn't need and posted this guide so at least there's finally some documentation and instructions that will work for people.

After some time away from this I'll possibly try it without agsshell and assuming it still works I'll revise the tutorial :)
#15
Edit: Removed unnecessary libagsshell.dylib from steps and helper script. cmake will now build a universal binary for Mac Intel & Silicon (thanks again to @edenwaith ). Download also updated with new helper script.

Edit 2: If you want to download this tutorial including how to compile your own Mac App Bundle and all needed files (except GOG API library for legal reasons) you can find step by step instructions for porting your AGS game to Mac and for preparing it for GOG Galaxy and Steam, with working Achievements, HERE

Got it working :-D Huge thanks to @edenwaith I wouldn't have gotten this without him. In hopes this helps somebody someday, here are the exact steps to follow and a download of the dylibs that worked for me because compiling my own and others I had tried didn't work. Note there are definitely superfluous steps in here but I'm not sure what isn't needed and I know it works as instructed.

Compile AGS Game for MacOS with Steam Achievements
--------------------------------------------------

In Windows:

- On the AGS side, before having AGS compile your game, place the .dylib files in you game's project folder, wherever you put the dll's. I put them in all the folders, my game's main project folder, the game's _Debug folder, the game's Compiled folder and in the main AGS folder.
- Compile the game within AGS
- In your game's project folder go to Compiled. You want the Data folder.

Switch to macOS:

Open Terminal, install Homebrew:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Install cmake:

Brew install cmake

Download AGS-Master from git hub, run:

git clone https://github.com/adventuregamestudio/ags.git

Open your game's Data folder and copy contents.

Open AGS-master, Go to OSX > Resources

Paste your game files there. Rename your GameTitle.ags to game.ags

Right/Control click on AGS-master folder

Select Services > New Terminal at Folder

Build .app, Run this:

Code: ags
export BUILD_TYPE=Release
mkdir build_$BUILD_TYPE
cd build_$BUILD_TYPE
cmake -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DCMAKE_OSX_ARCHITECTURES="x86_64;arm64" ..
make

- This will build the executable `AGS.app` in `the build_Release/` directory within ags-master.
- Go there, Rename AGS.app to your game's name and move the .app to you computer's home directory (Finder bar > Go > Go to Folder, type: ~/

-To access contents of the app bundle, right click on it > show package contents.

1. Edit steam_appid.txt put your games App ID in and save it.

1b. Edit info.plist, change bundle ID to com.YourWebsite.YourGame

2. In your computers ~/ home directory place:

    - Your Game.app
    - prepare_app_bundle.sh
    - entitlements.plist

3. Right click Your Game.app > show package contents > Contents > MacOS.

In MacOS, place:

libsteam_api.dylib

3b. Right click Your Game.app > show package contents > Contents > Resources.

In Resources, place:
 
steam_appid.txt
libagsteam.dylib
libagsteam-unified.dylib
libsteam_api.dylib (yes, here as well)

Next, Rename game.ags to ac2game.dat

4. Open Terminal. Make .sh executable:

chmod +x prepare_app_bundle.sh

4b. Then run the signing script for dylibs and entitlment.plist:

./prepare_app_bundle.sh

5. Zip App for Notarization:

zip -r "Your Game.zip" "Your Game.app"

6. Head to https://appleid.apple.com and generate an "app specific password". Use it in the step below in place of xxxx-xxxx-xxxx-xxxx

6b. Submit for Notarization:

xcrun notarytool submit "Your Game.zip" --apple-id YourAppleIDicloud.com --password xxxx-xxxx-xxxx-xxxx --team-id XXXXXXXXXX --wait

7. Staple the Notarization Ticket:

xcrun stapler staple -v "Your Game.app"

7b. Verify Staple:

xcrun stapler validate "Your Game.app"

7c. You can now delete the .zip was made to notarize it.

8. Create a folder and place Your Game.app in it. Right click the folder, select new terminal at folder.

Run this to zip the .app and to remove Mac forks (like DS_Store)

zip -r Your\ Game.zip  . -x ".*" -x "__MACOSX"

----------------------------------------------------------------------

Make your own entitlements.plist:

Open TextEdit

Paste this:

Code: ags
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>com.apple.security.cs.disable-library-validation</key>
    <true/>
    <key>com.apple.security.cs.allow-dyld-environment-variables</key>
    <true/>
    <key>com.apple.security.network.client</key>
    <true/>
    <key>com.apple.security.cs.allow-jit</key>
    <true/>
    <key>com.apple.security.cs.allow-unsigned-executable-memory</key>
    <true/>
    <key>com.apple.security.cs.allow-executable-memory</key>
    <true/>
</dict>
</plist>
Rename file to entitlements.plist

Save, place in your home directory ~/

---------------------------------------------------------------------------------
Make your own prepare_app_bundle.sh:

Open TextEdit

Paste this, replacing 'Your Game' and 'Your Name' and (XXXXXXXXXX) with your game's name and your Apple Dev Team ID:

Code: ags
#!/bin/bash

# Define paths
APP_NAME="Your Game"
APP_DIR=~/Your\ Game.app
RESOURCES_DIR="${APP_DIR}/Contents/Resources"
MACOS_DIR="${APP_DIR}/Contents/MacOS"
ENTITLEMENTS_PLIST=~/entitlements.plist
CERTIFICATE="Developer ID Application: Your Name (XXXXXXXXXX)"
EXECUTABLE_NAME="ags"

# Update install_name for each .dylib in Resources
install_name_tool -id "@executable_path/../Resources/libagsteam.dylib" "${RESOURCES_DIR}/libagsteam.dylib"
install_name_tool -id "@executable_path/../Resources/libsteam_api.dylib" "${RESOURCES_DIR}/libsteam_api.dylib"
install_name_tool -id "@executable_path/../Resources/libagsteam-unified.dylib" "${RESOURCES_DIR}/libagsteam-unified.dylib"

install_name_tool -change "@loader_path/libagsteam.dylib" "@executable_path/../Resources/libagsteam.dylib" "${MACOS_DIR}/${EXECUTABLE_NAME}"
install_name_tool -change "@loader_path/libsteam_api.dylib" "@executable_path/../Resources/libsteam_api.dylib" "${MACOS_DIR}/${EXECUTABLE_NAME}"
install_name_tool -change "@loader_path/libagsteam-unified.dylib" "@executable_path/../Resources/libagsteam-unified.dylib" "${MACOS_DIR}/${EXECUTABLE_NAME}"

# Update install_name for libsteam_api.dylib in MacOS
install_name_tool -id "@executable_path/libsteam_api.dylib" "${MACOS_DIR}/libsteam_api.dylib"

# Code sign the .dylib files in Resources
codesign --force --options runtime --entitlements "$ENTITLEMENTS_PLIST" --sign "$CERTIFICATE" "${RESOURCES_DIR}/libagsteam.dylib"
codesign --force --options runtime --entitlements "$ENTITLEMENTS_PLIST" --sign "$CERTIFICATE" "${RESOURCES_DIR}/libsteam_api.dylib"
codesign --force --options runtime --entitlements "$ENTITLEMENTS_PLIST" --sign "$CERTIFICATE" "${RESOURCES_DIR}/libagsteam-unified.dylib"

# Code sign the additional libsteam_api.dylib in MacOS
codesign --force --options runtime --entitlements "$ENTITLEMENTS_PLIST" --sign "$CERTIFICATE" "${MACOS_DIR}/libsteam_api.dylib"

# Code sign the main executable
codesign --force --options runtime --entitlements "$ENTITLEMENTS_PLIST" --sign "$CERTIFICATE" "$MACOS_DIR/$EXECUTABLE_NAME"

# Code sign the entire app bundle
codesign --force --options runtime --deep --entitlements "$ENTITLEMENTS_PLIST" --sign "$CERTIFICATE" "$APP_DIR"

echo "App bundle signed successfully."


Rename file to prepare_app_bundle.sh

Save, place in your home directory ~/

------------------------------------------------------------------------------------

download dylibs, prepare_app_bundle.sh and entitlements.plist HERE

#16
I am so happy to report this fixed it! I had zero issues creating and launching a template with this replacement DLL. Thank you so much :)
#17
CW if these warning aren't enough direction to fix this, I'll send you my games template, just a heads up it's a gigantic 2.5gb file. I'll upload it asap and have it ready to DM you :)
#18
I'm so happy to see you're making progress, I'm pulling my no-hair out w AGS2Client right now. It looks like I'll need to use that bc my games release date is fast approaching and more so, you had mentioned building for Steam at first (wise) and luckily, it looks like I will definitely need to build for GOG as well.

I'm still excited for your new plug-in, even if I have to wait for my next game to use it because again AGS2CLient and it's incredible lack of documentation and direction, is driving me insane right now on the Mac port side of things.

Anyway, you've still got one dinner on me when you want it, regardless :)
#19
Hi all! I'm struggling to get achievements to trigger during game play, only on my Mac build.

Can someone break down exactly what dylib files I need and where to put them and at what point in the build process do I put them there?

I'm using AGS2Client so it's jointed. I use cmake to build my Mac ports from the ags-master folder by putting my Data files in OSX > Resources. I rename the .ags file game.ags as standard practice and then terminal-at-folder:

Code: ags
export BUILD_TYPE=Release
mkdir build_$BUILD_TYPE
cd build_$BUILD_TYPE
cmake -DCMAKE_BUILD_TYPE=$BUILD_TYPE ..
make

Previously I'd next sign and staple it. But for achievements, after compiling w cmake, I now add to Contents/Resources:

steam_appid.txt (with my games App ID)
libsteam_api.dylib
libagsteam.dylib
libagsteam-unified.dylib

- I got libsteam_api.dylib from Steam's latest SDK and I got the other dylib's from monkies repo or git
- I'm signing the dylibs I've placed in Resources separately and before signing the entire app.
- Before cmake, when I have AGS compile the game, I have also placed the dylibs in my project folder's root and in _Debug folder.

From my own Steam library I see some games use agsteam.dylib instead of libagsteam.dylib. No idea why. Newer games such as Hob's Barrow and Old Skies Demo use libagsteam.dylib so that's what I'm using (I did try agsteam.dylib at some point)

Additionally, no other game on Steam uses "game.ags" as the exe, they use "ac2game.dat" so I began trying with my executable named as "ac2game.dat" which made no difference- it still compiles, runs and does not trigger achievements.

Lastly, I'll be building for GOG next so if anyone responding has done both, I'd also greatly appreciate the same info for Galaxy, what dylibs, where and at what point in the process do I put them there.

Thank you for any help :)

PS - @Dualnames if you're around I'd be super grateful for any pointers or tips, I think you recently ported Hob's?
#20
[ moved to here ]
SMF spam blocked by CleanTalk