Skies Over Norville Valley

Here is my take on the Argon Assault section of the course, with a ww1-esque themed rail shooter. Enjoy!

Move aircraft with WASD or arrow keys.
Shoot machine gun with left click or spacebar.
Drop bombs with left click or any alt/shift key.
Disable/enable crosshair with C.
Pause with P and quit with Esc.

Shooting increases the machine gun’s temperature. If it goes too hot, it will get stuck until it cools off. However, overheated bullets deal double damage.
The aircraft repairs itself over time after a certain amount of time has passed without getting hit.

Link to download standalone build, in case WebGL stutters or lags too much for you.


I loved this so much! You really went all out on this! I love the type of plane you used. The terrain is incredible :100:

1 Like

Thanks! It took some time but there some great frantic action in there. Unfortunately the WebGL build has problems with the sound sometimes.

Edit: it’s not just the sound. The WebGL works really bad, but I’m not sure if it’s my crappy laptop (old laptop from 2016) or I just developed it in a poorly optimized way for WebGL.
Edit 2: Here is a link to download the standalone build. It may work better for whoever wants to try it out.

1 Like

Amazing game.

WebGL as a whole has a lot of issues and those issues become even greater in old computers, mine is from 2014 and it can barely run a 2D platformer.


I’m glad you liked it, Yee. I’m not 100% satisfied with the result, this section was a big step up in terms of complexity from the previous one but this is encouraging, thanks.

1 Like

This is very cool, as a fan of good old microprose dogfight from the dos days and now warthunder I have had a dream of recreating some of that and this reminds me of that.


I know what you mean. I haven’t played Dogfight but the flash game Flying Aces was my inspiration for this one, which has a very similar vibe than Dogfight I think. I’m glad you liked it.

1 Like

Hey, I downloaded this game and it played just fine on my machine!

DELL XPS 15 7590
Processor: Intel(R) Core™ i7-9750H CPU @ 2.60GHz
RAM: 32.0 GB
System type: x64-based processor

I really enjoyed the level design, I can tell a lot of passion went into the game :slight_smile:

I had some trouble losing my plane offscreen - I think there was a lecture to Constrain Movement - it might have been the one with Mathf.Clamp() ? I would find this game easier to play if I couldn’t fly offscreen accidentally.

I also wish I could move the crosshair with my mouse pointer :wink: but that is just a personal preference!

Overall, great job, I especially liked the system where the machine gun overheats - it adds some more interesting complexity to the game!

1 Like

Thanks for your feedback! It’s good to know that it worked well on your machine. Then it’s probably a matter of my own machine being quite underpowered (it’s a laptop from 2016 with just upgraded RAM to 16GB :sweat_smile:). Anyway, I only pooled the player’s ammunition, but not all the enemy bullets. I should do that in the future if I get back to this project someday and that would probably improve performance.

Regarding the plane geting off-screen, I did indeed limit the gameplay space with Mathf.Clamp(). However, I tried to do it differently from Rick’s code. IIRC he hardcoded some values.
In my case I tried to recognize the screen size through code and applied some math to try and add proper limiting values to any screen (using the cameras FOV angles and applying vertical and horizontal projections). I did realize through playtesting that the bigger the screen, the more the plane would go off it, due to the camera being slightly above the plane instead of right behind, which messes a bit with the projection values.
I thought it would be enough, because I never had more than half of the plane disappear… but if you had that problem is something that I also need to revise.

Moving the crosshair with the mouse is definitely a good idea and will keep it in mind :slight_smile:

I’m glad you liked the game and thanks again for trying it out :smiley: