Special Aircraft Service

Please login or register.

Login with username, password and session length
Advanced search  
Pages: 1 ... 20 21 22 [23] 24 25 26 ... 51   Go Down

Author Topic: Weekly progress report  (Read 127849 times)

0 Members and 9 Guests are viewing this topic.

Stainless

  • moderator
  • member
  • Offline Offline
  • Posts: 1534
Re: Weekly progress report
« Reply #264 on: July 01, 2018, 02:50:10 AM »

Well I am stuck in Kiev again, this time in a shitty hotel right on Independence square.

Great for beggars and prostitutes, but not what I am after. So I have hibernated in my hotel room and wrote some code.

I have written a test host for connecting external devices to the game.

At the moment I just have a F16 early block US threat warn prime panel emulated, but I still need the test host to test that.

You setup a world in the test host with a few clicks.



This is a complex threat situation with a couple of fighters in front of you, some ships to port, a helicopter to starboard. SAM and AAA around as well. Also a transport.

Then you start up the server and run up the RWR.



The RWR registers which data streams it wants. In this case RWR data with a max of 16 data entries and missile launch data.

The test host then send the data whenever something changes.



The RWR emulator is written in SDL (c++) so it can be compiled to run on Rasberry Pi's and just talks to the game (or test app) over UDP on the local network.



The buttons all work like they should do, for example hitting target sep gives you this.



When I get back to UK I will run it up on the Raspberry Pi with a 5" touch screen so you can see it live.


Logged

Stainless

  • moderator
  • member
  • Offline Offline
  • Posts: 1534
Re: Weekly progress report
« Reply #265 on: July 05, 2018, 03:37:10 AM »

Had a spare hour while waiting for  a build to complete, too early to go to the pub.

So I decided to throw together a bit of code I have been thinking about for a while.

I want the player to earn achievments. And what better way to display these achievments than with a salad bar.

For those that don't know, a salad bar is the block of service ribbons you see on the left side of a service uniform. Each little bit of ribbon indicates a medal won or an award of some sort.

I want the player to be able to have these. Note I do mean the PLAYER. Not the CHARACTER. So if you are flying as a RAF Spitfire pilot, that is your character and he can get medals which are historically accurate. You as the player do not get a medal for this.

You as a player get achievments like "FirstKill","QualifiedPilot","PassedBasicTraining", etc.

Obviously I don't want to sit and draw all these ribbons, so I randomly generate them.

I use a MD5 hash to convert the name of the achievment into a 16 byte array of bytes. Then use all these 16 bytes to create a 32bit seed for a random number generator.

So generating a ribbon from a string is always the same.

Here is an image showing a few example ribbons and the strings used to create them.




Logged

Stainless

  • moderator
  • member
  • Offline Offline
  • Posts: 1534
Re: Weekly progress report
« Reply #266 on: July 06, 2018, 01:14:20 AM »

Waiting for a plane so did some coding.

More accurate test mode



Added type information to display.




Shows two MIg 25's , an airborne search radar, an unknown airborne target, and a SA -10



Logged

Stainless

  • moderator
  • member
  • Offline Offline
  • Posts: 1534
Re: Weekly progress report
« Reply #267 on: September 10, 2018, 02:10:03 AM »

Sorry for not posting for a while, but what with work and illness I have been a little distracted.

There has been a lot of work done, just not the sort of work that I can show pretty pictures for.

Basically I got annoyed with myself and decided I should stop messing about and get stuck in with doing the deep down and dirty work.

So I have slapped myself and drank a lot of coffee, then started.

I have written my own multi-threaded renderer. The engine now does all the game update on any CPU cores that are available and builds a set of render commands.

While it is doing this, the renderer is drawing the list created last frame on it's own dedicated core.

Obviously when you are doing multi-threaded coding it is difficult to debug when things go wrong. So I have built in a profiler which displays what is running on any core at any point in time as an onscreen display.

While doing this I needed something to display, so I have written all the game components I need to display an IL2 style aircraft and extended my modtool to export everything in a game efficient format.

This code will also just plug into the aircraft converter I previously started, so when I finally give you all this to play with you can just load a HIM and press a button and the aircraft appears in the game.

I am also going to throw away the flight dynamics model I previously wrote. It was based on a publicly available open source FDM that is used in FlightGear, so it does work. However the more I look at it, the less I like it.

I am using an entity component model. So an aircraft is built up of a bunch of parts. My current FDM treats an aircraft as a single object.

What I have decided to do is create a bunch of components purely for the FDM. Think aerofoil component, drag component, thrust component.

I want to then use a generic physics model and let each component add point forces to it during the components update, then resolve all the forces at the end of a frame.

Why?

Well suppose you take damage to a control surface. With the old FDM I would have to guess how this affects the flight handling. With my system, I just modify the forces generated and let physics do the rest.

It means that when you shoot down an aircraft, it will behave realistically. Lose a wing, it will spin about it's axis. Lose both wings and you become a bomb. That sort of thing.

As a player it also means you may be able to land a badly damaged aircraft, but it's a judgement call. Should I bail out and risk the consequences?  Should I stay with the aircraft?

I think it will add a lot to the game.
Logged

DarkBlueBoy

  • Supporter
  • member
  • Offline Offline
  • Posts: 674
  • Learning slowly...
Re: Weekly progress report
« Reply #268 on: September 10, 2018, 04:07:58 AM »

All sounds very well thought out and I for one can't wait until such time there is more to see. :) I certainly appreciate all your efforts on this project and it promises so many amazing things!
Logged

hello

  • member
  • Offline Offline
  • Posts: 287
  • aka Aufpassen! aka Alfie!
Re: Weekly progress report
« Reply #269 on: September 10, 2018, 12:17:46 PM »

Been following this thread now for a few years...  o_O Amazing stuff! Looking forward to the moment all components come together. CHEERS!
Logged

Ibis

  • member
  • Offline Offline
  • Posts: 145
Re: Weekly progress report
« Reply #270 on: September 10, 2018, 07:11:58 PM »

 I too keep checking to see what has been accomplished. Love your work.
 Thanks for your efforts.
 cheers,
  Ibis
Logged

Pursuivant

  • member
  • Offline Offline
  • Posts: 711
Re: Weekly progress report
« Reply #271 on: September 12, 2018, 04:29:28 PM »

Good that you're reworking Flight Modeling to take Damage Modeling into account.

IMO, the weakest part of the flight simulation experience is "bad things happening to good airplanes". Not just combat damage, but bird strikes, hail damage, airframe stress due to everything from hard landings, to excessive turbulence, to plain old neglect.

Reworking FM to make an airplane "a collection of parts flying in formation" makes it dead simple to make trivial changes to FM such as slightly increased drag due to add-ons like antennas or RDF domes or possibly even something as simple as waxed vs. unwaxed surface or reduced quality of fit and finish found in production WW2-era aircraft vs. prototypes.
Logged

Stainless

  • moderator
  • member
  • Offline Offline
  • Posts: 1534
Re: Weekly progress report
« Reply #272 on: September 17, 2018, 12:37:15 AM »

Exactly, and because each component of the aircraft has a position relative to the CofG of the aircraft, the physics just works.

I am in Cyprus at the moment, so don't have access to my development machine, but I had a good day last Thursday and got several very important parts of the code working.

You can now just export an aircraft from the modtool directly into the game. At the moment it's just the physical appearance, all the msh files, but it's a damn good start.

When I get back I can get the collision mesh in and then the LOD's (which are trivial ) and then I can start adding physics components.

Actually making progress at last.
Logged

Stainless

  • moderator
  • member
  • Offline Offline
  • Posts: 1534
Re: Weekly progress report
« Reply #273 on: September 17, 2018, 06:18:35 AM »

Since I cannot work on the main engine while I am here, I started doing some more work on the game object editor.

I started creating weapon loadouts and realised it would be very boring and bug prone to enter all the parameters by hand. So I added the concept of presets to the editor.

This is a standard loadout with just 8 browning 303 machine guns.



The guns need to have bullet parameters attached, so I created a BulletPropertiesComponent and attached it to each gun.

This has a load of parameters which will be familiar to many of you.




I also created a couple of presets to test it is working. 303 and 50 cal. Selecting one of the presets configures all the parameters.



Logged

Pursuivant

  • member
  • Offline Offline
  • Posts: 711
Re: Weekly progress report
« Reply #274 on: September 19, 2018, 12:42:34 PM »

Question: Would it be reasonable to model certain objects as "a collection of parts" as you plan to do with aircraft?

For example, a tank could be modeled as turret+gun+chassis+left tread+right tread or a human could be modeled as head+ torso+ leftarm+ rightarm+ leftleg +rightleg.

That might make certain movement and damage animations/graphics easier and might allow customization of objects by swapping out different parts (e.g., different models of tank by swapping in a different turret and/or gun, different aircrew equipment by swapping in different heads, arms, etc.).
Logged

Stainless

  • moderator
  • member
  • Offline Offline
  • Posts: 1534
Re: Weekly progress report
« Reply #275 on: September 20, 2018, 12:00:18 AM »

I am assuming most vehicles will be modelled as a bunch of parts, any vehicles that are just eye candy and serve no in game purpose could be static meshes, but that's the mission designers choice.

Tanks definitely would just be aircraft without aerodynamic components. So the turrets and tracks would be animated. Turrets can be swapped. Paint schemes swapped.

People I am going to use skinned meshes. That is a skeleton of bones which is common to all humans, a set of animations which is common to all humans, then as many skins as we need.

The animations are stored as a bunch of keyframes which you tween between using inverse kinematics.

This is a pretty good explanation https://venturebeat.com/2017/08/09/character-animation-skeletons-and-inverse-kinematics/


Logged
Pages: 1 ... 20 21 22 [23] 24 25 26 ... 51   Go Up
 

Page created in 0.035 seconds with 24 queries.