Linux Air Combat

Linux Air Combat

Postby bbosen » 09 Feb 2018, 14:56

I've spent almost 3 years developing "Linux Air Combat" (also known as "LAC"), a free, open-source, real-time, "out-the-cockpit view", 3d, networked, multi-player, flight sim for LINUX featuring more than 50 historic aircraft from World War II. The sofware is written in c++, based on opengl 1.2 and many of the graphic routines from the classic old "gl-117" flight game by Tom Drexl. LAC also includes a very robust (but optional) interface to the free, well-known "Mumble" VOIP application, and our little LAC community uses Mumble to organize multi-player missions. The source code is clean and unusually well organized, so it is VERY easy to compile on all of the major LINUX desktop distros. It usually compiles in less than a minute, and with absolutely no source-code changes necessary. (It does, however, require several well-known, free, industry-standard libraries in support of the opengl graphics and sound.)

Here's a screenshot:

Image

The main web site for LAC includes download instructions, full source code, and YouTube videos showing EXACTLY how we compiled it on Linux Mint, and "Ubuntu" Linux. It's here:

http://askmisterwizard.com/FlightSimMov ... llPage.htm

And here's a YouTube video playlist with a comprehensive review:

https://www.youtube.com/playlist?list=P ... wKwgjddHqm

The 3d graphic aircraft models are in the well-known, classic ".3ds" format, and I use "Blender" to create or edit them. I'm not very good with Blender, though, so I am hoping to get some help to make them better.

I'm also looking for feedback from people willing to test and compile LAC using the tools described on the web site referenced above.
bbosen
 
Posts: 14
Joined: 09 Feb 2018, 14:22

Re: Linux Air Combat

Postby Lyberta » 10 Feb 2018, 21:04

Deleted.
Last edited by Lyberta on 01 Oct 2021, 06:50, edited 2 times in total.
Lyberta
 
Posts: 765
Joined: 19 Jun 2013, 10:45

Re: Linux Air Combat

Postby bbosen » 10 Feb 2018, 23:11

Lyberta,

Well, I didn't interpret your reply as harsh. Thanks for your help. I'm an old "C" hack and although I can muddle through with C++, all of my experience was with "C" down at the lowest levels, many years ago. I've been trying to "dust off" my skills and I appreciate any help I get as I try to make this stuff robust.

Putting together a simple, conventional "make" file is on my short-term bucket list so that those that don't like CodeBlocks will have an easier time.....

"Time...." that's the issue for me and everybody else....

Saludos,
bbosen
 
Posts: 14
Joined: 09 Feb 2018, 14:22

Re: Linux Air Combat

Postby asdv » 11 Feb 2018, 09:15

It looks really nice bbosen!
It compiles just fine on Ubuntu 16.04 if you have all the dev libs that are listed on your website installed.
I did run into some problems:
1. Changing resolution above 800x600 and setting fullscreen causes the game to crash for me. The resolution 1024x800 is not listed in the config file but can be set from the game. Going in manually in the config file and setting 1024x768 works though. Could be my computer.
2. There’s some bug that’s happened were there’s no missiles available in a mission even if it says missile pack selected on the start screen. Not sure how it happened but if you start one mission, press escape and then try to select another one the graphics for both the airplane and the missiles are gone. Not sure if related?
3. Changing the throttle doesn’t appear to work with just a keyboard and mouse, so you need a joystick? I couldn’t find anything in the keyconfig file either. It would be nice if there was a way to play without a joystick.
Otherwise it plays really well though. I like that there’s tutorials with voice over to get you started.
Are you the only dev working on it or are any of the gl-117 people still around?
asdv
 
Posts: 19
Joined: 30 Mar 2014, 15:55

Re: Linux Air Combat

Postby bbosen » 11 Feb 2018, 13:56

asdv,

I'm thrilled at your report. I just wrote you a detailed response, but it got lost in the Internet netherworld somewhere and I've run out of time just now, so I will get back to you on most of your points. However, I did discover that the secret to throttle up/down when you don't have a joystick is to use the "[" and "]" keys, respectively. I hard-coded those for friends that fly with just a mouse, and (as you observed) I had forgotten to include that in the menus or documentation. I will need to fix that (along with several other things to be described when I can get back to this board).

Thanks!
bbosen
 
Posts: 14
Joined: 09 Feb 2018, 14:22

Re: Linux Air Combat

Postby bbosen » 11 Feb 2018, 15:06

asdv,

I've found a few minutes to get back to you. I want to respond to your first point right now (more to come later). You wrote:

"Changing resolution above 800x600 and setting fullscreen causes the game to crash for me. The resolution 1024x800 is not listed in the config file but can be set from the game. Going in manually in the config file and setting 1024x768 works though. Could be my computer."

I have ten different PCs in my lab that I use for development and testing, and one of them behaves a lot like yours. The resolutions listed (both in the game and in the LacConfig.txt file) are just suggestions, based on what your hardware detects and on experience from others. You can actually set any resolution you want to try from within the LacConfig.txt file. If you also designate "Full Screen" mode, then your display driver and hardware will try to stretch the resolution that you designate across your entire screen, using "best efforts" logic from deep within the bowels of opengl. Sometimes this works well, but not always. I've found that many of the settings do work, but yield funny aspect ratios and/or suboptimal frame rate. Nevertheless, with experimentation, I have always been able to find a full-screen setup that works on each specific computer. Your mileage may vary. In many cases, the best answer is just to turn off "Full Screen" mode and designate the specific resolution that you want by directly editing the two associated fields in the LacConfig.txt file. That way, you can fill as much or as little of your display area as you want. It's trivial to fill all of the useful space this way, and in my experience, you always get the correct aspect ratio this way.

I hope this helps. I'll get back to you on your other points as time permits. Thanks for your input. It's fun to get such useful feedback as I am getting from this forum.
Last edited by bbosen on 13 Feb 2018, 13:51, edited 1 time in total.
bbosen
 
Posts: 14
Joined: 09 Feb 2018, 14:22

Re: Linux Air Combat

Postby Lyberta » 11 Feb 2018, 15:52

Deleted.
Last edited by Lyberta on 01 Oct 2021, 06:50, edited 1 time in total.
Lyberta
 
Posts: 765
Joined: 19 Jun 2013, 10:45

Re: Linux Air Combat

Postby bbosen » 11 Feb 2018, 16:14

Thanks Lyberta. I appreciate those pointers. Obviously I will need some time to catch up with the fundamentals inherent in the necessary modernization. I've pretty much finished adding "features" to the sim now, and I've set aside this year (2018) to get it robust, ready for prime-time distribution, and into repos, etc. I'll be educating myself to the best of my aging abilities along the lines you suggested (unless some really patient soul decides to join in and help me modernize the code).
bbosen
 
Posts: 14
Joined: 09 Feb 2018, 14:22

Re: Linux Air Combat

Postby bbosen » 13 Feb 2018, 13:12

asdv,

You also observed that "There’s some bug that’s happened were there’s no missiles available". Yes, that's a bug and I haven't found the cause yet. You never see this bug the first time you fly a mission, but it's always present after completing at least one mission in the same session. (As it turns out, missile availability in the actual missions is unaffected, but you can't see associated little images visually in the setup menus. Actually, the entire menu system, inherited from the legacy roots of the project, is kind of a mystery to me.) As you suspected, this bug and the similar one that obscures menu display of aircraft are related. In both cases, the menus fail to display the artwork (for missiles and for aircraft) after the real-time 3d flight engine has been used to fly a mission. However, the associated menu text IS displayed, and the associated menu choices actually do affect mission setup as you would expect. It seems that the real-time, 3d rendering of aircraft and missiles during the missions is somehow confusing the subsequent, static menu image display logic. I know this makes it cosmetically disappointing to navigate the menus after completing a mission. The best workaround is just to exit and re-start the sim after each mission.

You also asked "Are you the only dev working on it....?" Yes, it's just me. I tried to contact Tom Drexl (primary author of gl-117) but I never heard back from him. I hope he's OK and blessing some other project with his prodigious talents. :)
bbosen
 
Posts: 14
Joined: 09 Feb 2018, 14:22

Re: Linux Air Combat

Postby asdv » 18 Feb 2018, 20:09

bbosen: I think the problem with the resolution was with my computer. I forgot that my native res is 1366x768 so setting something like 1024x800 where the vertical res is greate than the native one was likely the problem.
Being the only dev could be tough since it’s a large code base, 48000 lines or so. You might be able to get some help with blender on blendswap.com where there’s a request page. If you just want some basic models or touch ups. Blender is a pretty awful program to use so I can sympatise. Though the models look good enough as it is.
Unfortunately I’m short on time myself so I can’t contribute.
asdv
 
Posts: 19
Joined: 30 Mar 2014, 15:55

Re: Linux Air Combat

Postby bbosen » 18 Feb 2018, 23:11

asdv: Thanks. It sounds like you've found a display resolution setting with which your hardware is happy. I'm glad about that.

Thanks for the kind opinion on the aircraft 3d models. "good enough" is what I was targeting.

I've been playing around with Blender quite a bit during the past couple of weeks and I've begun a new little library of replacement .3ds models that I will publish as an "optional" upgrade package so people can replace the basic, quick-rendering .3ds aircraft models with prettier ones if they have hardware of sufficient power. I haven't published any of these yet, but I will soon be prepared with vastly improved versions of Mitsubishi's A6M2 and A6M5 "Zero", of the Supermarine Spitfire Mk5 and Spitfire Mk9, of the Vought F4u Corsair, and of the HQ airfield facilities. When I'm ready to publish those improvement, I'll alert everybody through this thread. (Several generous souls provided .3ds models for this effort, and I will definitely credit them as the results get published.) Additional help is solicited :)

I'm also working to modernize the code and to make it less subject to abuse. There are a lot of very old code snippets that need replacing. I do not expect these changes to introduce any significant new features, though.... just cosmetics.
bbosen
 
Posts: 14
Joined: 09 Feb 2018, 14:22

Re: Linux Air Combat

Postby GunChleoc » 21 Feb 2018, 18:23

The easiest way to attract other people to help is to set up a public version control system - there are free hosting sites like GitHub of GitLab etc. to help you with that.
User avatar
GunChleoc
 
Posts: 502
Joined: 20 Sep 2012, 22:45

Re: Linux Air Combat

Postby bbosen » 02 Apr 2018, 21:51

Linux Air Combat version 5.91 is now available, and it includes the various "fixes" discussed in my prior posts (above). Find it here:

http://askmisterwizard.com/FlightSimMov ... llPage.htm

or here:

https://sourceforge.net/projects/linuxaircombat/

I am still working to get this ready for conventional distribution through "repositories". Not there yet....
bbosen
 
Posts: 14
Joined: 09 Feb 2018, 14:22

Re: Linux Air Combat

Postby Lyberta » 03 Apr 2018, 08:08

Deleted.
Last edited by Lyberta on 01 Oct 2021, 06:51, edited 1 time in total.
Lyberta
 
Posts: 765
Joined: 19 Jun 2013, 10:45

Re: Linux Air Combat

Postby Julius » 03 Apr 2018, 09:30

Honestly... don't bother with Linux distribution repositories until your game is more or less feature complete and in maintenance mode. Release early and often just doesn't go very well with that model. In addition you will just get a lot of bug reports from severely outdated versions in some LTS release distribution repository.

You can make a PPA for Ubuntu (derived distributions), but this is being phased out in favor of Snaps/Flatpacks.

For now I would just release binary .tar.gz and if you feel like collecting some donations you can can also put it up on itch.io
User avatar
Julius
Community Moderator
 
Posts: 3297
Joined: 06 Dec 2009, 14:02

Re: Linux Air Combat

Postby leilei » 04 Apr 2018, 01:52

There's also the factor in downstream adjusting the game to fit their available libraries or deprecating the dependencies they don't like or don't have ported, or being more of a stickler for what compiler is required. In my case the OA QVMs (which rely on EVIL NON FREE COMPILER LCC) are deleted out of pak0.pk3 (creating a checksum issue from the get-go) and native .so binaries are enforced on Debian and they separate the mature pak to another package, forcing me having to plan things differently for them in the future. Who knows if they'll like the libxmp support or libsdl1.2 usage in the future and convert mods to ogg streams/replace with terrible libmikmod or disastrously port it to SDL2 to meet a placebo of quality standards.... or even ignore my updated engine fork and rely on an unsupported upstream that wouldn't be as feature complete as I require. :|

There's also the issue of downstream explicitly name-dropping trademarks, so if your game were to be a clone of something deliberately avoiding trademarks to keep it safe, downstream wouldn't be as courteous about it. *cough*ksirk*cough*
User avatar
leilei
 
Posts: 154
Joined: 03 Apr 2012, 02:53

Re: Linux Air Combat

Postby bbosen » 04 Apr 2018, 20:20

Wow. So much to learn and so many issues. Although I've been programming for a long, LONG time, I'm totally "old school" and all of this information is very helpful to me. Thanks for trying to teach this "old dog" the various issues. For now, my 'Linux Air Combat" is not yet completely "feature complete", so I am approaching this distribution thing very gradually....

--Thanks!
bbosen
 
Posts: 14
Joined: 09 Feb 2018, 14:22

Re: Linux Air Combat

Postby Lyberta » 05 Apr 2018, 17:10

Deleted.
Last edited by Lyberta on 01 Oct 2021, 06:51, edited 1 time in total.
Lyberta
 
Posts: 765
Joined: 19 Jun 2013, 10:45

Re: Linux Air Combat

Postby bbosen » 02 Jan 2021, 17:09

Update 02Jan2021:
Image
Linux Air Combat ("LAC") development has continued, and the current version is now V8.41. The code is a lot cleaner and more stable now, but the low-level "speed at any price" code style is retained. (It runs nicely even on Raspberry Pi hardware on the Raspbian version of Linux.)

Here is a page with links to YouTube playlists showing exactly how we compile it on Debian Linux, Linux Mint, Ubuntu Linux, Raspbian Linux, PcLinuxOs, etc.:

http://askmisterwizard.com/2019/LinuxAirCombat/LAC%20Software%20Technology.htm

Some of those clips are rather old now. The newer clips rely on the simplest new Makefile.

Hardware compatibility is increased. For example, in addition to flight controls based on joysticks intended for flight sims, it is now fairly easy to control flight with just a mouse and keyboard or with a USB-connected, console-style "Game Controller".

Image
Image
Image

Comprehensive documentation is available online here:

http://askmisterwizard.com/2019/LinuxAirCombat/LacOnlineDocs.htm

Version 8.41 stores the executable at /usr/bin/lac, with all additional shared resources at /usr/share/lac. User-specific configuration and log files are created as needed at run-time in the user's ~home directory, in a new, hidden folder named ".LAC". The source code is available for download here:

https://sourceforge.net/projects/linuxaircombat/files/
bbosen
 
Posts: 14
Joined: 09 Feb 2018, 14:22

Re: Linux Air Combat

Postby bbosen » 22 Feb 2021, 18:27

Update 21Feb2021

It seems that Joystick manufacturers all stopped making economical joysticks during the Pandemic of 2020. As a consequence, if you can even find a joystick for sale, it's going to be terribly expensive. Linux Air Combat likes joysticks, though, so I enhanced the code for better support of readily available, low-cost USB "Console Game Controllers". Here's a picture showing how I can map them for use with LAC:

Image

All of this is explained here:

https://sourceforge.net/p/linuxaircomba ... 0d2cb6e51/
bbosen
 
Posts: 14
Joined: 09 Feb 2018, 14:22

Re: Linux Air Combat

Postby bbosen » 06 Jun 2021, 21:18

Update: I am very pleased to report that LAC is now stable and available in various LINUX Repositories as follows:

Debian desktop LINUX:
Discussion: http://forums.debian.net/viewtopic.php?f=8&t=149274
Repository: https://build.opensuse.org/package/show ... air-combat
Note that the author of this repository entry for LAC is also working on a version for the Raspberry Pi on the "Raspbian" operating system.

MX LINUX: Coming soon....
Discussion: https://forum.mxlinux.org/viewtopic.php ... at#p638883
Discussion: https://forum.mxlinux.org/viewtopic.php ... 95#p638895

Arch LINUX and Manjaro LINUX:
Discussion: https://sourceforge.net/p/linuxaircomba ... bef7b740d/
Repository: https://aur.archlinux.org/packages/linux-air-combat/

Now that these repositories demonstrate working examples for official repository packaging, I hope to see LAC become ubiquitous in more and more desktop LINUX distros. I've never done this before, so I don't know how long it takes for a new application to migrate into official repositories from the trial ones now featuring LAC.
bbosen
 
Posts: 14
Joined: 09 Feb 2018, 14:22

Re: Linux Air Combat

Postby bbosen » 27 Nov 2021, 19:44

Jpdate (27Nov2021):

LAC is now available as a binary executable in "AppImage" format for x86 machines. Accordingly, most LINUX users will not have to compile it. I have verified that it works on recent versions of all of these popular desktop LINUX distros:

    Ubuntu
    PcLinuxOS
    Debian
    Manjaro
    MX LINUX
    Arch
    SLAXX
    Fedora
    PopOS
    LINUX Mint
    Open SUSE
    EndeavorOS
    Garuda LINUX

Those wishing to test LAC can download the new AppImage version here:

https://sourceforge.net/projects/linuxa ... 20code%29/


Further details about LAC's AppImage (and AppImages in general) is available in our LAC forums here:

https://sourceforge.net/p/linuxaircomba ... appimages/
bbosen
 
Posts: 14
Joined: 09 Feb 2018, 14:22

Re: Linux Air Combat

Postby freem » 28 Nov 2021, 20:09

Just gave it a try (just launching for now). Few things:

1. the mumble instance it launches tries to connect to localhost, and fails (I don't have murmur installed)
2. some my screen's resolutions are not displayed, like the "best" one: 1366x768
3. changing resolution requires restart
4. mumble does not exit when game ends, and when game starts, already existing instances are not reused

I'll try more later :)
freem
BN Moderator
 
Posts: 106
Joined: 18 May 2015, 19:38

Re: Linux Air Combat

Postby bbosen » 28 Nov 2021, 21:35

freem {l Wrote}:Just gave it a try (just launching for now). Few things:

1. the mumble instance it launches tries to connect to localhost, and fails (I don't have murmur installed)
2. some my screen's resolutions are not displayed, like the "best" one: 1366x768
3. changing resolution requires restart
4. mumble does not exit when game ends, and when game starts, already existing instances are not reused

I'll try more later :)

Freem, thanks for testing. I'm glad to know the AppImage ran on your system. Which distro were you using?

As for your four observations:

1- Upon startup, LAC does indeed try to invoke mumble but no attempt is made to connect it with a server until you click on one of the screens with your mouse. During the interim Mumble is indeed left trying to connect to "localhost". Most of our users have found this to be harmless, since the normal behavior is to click on one of the screens right away. At that point Mumble is directed to connect with the "root" channel of our free Mumble server at LinuxAirCombat.com. That's where new players "hang out" between missions and it serves as the social "hub" of the LAC online community.

2- The prominent "SETUP OPTIONS" cycles through eleven different display resolution options intended to satisfy the needs of the majority of LINUX users. Most people are able to use one of those prominent options with good success even though they may know (as you do) of an even better option for their specific hardware. Our hope is that the initial experience, with one of the eleven prominent options, is good enough to inspire discovery of the "LacConfig.txt" file which allows easy configuration of any desired display resolution setting. That file, located within the new, hidden ".LAC" folder, can be used to configure many, many aspects of Linux Air Combat. The display resolution area is near the top of the file. By editing that file you can select 1366x678 or any other display resolution that is supported by your hardware.

3- You are correct that changing resolution requires restart.

4a- You are correct that Mumble is not disconnected when missions are completed or when LAC exits. Our user community prefers it this way, since the root channel of our Mumble Server serves as the social hub of the LAC community and it is commonplace for our users to continue discussing LAC between missions and sessions.

4b- Normally LAC does re-use any existing Mumble instance when it starts up. We know of a bug that interferes with this on rare occasions. Accordingly, from time to time, LAC users suffer with two simultaneous copies of Mumble both running and interfering with one another. We have not been able to fix this yet, but in our existing community of users this is unusual. If it is happening consistently on your system, perhaps you can help us find and fix the problem. Please let me know which Linux distro you are using and which version of Mumble is invoked by LAC on your system.

Thanks!
bbosen
 
Posts: 14
Joined: 09 Feb 2018, 14:22

Re: Linux Air Combat

Postby forty_sham » 03 Nov 2022, 05:24

Nice to see something new being done with GL-117, even if it isn't the original game coming back. This looks pretty interesting.
New FreeGameDev Codeberg OpenGameArt
Other:
LibreGameWiki: LibreJacket
Scratch: YesterdaysTomSawyer
Hedgewars: TheHogman
Minetest: blowgundude
User avatar
forty_sham
 
Posts: 24
Joined: 03 Oct 2022, 19:50

Who is online

Users browsing this forum: Bing [Bot] and 1 guest

cron