YS Flight Community Edition: Call for help

YSFlight general discussion & everything in between
User avatar
Nodoka Hanamura
Veteran
Veteran
Posts: 947
Joined: Thu Apr 07, 2011 8:01 pm
Favorite Aircraft: Su-24, Mig-29, Su-27, F-18, F-15, ADF-01, Icon A5
OS: Windows 10 / Linux
Has thanked: 539 times
Been thanked: 276 times

Re: YS Flight Community Edition: Call for help

Post by Nodoka Hanamura »

Captain_Ahab wrote: Fri Jul 21, 2023 3:00 am Here is my unpopular take on this...

I think the game should be redone on an established game engine, such as Godot or Urho3d.
Networking code is done, as is a physics and render engine.
Much of the physics and shaders/rendering are offloaded to GPU while the CPU can utilise multiple threads
A scripting language can be used to modify parts easily.
A particle system can be used for better explosions, smoke, clouds, etc.
Assets made in blender can be brought in easily with maintained import/export scripts and include any animations done in blender
Full graphics tools are available but do not have to be used, depending on the aesthetic desired
Terrain can be constructed easily with heightmaps, procedurally, or some other method
Basic terrain texture can avoid obvious tiling and there exist decent water shaders, if desired
Some form of auto LOD support could be used
More advanced sound systems
Data streaming can lead to truly humongous maps

YSFlight is just too clunky and ponderous to do mods compared to using something relatively modern

I love YSFlight's simplicity in play, in contrast to DCS
I loathe its antique workflow and tools
I'm gonna come out as a piece of crap for doing this, but then again I'm no stranger to tearing people new ones (Justified or no, valid or no), just ask Copperhead and Flake..

1. Before Soji open-sourced YSFlight, we were going to go with something along the lines of using an established game engine like Unity or Godot. As someone who has worked with someone in the past to attempt to make an Ace Combat clone in the former only to burn out, implementing physics is not easy, let alone everything else from scratch, baseline engine or no. Flawed as it may be, Yamakawa-sensei's physics engine is mostly complete, and only needs refinement.
2. Networking code is already established in YS. Same with graphics and physics. Hell, you want an example? Jobbin implemented Anti-aliasing in short fashion as one of his first commits to YSCE source code.
3. The problem with implementing advanced GPU features as a baseline is again, coming back to Hawkbit's statement about platform compatibility and ensuing low barrier of entry. With YS we could implement these advanced graphics features if they fell in line with the aesthetic of the game, and still allow people who cannot handle the demand of those features to turn them off.
4. We already plan on implementing a Lua-based scripting engine for multiplayer and potentially single-player plugins in the distant future.
5. We have a particle system already - it just needs to be refined and made more modular.
6. With the code and knowledge we have, it would only take someone versed with Python a little bit of time to implement SRF and DNM support, the latter of which with support for CLAs, in modern Blender versions. Hell, we could probably use existing code for it that we've been using for Blender 2.75 - which if Swift (nowadays known as Lynn) griping is anything to go by, it is becoming increasingly difficult to get running with those scripts, not to mention archaic.
7. See point three.
8. Again, I ask, what stops us from implementing these features? We have both the main YSFlight and libraries source code at our disposal. We can implement height models and the sort, we can also just get rid of needing scenedit by allowing meshes to used in lieu of terrain data, much like other games that do things the same way we do (AC, Project Wingman, etc.)
9.Again, we can implement tiling. Hell, we already have support for textured scenery. We can just build upon that and add such things as water shaders, but the latter'd be more intensive, but not worth throwing the baby out with the bathwater for.
10. Yes, dynamic LOD is something we will be implementing eventually.
11. A rework of the sound system is already something in the plans - Do you think we'd just keep the archaic, limited one that Yamakawa-sensei made?
12. We don't need data streaming for large maps. Things like PMNV Japan, York Valley and Decaff's upcoming Philippines map are already massive in comparison to stock maps. YSFlight's graphics and assets at the time of writing do not need streaming assets. If anything, the biggest problem is floating point precision, because we're dealing with not even 32-bit floating points, but 24-bit single precision. This is the culprit behind the shaking that inherently happens with maps at points beyond origin.

And my sister calls me a pessimist - This line of thinking is same mentality that has left us stalling for years. I understand the appeal of wanting to go to other engines and start from scratch - Hell, in Second Life, another community close to my heart, the userbase has been clamoring for Linden Lab, SL's developers, to implement the SL Client (or Viewer) in a new engine, like Unity or Unreal. Until a third party developer, Berry Bunny created a proof of concept, Crystal Frost, a viewer built in Unity based on clean-room reverse engineered SL code - I thought it would never happen. And then LL starts making a mobile client driven by Unity.

The fact is that Second Life is a spaghetti code mess developed years ago and iterated on for years since. The code dates back as far as the very late 90s. There are code components that have gone undocumented and the only people who know what they are, are either long gone from LL, or with Ebbe Altberg in the big prim box in the sky.

YSFlight is a spaghetti code mess developed years ago and iterated on for years since, the code dating back probably just as, if not farther back than SL. The difference is that SL was made to take advantage of the hardware at the time. YSFlight was created as hobby software by a single man over 20+ years, designed with an aesthetic and gameplay that mimic flight sims from 5 years before it was developed, or at least a rose-tinted fascimile, with development standards that date back possibly to the dawn of the C++ and C languages, consisting of both jank and spaghetti code that makes SL look like the pinnacle of software development.

That being said, even in this state, we at least have a framework to build within, upon and around. With another engine, we not only are deserting our core ideal of a free flight simulator that is easily accessible, but are putting ourselves in the burden of developing this all from *SCRATCH*.

Even with what I said before, YS isn't becoming something like DCS. Even with what I've personally proposed, it isn't going to be hardcore realistic in the slightest. There is a difference between authenticity and realism.

And don't get me wrong, we don't care much for YS' workflow either. And stuff like scenedit and outdated third party tools aren't our favorite either. But we are a far sight better off with developing YSCE as is, and building upon that, than to develop in a new engine, that no one knows or understands in our community, especially when YSCE is probably our best hope at revitalizing the community which, I don't know if you've noticed, be it on the forum or discord, isn't doing so hot.

Take it from someone who has been here for over a decade, even being around for YSP2 before its' DB failed and we had to make a new community since YSP's maintainer was dead to the world. Starting from scratch does us no favors. We have years of content from the community to build upon. In the span of 1 month, we have:
- Implemented Anti-aliasing
- Fixed several bugs
- Implemented a rudimentary RWR
- Improved the dogfight AI
and even implemented weapon jettisoning.

And we should throw out this, as well as Yamakawa-sensei's hard work to move to Godot or Unreal.

I think I speak for a sizable degree of the community when I post this.
█████████████████████████████████████████████████████████████████████
Member of YSCE Development Committee - I don't code, I compile.
Captain_Ahab
Rookie
Rookie
Posts: 48
Joined: Sun Jun 27, 2021 10:17 am
Favorite Aircraft: Cavalier Turbo-Mustang III
OS: linux
Has thanked: 1 time
Been thanked: 52 times

Re: YS Flight Community Edition: Call for help

Post by Captain_Ahab »

Naturally, I would disagree with many, though not all, of your points.

1. Yes, creating a game is hard, which is why I have my opinion on this. By using an established and well-supported engine, that work is made a bit easier by not having to spend time working on the underlying engine. That work has already been done freeing up time to add the 'game' logic and flight dynamics model, code for which has already been started from YSFlight.

2. YSFlight has networking, yes, but the graphics is deficient and buggy to the point that most people follow the suggestion to fall back to older, less capable versions. The physics is, by your own words, "physics engine is mostly complete, and only needs refinement." which in an established game engine, is already done; just add the FDM, of which several exist on github should you not want to bring YSFlight's FDM over to it.
The Jobbin example you provide, as good as that is, represents time and effort that was spent to have a feature that a modern game engine already has.

3. I think this argument is meritless as the number of systems without some GPU is minuscule these days. This is just forcing the game to late 1990's hardware specs. YSFlight's aesthetics is moot; the aesthetics don't have to be discarded just because hardware now allows more to be done. The aesthetic should be a choice and not forced by the software. If anything else, allowing for GPU's in rendering and physics ( already done in modern game engines ) will increase performance for those that have it, and fallbacks can be made for the tiny percentage of those that don't.

4. You plan on implementing a scripting language, but modern engines already have that built in, thus saving time and effort to make it happen.

5. "We have a particle system already - it just needs to be refined and made more modular."
Yes, but a modern game engine has already done that work for you and includes a user base to maintain and add to it. More time and effort saved to implement YSFlight's unique game features.

6. Again, this feature that you plan to add, has already been done usually allowing the use of widely accepted file formats besides just .dnm's which allows content to be made in nearly any modelling software.

7. as in my own point 3, a needless limitation that would effectively cost nothing to overcome.

8. You are right. Nothing is stopping you from implementing these features, but a modern engine has already implemented them for you. More time and effort saved so you may devote them to unique game features.

9. Yes, you can implement these things, but again, the point is that a game engine has done that work for you.

10. Yes, you can implement this, but again, the point is that a game engine has done that work for you.

11. Yes, you can implement this, but again, the point is that a game engine has done that work for you.

12. Unless I'm mistaken, YSFlight loads the entire map into memory at once and thus the world is limited by memory. Hence, the larger the world, the less detail can exist in it. Streaming data can overcome this limitation.
The shader single precision floating point problem exists, and there have been work arounds, but streaming data and a reasonable chunking system can allow maps to bypass that entirely, if desired / needed.

At stake:
better performance
easier modding
more tools to define the aesthetic to whatever the player likes on the client side
more time and effort available to work on features unique to the game, such as radar and AI
A large base helping to expand and maintain the underlying engine

And yes, I've notice how the discord and the forums seem to be slowly dying
Speaking for myself, it's just too much work for such a small payoff, for me, to do much with it anymore. I like so much of the game, but it is just so , well, rough and unfinished feeling and I have other projects that give me more pleasure for less effort

I just have the opinion that using a modern game engine would allow it to be updated with features I want for the minimum effort
Culkster
Newbie
Newbie
Posts: 18
Joined: Thu Mar 28, 2019 5:52 pm
Favorite Aircraft: A-10 Thunderbolt II
Location: York, England
OS: Windows
Has thanked: 6 times
Been thanked: 10 times

Re: YS Flight Community Edition: Call for help

Post by Culkster »

Has the netcode ever been fixed where there isnt lag flying in formations online, or having to second guess where you need to be to make the formation look correct?

I brought guys from DCS and Flight Sim that were all part of Aerobatic teams who wanted to try YSFlight formations but they didnt bother once they discovered that :(

If it hasnt been addressed thats a major spanner in the works on getting people to use it, Multiplayer seems to be the main draw of most games now
User avatar
Nodoka Hanamura
Veteran
Veteran
Posts: 947
Joined: Thu Apr 07, 2011 8:01 pm
Favorite Aircraft: Su-24, Mig-29, Su-27, F-18, F-15, ADF-01, Icon A5
OS: Windows 10 / Linux
Has thanked: 539 times
Been thanked: 276 times

Re: YS Flight Community Edition: Call for help

Post by Nodoka Hanamura »

Culkster wrote: Sun Jul 30, 2023 8:12 pm Has the netcode ever been fixed where there isnt lag flying in formations online, or having to second guess where you need to be to make the formation look correct?

I brought guys from DCS and Flight Sim that were all part of Aerobatic teams who wanted to try YSFlight formations but they didnt bother once they discovered that :(

If it hasnt been addressed thats a major spanner in the works on getting people to use it, Multiplayer seems to be the main draw of most games now
That is something we'd need to address with our coders on their capability to do so. From my basic knowledge of programming, netcode is an entirely different beast compared to handling things locally. That isn't to say we can't try, though - but we'll have to assess how YS handles lag compensation in the meantime and build from there.
█████████████████████████████████████████████████████████████████████
Member of YSCE Development Committee - I don't code, I compile.
User avatar
Flake
VFA-49
VFA-49
Posts: 4375
Joined: Thu Feb 10, 2011 8:47 pm
Favorite Aircraft: Boeing F/A-18A
Location: Australia
OS: Windows 10 (x64)
Has thanked: 861 times
Been thanked: 1279 times
Contact:

Re: YS Flight Community Edition: Call for help

Post by Flake »

Nodoka Hanamura wrote: Fri Jul 21, 2023 4:55 pm I think I speak for a sizable degree of the community when I post this.
Those are exactly my sentamonies. Sorry Captain, you had your chance. YSF is in a museum in my mind. It was fun while it lasted.
I am an accountant working full-time (and some). I'm not here as often as I would like to be. Send a message if you need me. There are a few people in the community who can get in contact with me urgently if you need - don't be afraid to ask. I just don't check here as frequently as I used to. Sorry!
User avatar
Kujo
Newbie
Newbie
Posts: 8
Joined: Tue May 11, 2021 10:15 pm
Favorite Aircraft: Boeing F-15EX Eagle II
Location: Las Vegas, NV
OS: Windows 10
Has thanked: 3 times
Been thanked: 22 times

Re: YS Flight Community Edition: Call for help

Post by Kujo »

Sometimes people need to let things go.
Image
Virtual PACAF Viper Demonstration Team | 2019 - 2021
YSFlight / Virtual Blue Spectres | 2015 - 2020
YSFlight Thunderbirds | 2014 - 2018
User avatar
Zack
Contributor
Contributor
Posts: 401
Joined: Wed Mar 21, 2012 10:34 pm
Favorite Aircraft: F-16C Fighting Falcon
Location: Northern California/Bay Area
OS: Windows 10
Has thanked: 47 times
Been thanked: 158 times

Re: YS Flight Community Edition: Call for help

Post by Zack »

:ugeek:
User avatar
FlankerE102
Rookie
Rookie
Posts: 69
Joined: Sun Dec 03, 2023 3:29 pm
Favorite Aircraft: F-14B and Viggen
Location: A plane
OS: Windows 11
Has thanked: 4 times
Been thanked: 7 times
Contact:

Re: YS Flight Community Edition: Call for help

Post by FlankerE102 »

If Decaff allows it, his F-35Bs would be pretty nice stock aircraft. I would also love better crash physics/death animation. To my knowledge, planes don't become black spots when they crash. Perhaps the plane falls apart on impact? It could be a setting disabled by default.
Image
I am in EST time and am most often on YSFlight on weekends, excluding holidays.
User avatar
Skipper
Rookie
Rookie
Posts: 83
Joined: Mon Dec 09, 2013 8:28 pm
Favorite Aircraft: Spitfire/F-15E
Location: SAM VOR 240 radial, 27nm
OS: Windows 10
Has thanked: 15 times
Been thanked: 57 times
Contact:

Re: YS Flight Community Edition: Call for help

Post by Skipper »

Decaff is working on the stock replacement, so that's up to him!
The initial release schedule we're looking just at stabilising and some QOL fixes, at this point we don't have the manpower for a full rework of everything we'd like to. But once we've got something released, and hopefully re-engaged the community (and expanded it), everything is on the table.
Image
Host of YSRP: YSRP.co.uk - YS Role Play Server
Post Reply

Who is online

Users browsing this forum: No registered users and 0 guests