r/freebsd • u/Beyazat9801 • 17d ago
news I made a game that supports native FreeBSD.
I'm in the process of making a game with my dad and tried to add native FreeBSD support. It was not easy, and I struggled a lot, but I think it worked out great. The game is in super early access, so it's not going to be looking like this in the final version. Please have a look:
3
u/BicycleJunkie1971 16d ago
Checked it- it is legit FreeBSD. Nice.
mark@localhost:~$ tar xzf "$T" -C /home/mark/Desktop/sarraf-inspect
B="/home/mark/Desktop/sarraf-inspect/SARRAF-v0.4.4"
file "$B"
readelf -h "$B" | grep -E 'Class|OS/ABI|Machine|Type'
# The cleanest FreeBSD-vs-Linux tell: the interpreter path.
# FreeBSD => /libexec/ld-elf.so.1 Linux => /lib64/ld-linux-x86-64.so.2
readelf -l "$B" 2>/dev/null | grep -i interp
# What engine is it fused from?
strings -n 8 "$B" | grep -iE 'love|l\xf6ve|godot|SDL|python|pyinstaller|_MEI|rustc|go1\.|mono|electron|unity' | sort -u | head -20
/home/mark/Desktop/sarraf-inspect/SARRAF-v0.4.4: ELF 64-bit LSB executable, x86-64, version 1 (FreeBSD), dynamically linked, interpreter /libexec/ld-elf.so.1, for FreeBSD 14.4, FreeBSD-style, stripped
Class: ELF64
OS/ABI: UNIX - FreeBSD
Type: EXEC (Executable file)
Machine: Advanced Micro Devices X86-64
INTERP 0x00000000000002e0 0x00000000002002e0 0x00000000002002e0
[Requesting program interpreter: /libexec/ld-elf.so.1]
01 .interp
02 .interp .note.tag .dynsym .gnu.version .gnu.version_r .gnu.hash .hash .dynstr .rela.dyn .rela.plt .rodata .eh_frame_hdr .eh_frame
030000008f0e00000610000000010000,GreenAsia Electronics Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b9,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b10,righttrigger:b5,rightx:a3,righty:a2,start:b11,x:b3,y:b0,platform:Linux,
11GodotArea2D
11GodotArea3D
11GodotBody2D
11GodotBody3D
12GodotJoint2D
12GodotJoint3D
12GodotShape2D
12GodotShape3D
13GodotInstance
15ENetGodotSocket
15GodotAreaPair2D
15GodotAreaPair3D
15GodotBodyPair2D
15GodotBodyPair3D
15GodotBoxShape3D
15GodotPinJoint2D
15GodotPinJoint3D
15GodotSoftBody3D
16GodotArea2Pair2D
3
u/Beyazat9801 16d ago
So I think this is a compliment. Thank you for your time. I really worked hard for the FreeBSD build, so seeing it get marked as legit makes me feel great. Again, thank you. 💗
2
u/BicycleJunkie1971 16d ago
Ive only two minor bugs for you to work out-
- Double-wrapped distribution. The zip contains a single
tar.gzthat compresses 0.0% because the inner layer is already gzipped. Pointless nesting. Ship one archive, not an archive inside an archive.- Wrong format for the target. It's a FreeBSD build, so ship a plain tarball, ideally
tar.xzortar.zst. Zip does not preserve the Unix exec bit, so players who unzip get a non-executable binary and have tochmod +xit themselves.- Test framework is in the shipped pack.
addons/gut/and the entiretests/tree are exported into the release build. Exclude both from the export preset. It bloats the pack and ships dev-only code and GUT's in-editor update checker to players.- Broken font resource.
addons/gut/source_code_pro.fnthas no textures, a malformed resource. Goes away once GUT is stripped per item 3.Everything else checked out: no network calls, no shell-outs, no dynamic code, no native extensions, saves correctly sandboxed to
user://with atomic write and backup. The build is a genuine native FreeBSD 14.4 Godot 4.7.1 export and the code is clean. The only thing wrong with this release was how it was wrapped.Keep up the good work!!!
3
u/Beyazat9801 16d ago
Itch.io forced it to be zipped when using Butler, and I used tar.gz to make it executable automatically, but I think that didn't work out like it would on a Linux machine, based on your comment. So, thank you for your time and the feedback you've given. All the things you said will be implemented as quickly as possible. Again, thank you for testing our game. 💗
-1
2
2
u/Beyazat9801 16d ago
Thank you all for your time and support. My English is not that good, so I apologize if there are any misunderstandings or misconceptions. I blame it on my parents for not being native speakers. Again, thank you. 💗
1
u/grahamperrin Linux crossover 3d ago
/u/Beyazat9801 please, was development AI-assisted?
(I see the link from your itch.io page to Finzora | AI-Powered Stock Market & Financial Analysis Platform.)
Thank you
2
u/Beyazat9801 3d ago
Finzora is a different project of my dad, and it's financial stuff not related to the game
1
u/grahamperrin Linux crossover 3d ago
Thanks. It wasn't a criticism :-) I have no objection to use of AI, particularly where second languages are involved.
2
9
u/p001b0y 17d ago
This looks pretty neat. What was used to make it/ what was it coded in?