daelsepara / legendary-kingdoms

An Implementation of Legendary Kingdoms gamebook series in C++ and SDL. Only book 1, The Valley of Bones has been implemented as of now.
GNU General Public License v3.0
6 stars 2 forks source link

Instructions to install/compile/run the legendary-kingdoms game from github repository? #3

Open ribbybbir opened 11 months ago

ribbybbir commented 11 months ago

I see your projects are coming along. However, I do not see instructions for installation or compilation.

I do see a page for AppImage file format. https://www.appimagehub.com/p/1591035

Do you endorse using AppImage files? How about Flatpak/Flathub repositories? Of course, Wine compilation can work too.

daelsepara commented 11 months ago

Hi,

Thank you for your interest. I support AppImage but I have not updated any releases for a long time.

You're right in that the I have not written any compile instructions. Apologies for that. A Makefile is on the src directory and it should suffice to issue a 'make' command provided all the sdl2 libraries (and dependencies) are in place.

I lost my AppImage generation scripts when my linux dev machine crashed so I need to recreate it.

Sincerely

ribbybbir commented 11 months ago

Thank you for your reply.

I know what compiling source code into a program is the linux norm. However, the trouble is to find the dependencies. Sometimes, they are not support on the repository, which is sad news. Do you happen to list the dependencies somewhere?

I know it could be a pain, but I look forward to AppImage file formats for all applicable gamebooks. It wouldn't hurt (much) to post a listing that groups gamebook projects together. The grouping can be helpful for organizational purposes.


Maybe the works from http://ffproject.com/ (sorry, no SSL certificate in place) could be of some use. Legendary Kingdom is something else with exploration and ocassional random events. Is it true that the game takes more than months to complete or whatnot? I read that it does, but I couldn't be sure of that exaggeration.

ribbybbir commented 5 months ago

https://wiki.libsdl.org/SDL2/Installation#linuxunix

Followed library installation advice, installed the dependencies for SDL2 library. So far, I was able to successfully run the directory stuff, configure, make, and cmake commands (and parameters [if applicable]). I was able to run a few hardware supported tests with the c programs (the ones with the green diamond icon).

https://github.com/daelsepara/legendary-kingdoms/

So I am now able to install all the required dependencies as mentioned in the .yml configuration file. I did navigate to the src directory as instructed. I tried to run the make command, and the error report told me about an error in terms of directory. I also read something about .exe, which is a windows/wine type executable. I wouldn't mind for a linux type .c/.o/.app/etc file format. If I was to use .exe, I would use a flatpak/flathub version of wine. Regardless, I usually used virustotal.com malware scans, just more on .exe. In fact, I try to flatpak/flathub sandbox everything as I could!

EXAMPLE ERROR OUTPUTS:

rm -f *.exe *.o
clang++ LegendaryKingdoms.cpp -O3 -std=c++17 -lSDL2 -lSDL2_image -lSDL2_ttf -lSDL2_mixer -lstdc++fs /set/user/Downloads/sdl-legendary-kingdoms-main/src/ -o LegendaryKingdoms.exe
make: clang++: No such file or directory
make: *** [Makefile:19: legendary-kingdoms] Error 127
rm -f *.exe *.o
clang++ OnceUponATimeInArabia.cpp -O3 -std=c++17 -lSDL2 -lSDL2_image -lSDL2_ttf -lSDL2_mixer -lstdc++fs /set/user/Downloads/sdl-arabia-main/src/ -o OnceUponATimeInArabia.exe
make: clang++: No such file or directory
make: *** [Makefile:19: arabia] Error 127

Most of the time, I usually see configure, make, and cmake commands. For these gamebooks, I don't see the usually files at hand.

You gotta give me a hint on how to work out these custom interactive fiction modules. Since you said that they aren't stand alone games, I suspect that a certain library or source port can run the modules. What am I missing to get these games working? The appimage version of Legendary Kingdoms shows dedication to the gamebook design. I spend plenty of time working out the rpg to the point that I can roam on the desert terrain. Yes, I recognize that Legendary Kingdoms may differ from other gamebooks, since I played the appimage version.

As for the ZIL engine/framework, I say to forget about it. I'm pretty sure it's still a good engine. Its lack of TUI/GUI representation would restrict its view to text. If a map needs to be drawn and etc, we can run into problems solved by pen and paper maps. Anyways, I like that interactive fiction in how it works out on views. Paper gamebooks may show spoiler by adjacent pages, but is also fun, but derides from the game design.


As for just getting the game to work at the basic user level, I just found out about the releases subdirectory! Why not let people know about it on the README.md? How about making a list of applicable gamebook appimages at the bottom of the README.md or even your profile page? While I can't say appimage is secure as flatpak/flathub, I can vouch for its offline compatibility.

daelsepara commented 5 months ago

Hi. Thanks for your feedback. I truly appreciate it. Unfortunately, I haven't gotten back to this project in what feels like forever. I can understand the frustration. I had not realized at that time, how specific or fragile make files can be, especially since I have not implemented the usual config script which normally generates it (like a lot of typical linux apps).

The default compilers for most linux distrubtions is gcc. On my macbook where I spent most of the time coding these game books, it was the clang compiler set. One quick change you can try is replacing clang++ with g++. In the three years since these I've released these digital gamebooks, it hasn't garnered much interest so I kind of left them as is, bugs and all.

In your other message, you touched upon the ZIL/text based versions. Compared to these graphical ones, I am a bit more partial towards the simplicity of the text-based gamebooks. They're a bit more portable and easier to implement than these SDL-powered apps. That may also be the reason why, I'm finding less motiviation to revisit and fix linger bugs/lack of features. So I hope using gcc compiler set or installing clang on your development machine willl get these things to compile.

I apologize if I sound less than helpful and/or unenthusiastic about my own work.

ribbybbir commented 4 months ago

As time goes on, I am getting the feeling that simplicity is probably better in the long run. With more complexity, more errors can occur.

I decide to back off of GUI development, since I have enough problems dealing with compiled SDL libraries that just sit in my computer. Nice test though, but maybe it's overrated for a gamebook?

For people who might be stuck with these libraries and wanted to uninstall them and their dependencies. I should probably take note about make uninstall and make clean command (configure and make command required). https://wiki.libsdl.org/SDL2/Installation#linuxunix https://askubuntu.com/questions/87111/if-i-build-a-package-from-source-how-can-i-uninstall-or-remove-completely

cd build ../configure (programs) make (programs) make uninstall (programs) make clean (programs) apt-get --purge remove libsdl2-dev (dependencies) apt-get --purge remove libsdl2-2.0-0 (dependencies) apt autoremove (dependencies)