Should I put Steam Engine Simulator as a free download on Steam? [UPDATE] Game is now released! store.steampowered.com/app/2381620/Steam_Engine_Simulator/
Well that is just steam getting directly expelled in a smaller tube. Nothing that would be impossible in this simulator but it might need tinkerink (as stated in the video the sounds are made a bit lower to fit larger engines)
The next engine cycle you could try is the sterling cycle. It works via purely a temperature differential, and could work with sunlight, or fire. There's quite a few configurations of it too.
hmm... I love sterling engines, but the sound of sterling engines (that I know of) is much more mechanical then fluid dynamic. That could be a benefit as it would give reason to add some metal noises to the simulation. That could be a drawback, because for combustion engines - which are the focus - those sounds should not dominate.
Would be great to simulate spring stiffness, friction koefficient of cylinder, heat exchangers size and its opening sizes, water cooling surface needed, electrical power and pressure of displacer chamber if we are talking about free piston engines. I have done Solidworks model, but i have made everything approximate. I am looking to this channel as physics sumulation now, not just sound simulation using physics. Great work Ange, keep it going💪
What would be really really cool would be a sterling design using as many commercial off the shelf parts as possible and remaining parts made reasonably on desktop mill and lathe in the 1 kilowatt range. I wonder if there are any groups that might do so.
Sometimes you have to choose a solution that works with the time constraints you're working with. It only took me around 30 minutes to completely clean up the edges of the model. So either I did that or spend hours of my life writing a system that dynamically scales everything or modeling this in CAD and making it parameterized properly. Sometimes brute force IS the faster way
@@AngeTheGreat This is exactly why we sometimes use insertion sort on short arrays, the overhead and cleanup on smaller systems just isn't worth it sometimes, like making prototypes using a 3d printer and using an injection mold for mass production.
@@AngeTheGreat I forgot how imprecise blender modeling is. I just went to find better options and pretty much failed lol. I'm so used to the controls of autocad I expect any 3d software to have what is considered fundamental in autocad.
@@physixtential Blender is used for modeling BECAUSE it is imprecise. It allows easier creation of some types of objects and is significantly better for more artistic assets than CAD. I've done quite a bit of CAD work as well and I would never want to use those tools to make game assets. Even though this was more of a mechanical "game" I still don't think I would have saved significant time by prototyping or modeling assets using CAD
@@physixtential call me a nerd, but I love scripting in blender with bpy. I found a plugin called "precision gears" which works well with bpy, and have made all sorts of dynamic contraption builders
I love how Ange shows his struggles and uncertainty in situations. Although he states being previously a Google engineer, he still makes mistakes and searches for one-letter typos for hours. It shows that even having that much knowledge, programming can drive a person insane. It lets us, other programmers feel at ease knowing we can make mistakes too
Congratulations on the sponsorship. It's been amazing seeing your channel get the kind of attention it deserves. You make some of the best programming related content on this platform.
Working at Google isn't that hard to be honest. Just have the right degree and study the right leetcode questions and I believe most people could do it
@@AngeTheGreat most people that could code i tried learning and i cannot grasp it. i attempted to learn java and i have no clue how or why it works, i can understand pretty much most things by pulling them apart and its hard for me to pull code apart and learn how it works. it seems all over the place
Wow, this really shows how versatile your audio system is. Plus your knowledge of coding is amazing to be able to create all of this. Thank you Ange for trying new things, it'll make engine sim even more incredible once it's all said and done. 👍
Amazing work! Tiniest nitpick - if the temperature gauge in the water tank were submerged in water as you've modelled it (as typically probes measure from the end, not the whole length), it would never pass 100 deg C, it would need to be measuring the air/steam temp above the water. Edit: As Ange points out in his reply, these temperatures are totally achievable under pressure. 🤦
The fact that you wasted 3 hours debugging the broken code because you wrote a "m" instead of a "g", but the compiler always says something like "couldn't find module opengl on line 3000". This is what makes programming a unique skill
Great project and the fact that you actually built a real engine to understand the concept before even touching the code reflects the best coding practice by far. Keep it up!
12:25 Yup. The Aesthetic-Usability Effect - I literally leap frogged brigades of smarter engineers simply because I didn‘t shy away reading up on UI & UX design. Aesthetics as just another permutation of accessibility… most engineers think they can skip that.
How can I convince you to build a turbo diesel simulator?! I'd love to be able to plug real fuel, charge air and vgt maps into something to play with! I'd try to build one myself, but my coding skills are just not there yet.
@AngeTheGreat At some point -- perhaps when Engine Simulator 3D is up and running -- it would be so cool to see you tackle some form of turbofan or turboprop engine. I love turboprop engines so much because the sound they make when you're starting a Beechcraft King Air 350 is uncannily satisfying :D
Walschaerts valve gears are cool. They allow you to set how long the valve is open during the stroke. When setting it to a lower setting, only a small bit of steam enters the cylinder. It then expands on its own, creating higher efficiency. When taking off from the station, the valve gear is 100% open during the entire stroke, wasting expansion and releasing it into the air as loud chuffs. The gear is also used to reverse the engine direction.
Even though it's just a blueprint 2D simulation I still got nervous when it started going really fast, thinking "oh no something is gonna break". The sound helped intensify that feeling!
Next step: a locomotive?! Could be interesting to see an implementation of one of the first locomotives (no idea how complex they were), and then perhaps something about the improvements made in subsequent models.
thing is an actual locomotive engine was quite different as it sent alternatively the steam to both cylinder face, like pushing and pulling the connecting rod insted of just pushing
I think you are the incarnation of inspiration. As a soon to be applied mathematics and computer science engineer, I truly admire your work and see it as an absolute life goal, the amount of different fields you have to master to achieve this is insane. Also, the blueprint theme is GORGEOUS
Awesome results! If you are going to continue on this project, I would advice you to put in some real mass into the flywheel. Its inertia is very important to steam engines to smooth out it's operation. There is a "similar" program made by Charles Dockstader, really interesting!
Many aspects are great here! Some things to add though is 1. Make the piston double-acting (make the steam push on both sides of the piston 2. Explore multiple cylinders (obviously) and if they should be compunded or not and finally 3. Explore some valve gears that control steam cut-off
I noticed the water was at 120 deg C so I asked chatGPT: What is the boiling point of water at 40 psi? Got back: Using a steam table or an online calculator, we find that the boiling point of water at this pressure is approximately 126.1°C (259°F). Pretty good!!!! Good job! 😀
That was awesome! I've been programming a very, very simple game in C# but it's just a console application. This has given me a bit more motivation to make some graphics for that game - After it functions as intended, of course. It's primarily an exercise in programming and not specifically game creation.
Things that I would like to see in engine simulator, as the code base seems to there to do these things, but just requires one to put it together: 2-stroke gas and diesel compatibility 4-stroke diesel compatibility Piston steam, allowing modeling of stationary, locomotive, and naval steam systems, along with the the boilers Steam and gas turbine systems, stationary/naval
95% of programmers in youtube: today we are going to see why js is bad, building a useless server application and benchmarking its requests per second ATG: Today we are going to simulate a fucking steam engine and produce sounds that half of you haven't heard in your life
If you can simulate _anything_ with moving gas, please do a rocket engine like the Rocketdyne F-1, or maybe one of the smaller, newer engines like Copenhagen Suborbital's Spica (I think that's what their engine is called) or Rocket Lab's Ruthorford. I'm not sure of the speeds within a combustion engine but it would be interesting to see how you deal with supersonic flow, if the engine can't handle it already
I've always been a fan of steam engines. Those old steam tractors, such as the behemoth that was the 150hp Case steam tractor, could output so much torque that the metallurgy at the time could barely handle it. If I recall correctly, one of those 150hp tractors once towed 57,000lbs up a 13° incline without struggling too much. There's a great video of a steam tractor doing a tractor pull and not slowing down a bit, and the driver is making it throw plenty of sparks from the stack to put on a show. The most powerful design of steam engine uses steam on both sides of the pistons, meaning every stroke can be a power stroke. I'm not sure the name of that layout, but the consistent power means that like with electric cars, you can get the full torque from a standstill. Don't forget that steam trains also powered transport of people and goods all across the world for a long time. Steam engines are an awesome technology but I'm really not a fan of coal being burnt for any reason.
'cause I saw that at 7:00, in VS and VSCode you can select a Line (or multiple), press and hold ALT and then move the selection with the arrow keys up and dow.
We (enthusiats) would LOVE to see Engine Simulator on Steam. Some items of note from this video: I'm not certain exactly how you modelled the fluid flow through the valve, but it appears at first glance to be linear. Even given the blowby that was intentionally added, the flow should follow typical square law characteristics. I realize that the entire thing was a bit of a quick job, but I wonder how difficult (time consuming) it would be to add flow effects (think CFD) at least at and around the valve assembly. I'm sure macro effects work just fine for the boiler and tube/inlet system, but the valve and cylinder tend to have some fairly complex fluid dynamics that drive them. I think the bit of designing the audio for a larger machine was a good choice stylistically, and ended up paying off in the end. All in all, three thumbs up.
"The engine simulator isn't specific to combustion, just anything with gas moving around" Can't wait for someone to make a jet engine with engine simulator then. That'd be *awesome.*
nice. looks that the valve leaks too much, the engine was running fast with a "closed" valve. a valve percentage indicator and a rpm counter would be nice too :D
i just randomly found this game on steam and also found the easter egg. when the motor gets to high enough rpm is sounds exactly the same as a gas powered motor which is really interesting
Next up is to enhance the fluid simulation model to support standing harmonic waves, pass it through a tube that splits the airflow, and hey presto, steam whistle! This is some great coding and implementation you've got here!
I don't understand why this video exists, why someone needs engine being simulated, but it was entertaining to watch, at least. I salute to yours precision in drawings. Good job!
If you ever feel up to it, it would be cool to see a steam engine set up as something like a steam locomotive, something that has a walschaerts valve gear, two wheels with them out of time by 1/4 rotation, connected by an axles, steam input on both sides of the piston, the ability to control throttle input as well as steam cutoff (Used to increase the speed of the engine but use less steam) This is very cool though!
Being sensitized by your ponderings about aestetics, my heart jumped when I saw your break pad colliding slanted with the fly wheel at 14:31. Whould have worked if the break pad is spring loaded and turns to the fly wheel the harder you break. This goes together with the wish to see heat, throttling valve and break levels. 5 days, I know, you explained, but at that level, you should polish it to your great standards. This would also allow bystanders to follow the mechanism and maneuvers much better.
Just when I thought it couldn't get better. Since you already have the physics sim, I'd love to see if you could Stevenson valve gear or some other sort of locomotive valve gear with a double-acting piston.
when i see your code I feel like an 8 year old watching mumbo jumbo make a flying machine hidden house cow murderer 3000 and him saying "its really quite simple" you have truly made something beautiful man!
Love it as always. I'm not sure if I missed you stating so, but one thing that might be interesting to add would be to give the wheel some mass or inertia property to make the initial start up and slow speed operation a little more "realistic".
The wheel does have mass and inertia already, otherwise the engine wouldn't have worked at all. The reason why it seems so light is because it actually is light since the engine is so small in real life. I probably just ran it with a pressure that was too high since I don't know what the pressure regulator limited the boiler pressure to in the real engine
@@AngeTheGreat Good point, I missed that. Thanks for the reply, I feel honoured :D I'm not familiar with steam engine specifics, but I guess there's some band of near ideal ratios between various components and engine performance. Back to the textbook I go. Looking forward to the next video
this is absolutely awesome always been into steam powered things in general, and this combination of steam power and code really scratches an itch i didn't know i had
This is the third UA-camr in maker and computer communities make a wonderful and powerfully hilarious node to the recent oof sound video and Tommy talarico and I love it
Ange you're really onto something here! I can clearly imagine your synthetic sound engine licensed to lots of games. The time is right for live audio generation, CPU performance is not much of a worry anymore today. But, don't get robbed by the big players! Know your worth.
You should an inertial governor to control the speed. The spinning mechanism the two balls that opens and closes the gate valve as they spin farther out with speed
honestly that sounds *extremely* close to the real desktop steam engines I've heard over the years. and the underlying physics engine should handle the more complicated steam engines found on locomotives, too. on loco steam, the piston is powered on both strokes (up and down in this case, but forward/back typically in a locomotive), the valve timing is controlled with the wheels indirectly through something called a Johnson bar. it's basically a channel that the valve linkage can be moved up and down in, closer to the middle, valves are open for less time (coupled with high throttle position, this makes the engine more efficient at higher speed), father to the edge of that channel, they're open for longer. in one direction, the timing moves the engine forward, in the other direciton, reverse. each side of the train is 90 degrees off, so that one piston is always in a power stroke, both being in TDC/BDC would make starting from a stop a pain.
It would be cool if you set the actual audio as one audio channel (left or right) and the simulation as the other audio channel so we could compare how close you are able to simulate. As you generate more engines it would be interesting to me to see if you get closer over time.
So its actually is loosely connected like the pipe can be open and it still works because the sim interactions aren’t needing the real deal of fluid flowing.
16:43 i just wanted to say a more complex steam engine like a locomotive usually has something called "valve gear" wich comes in many variations but essentialy it is a mechanism to controll when and how much steam is admited into the piston, for efficiency.
Seems like you know all there is to a standard air heat engine cycle. Steam isn't much different, mathematically. If this was a big engine where steam temperature mattered, like a triple expansion engine or a turbine; or you were adding a condenser to the end, you'd need to read up stuff on saturated and superheated steam. I think if you know your way through a pressure-temperature curve to calculate a steam cycle, you have everything you need to go big! An ambitious project now: How about the Titanic's engines?
you did great job on engine simulator but I have one little information for you - you should implement engine breaking - I got ferrari 412 T2 to maximum at 6th gear box, than quickly switched to gear 1 and... RPM went to infinity, breaking whole simulator (ofc until reset)
Should I put Steam Engine Simulator as a free download on Steam?
[UPDATE] Game is now released! store.steampowered.com/app/2381620/Steam_Engine_Simulator/
Good idea 👍
Yes Please I would love it.
Yes
Yes yes! And also please linux appimage version?
@John I'll do it if people want it
Now that you've simulated the "chugga-chugga", what you need to add next is a "choo-choo" simulator.
Oooh I wonder if you could simulate actual wind instruments with this thing
Well that is just steam getting directly expelled in a smaller tube. Nothing that would be impossible in this simulator but it might need tinkerink (as stated in the video the sounds are made a bit lower to fit larger engines)
hyce 6 chime steam whistle
Choo-choo Charles
@@bescotdude9121 nah bruh get an SAR 6 chime or some other actual railroad used standard whistle
The next engine cycle you could try is the sterling cycle. It works via purely a temperature differential, and could work with sunlight, or fire. There's quite a few configurations of it too.
hmm... I love sterling engines, but the sound of sterling engines (that I know of) is much more mechanical then fluid dynamic.
That could be a benefit as it would give reason to add some metal noises to the simulation.
That could be a drawback, because for combustion engines - which are the focus - those sounds should not dominate.
Would be great to simulate spring stiffness, friction koefficient of cylinder, heat exchangers size and its opening sizes, water cooling surface needed, electrical power and pressure of displacer chamber if we are talking about free piston engines. I have done Solidworks model, but i have made everything approximate. I am looking to this channel as physics sumulation now, not just sound simulation using physics.
Great work Ange, keep it going💪
What would be really really cool would be a sterling design using as many commercial off the shelf parts as possible and remaining parts made reasonably on desktop mill and lathe in the 1 kilowatt range. I wonder if there are any groups that might do so.
@@sarowie
Exactly. Stirling engines enclose the working gas and has no exhaust.
The clincher is efficiency of the cycle vs carnot. Start with almost 1/3 more availability
Man the way he modeled this in blender, and then used a dot to reshape the whole thing... This man's capacity for brute force is unmatched.
Sometimes you have to choose a solution that works with the time constraints you're working with. It only took me around 30 minutes to completely clean up the edges of the model. So either I did that or spend hours of my life writing a system that dynamically scales everything or modeling this in CAD and making it parameterized properly. Sometimes brute force IS the faster way
@@AngeTheGreat This is exactly why we sometimes use insertion sort on short arrays, the overhead and cleanup on smaller systems just isn't worth it sometimes, like making prototypes using a 3d printer and using an injection mold for mass production.
@@AngeTheGreat I forgot how imprecise blender modeling is. I just went to find better options and pretty much failed lol. I'm so used to the controls of autocad I expect any 3d software to have what is considered fundamental in autocad.
@@physixtential Blender is used for modeling BECAUSE it is imprecise. It allows easier creation of some types of objects and is significantly better for more artistic assets than CAD. I've done quite a bit of CAD work as well and I would never want to use those tools to make game assets. Even though this was more of a mechanical "game" I still don't think I would have saved significant time by prototyping or modeling assets using CAD
@@physixtential call me a nerd, but I love scripting in blender with bpy. I found a plugin called "precision gears" which works well with bpy, and have made all sorts of dynamic contraption builders
I love how Ange shows his struggles and uncertainty in situations. Although he states being previously a Google engineer, he still makes mistakes and searches for one-letter typos for hours. It shows that even having that much knowledge, programming can drive a person insane. It lets us, other programmers feel at ease knowing we can make mistakes too
Ange in 2022: i made a car engine in C++
Ange in 2023: i made a steam engine in C++
Ange in 2024: i simulated the entirety of reality within C++
Neo liked this
Automating faster that light travel with C++
ik its a joke but i dont think thats possible with todays computer
noOOO NOT C++ FOR REALITY'S SAKE!
Lols or a fully simulated 3d jet engine model
Congratulations on the sponsorship. It's been amazing seeing your channel get the kind of attention it deserves. You make some of the best programming related content on this platform.
Thank you 🙏
You could use this to simulate the sounds for a pneumatic system, really lean into the steampunk vibes
This is kind of the direction I've been thinking of...
I wondered what type of mind was required to make the coolest simulators ever, and it turns out all you need to do is be a Google engineer first. 😂
Working at Google isn't that hard to be honest. Just have the right degree and study the right leetcode questions and I believe most people could do it
@@AngeTheGreat most people that could code i tried learning and i cannot grasp it. i attempted to learn java and i have no clue how or why it works, i can understand pretty much most things by pulling them apart and its hard for me to pull code apart and learn how it works. it seems all over the place
@@AngeTheGreat Im ready to buy a course from you either algorithms in c++ or graphics programming.
@@AngeTheGreat what degree do you have
@@okann_hasan Computer engineering (ECE)
Wow, this really shows how versatile your audio system is. Plus your knowledge of coding is amazing to be able to create all of this. Thank you Ange for trying new things, it'll make engine sim even more incredible once it's all said and done. 👍
Amazing work! Tiniest nitpick - if the temperature gauge in the water tank were submerged in water as you've modelled it (as typically probes measure from the end, not the whole length), it would never pass 100 deg C, it would need to be measuring the air/steam temp above the water. Edit: As Ange points out in his reply, these temperatures are totally achievable under pressure. 🤦
I feel like this really needs a steam whistle plus I'm interested in how well your sound synth would be up to the task.
Up
yeah. ok furcrіnge
@@paulmccartney2327 Yeah ok, stuck in the past
@@paulmccartney2327 hey! don't disrespect us >:(
from 4 banger, to dorito, to steam engine. This guy codes
The fact that you wasted 3 hours debugging the broken code because you wrote a "m" instead of a "g", but the compiler always says something like "couldn't find module opengl on line 3000". This is what makes programming a unique skill
You're not only a great engineer and coder - you are a great presenter. Definitely a model video here. Thank you for sharing with us!
Great project and the fact that you actually built a real engine to understand the concept before even touching the code reflects the best coding practice by far. Keep it up!
He's about to make a simulator for every type of engine possible with C++ (with sound)
I've worked with older steam equipment in my career as a power plant operator. The steam engine looks and sounds very accurate.
12:25 Yup. The Aesthetic-Usability Effect - I literally leap frogged brigades of smarter engineers simply because I didn‘t shy away reading up on UI & UX design. Aesthetics as just another permutation of accessibility… most engineers think they can skip that.
How can I convince you to build a turbo diesel simulator?! I'd love to be able to plug real fuel, charge air and vgt maps into something to play with! I'd try to build one myself, but my coding skills are just not there yet.
I'm convinced, I just need time haha
@@AngeTheGreat like always, simulations are just held back by time constraints
@AngeTheGreat At some point -- perhaps when Engine Simulator 3D is up and running -- it would be so cool to see you tackle some form of turbofan or turboprop engine. I love turboprop engines so much because the sound they make when you're starting a Beechcraft King Air 350 is uncannily satisfying :D
Speaking of turbo, a 5-stroke engine would be nice
Don't hold your breath. Turbodiesels would be WAY too awesome. lol
Walschaerts valve gears are cool. They allow you to set how long the valve is open during the stroke. When setting it to a lower setting, only a small bit of steam enters the cylinder. It then expands on its own, creating higher efficiency. When taking off from the station, the valve gear is 100% open during the entire stroke, wasting expansion and releasing it into the air as loud chuffs. The gear is also used to reverse the engine direction.
Even though it's just a blueprint 2D simulation I still got nervous when it started going really fast, thinking "oh no something is gonna break". The sound helped intensify that feeling!
Next step: a locomotive?! Could be interesting to see an implementation of one of the first locomotives (no idea how complex they were), and then perhaps something about the improvements made in subsequent models.
thing is an actual locomotive engine was quite different as it sent alternatively the steam to both cylinder face, like pushing and pulling the connecting rod insted of just pushing
The first law of thermodynamics: no one talks about thermodynamics. I'm glad you have abided this rule :)
I think you are the incarnation of inspiration. As a soon to be applied mathematics and computer science engineer, I truly admire your work and see it as an absolute life goal, the amount of different fields you have to master to achieve this is insane. Also, the blueprint theme is GORGEOUS
that steam leakage sound was so subtle and realistic I thought it was coming from something other than my headphones wtf
Awesome results! If you are going to continue on this project, I would advice you to put in some real mass into the flywheel. Its inertia is very important to steam engines to smooth out it's operation.
There is a "similar" program made by Charles Dockstader, really interesting!
Many aspects are great here! Some things to add though is 1. Make the piston double-acting (make the steam push on both sides of the piston 2. Explore multiple cylinders (obviously) and if they should be compunded or not and finally 3. Explore some valve gears that control steam cut-off
How coold would it be a triple expansion engine right?
@@XMarkxyzOr why not quadrouple?👀
I honestly wish I could do something like this. Awesome.👍
I had the subtitles on. At 16:55, when it's finally going at a constant rate, it says "[music]". I agree.
Please try adding a steam whistle to this and it would be even better. The sound was so good.
I noticed the water was at 120 deg C so I asked chatGPT:
What is the boiling point of water at 40 psi?
Got back: Using a steam table or an online calculator, we find that the boiling point of water at this pressure is approximately 126.1°C (259°F).
Pretty good!!!! Good job! 😀
That was awesome! I've been programming a very, very simple game in C# but it's just a console application. This has given me a bit more motivation to make some graphics for that game - After it functions as intended, of course. It's primarily an exercise in programming and not specifically game creation.
Good luck on your project!
Things that I would like to see in engine simulator, as the code base seems to there to do these things, but just requires one to put it together:
2-stroke gas and diesel compatibility
4-stroke diesel compatibility
Piston steam, allowing modeling of stationary, locomotive, and naval steam systems, along with the the boilers
Steam and gas turbine systems, stationary/naval
95% of programmers in youtube: today we are going to see why js is bad, building a useless server application and benchmarking its requests per second
ATG: Today we are going to simulate a fucking steam engine and produce sounds that half of you haven't heard in your life
> _"its*"_
@Jorge C.M. where?
It is ATG by the way
its*
B-But useless server applications are cool... :(
who the fuck hasn't heard a steam engine before?
"I don't do unboxing on this channel", and continues to do one of the best unboxings ever
Amazing work! This simulation looks incredibly realistic and the sound effects are great.
This feels like a "How It's Made" episode, and I love it so much. You're amazing!
At this rate this dude will have a full jet engine sim by the end of the year
this was amazing i fell a little bit jealous of your projects cause im a crappy programmer and i cant make anything to work and your coding is 11/10
i really like the moving blueprint kinda style
Looks like a decent start for an Unboxing video series.
If you can simulate _anything_ with moving gas, please do a rocket engine like the Rocketdyne F-1, or maybe one of the smaller, newer engines like Copenhagen Suborbital's Spica (I think that's what their engine is called) or Rocket Lab's Ruthorford. I'm not sure of the speeds within a combustion engine but it would be interesting to see how you deal with supersonic flow, if the engine can't handle it already
I got an engine kit recently and simulating it in code is about all I've been able to think about, glad I finally found your channel
Love the graphics, worth all the time it takes to make
I've always been a fan of steam engines. Those old steam tractors, such as the behemoth that was the 150hp Case steam tractor, could output so much torque that the metallurgy at the time could barely handle it.
If I recall correctly, one of those 150hp tractors once towed 57,000lbs up a 13° incline without struggling too much. There's a great video of a steam tractor doing a tractor pull and not slowing down a bit, and the driver is making it throw plenty of sparks from the stack to put on a show.
The most powerful design of steam engine uses steam on both sides of the pistons, meaning every stroke can be a power stroke. I'm not sure the name of that layout, but the consistent power means that like with electric cars, you can get the full torque from a standstill.
Don't forget that steam trains also powered transport of people and goods all across the world for a long time. Steam engines are an awesome technology but I'm really not a fan of coal being burnt for any reason.
Really great work. This might be fantastic way to drag people into programming too. Also, have you considered discrete event simulation?
'cause I saw that at 7:00, in VS and VSCode you can select a Line (or multiple), press and hold ALT and then move the selection with the arrow keys up and dow.
Will we be able to make steam locomotives with this?
Maybe i he decides to expand it
Love that you're showing more of the actual code and talking about the code design concepts. More of that please!
i enjoyed this video, add a train horn system
that sounds like fun! the horn would release pressure, adding a way to reduce the RPM quickly.
When I started learning "object oriented programming" this is what I envisioned.
Is no one gonna comment on how he used blender to create the 2d art?
We (enthusiats) would LOVE to see Engine Simulator on Steam. Some items of note from this video: I'm not certain exactly how you modelled the fluid flow through the valve, but it appears at first glance to be linear. Even given the blowby that was intentionally added, the flow should follow typical square law characteristics. I realize that the entire thing was a bit of a quick job, but I wonder how difficult (time consuming) it would be to add flow effects (think CFD) at least at and around the valve assembly. I'm sure macro effects work just fine for the boiler and tube/inlet system, but the valve and cylinder tend to have some fairly complex fluid dynamics that drive them. I think the bit of designing the audio for a larger machine was a good choice stylistically, and ended up paying off in the end. All in all, three thumbs up.
"The engine simulator isn't specific to combustion, just anything with gas moving around"
Can't wait for someone to make a jet engine with engine simulator then. That'd be *awesome.*
nice. looks that the valve leaks too much, the engine was running fast with a "closed" valve. a valve percentage indicator and a rpm counter would be nice too :D
i just randomly found this game on steam and also found the easter egg. when the motor gets to high enough rpm is sounds exactly the same as a gas powered motor which is really interesting
Next up is to enhance the fluid simulation model to support standing harmonic waves, pass it through a tube that splits the airflow, and hey presto, steam whistle! This is some great coding and implementation you've got here!
Believe it or not, he actually added a steam whistle a couple of weeks ago.
Ange's next video will be like "Simulating the Heat death of the universe with c++"
"I'm an artiste" had me rolling. I mean you are, but great delivery
Extremely cool. One thing I'm a little surprised about is not seeing the water boil in the boiler.
Would like to see a hit and miss engine simulation too. Great work on this steam engine!
This was lovely! Next add-on for simulation is mountainous terrain with tracks and a locomotive.
thanks for setting yourself on fire for your videos. not many creators have that level of commitment to good content.
Your pressure gauge should read 0 at atmospheric pressure - that's how we do it :) Nice work.
Now simulate the walschaerts valve linkage to improve efficiency.
I don't understand why this video exists, why someone needs engine being simulated, but it was entertaining to watch, at least.
I salute to yours precision in drawings. Good job!
4:22 was a great oppertunity to say "i know a thing or 2 because ive seena thing or 2"
If you ever feel up to it, it would be cool to see a steam engine set up as something like a steam locomotive, something that has a walschaerts valve gear, two wheels with them out of time by 1/4 rotation, connected by an axles, steam input on both sides of the piston, the ability to control throttle input as well as steam cutoff (Used to increase the speed of the engine but use less steam)
This is very cool though!
LOL I love that you were so honest about the single character bug. The pain is real!
The pain was very real...
Being sensitized by your ponderings about aestetics, my heart jumped when I saw your break pad colliding slanted with the fly wheel at 14:31. Whould have worked if the break pad is spring loaded and turns to the fly wheel the harder you break. This goes together with the wish to see heat, throttling valve and break levels. 5 days, I know, you explained, but at that level, you should polish it to your great standards. This would also allow bystanders to follow the mechanism and maneuvers much better.
love your new microphone
It's actually the same microphone, I've been trying to speak louder to project my voice better
OMG your steam and ICE simulators on Steam would be amazing.
This is great work. I'm taking your "don't overlook aesthetics" advice to heart in the future. Thank you for the video.
Just when I thought it couldn't get better. Since you already have the physics sim, I'd love to see if you could Stevenson valve gear or some other sort of locomotive valve gear with a double-acting piston.
so i just got my steam firemans license last month, been looking around for a simulator boiler/steam engine kind of game to learn more about them.
when i see your code I feel like an 8 year old watching mumbo jumbo make a flying machine hidden house cow murderer 3000 and him saying "its really quite simple"
you have truly made something beautiful man!
Love it as always. I'm not sure if I missed you stating so, but one thing that might be interesting to add would be to give the wheel some mass or inertia property to make the initial start up and slow speed operation a little more "realistic".
The wheel does have mass and inertia already, otherwise the engine wouldn't have worked at all. The reason why it seems so light is because it actually is light since the engine is so small in real life. I probably just ran it with a pressure that was too high since I don't know what the pressure regulator limited the boiler pressure to in the real engine
@@AngeTheGreat Good point, I missed that. Thanks for the reply, I feel honoured :D
I'm not familiar with steam engine specifics, but I guess there's some band of near ideal ratios between various components and engine performance. Back to the textbook I go.
Looking forward to the next video
this is absolutely awesome
always been into steam powered things in general, and this combination of steam power and code really scratches an itch i didn't know i had
Thank you! I also gained an appreciation for steam power in the process of making this video haha
This is the third UA-camr in maker and computer communities make a wonderful and powerfully hilarious node to the recent oof sound video and Tommy talarico and I love it
❤ amazing video production! Enjoyed to the bits.
Ange you're really onto something here! I can clearly imagine your synthetic sound engine licensed to lots of games. The time is right for live audio generation, CPU performance is not much of a worry anymore today. But, don't get robbed by the big players! Know your worth.
You should an inertial governor to control the speed. The spinning mechanism the two balls that opens and closes the gate valve as they spin farther out with speed
honestly that sounds *extremely* close to the real desktop steam engines I've heard over the years. and the underlying physics engine should handle the more complicated steam engines found on locomotives, too.
on loco steam, the piston is powered on both strokes (up and down in this case, but forward/back typically in a locomotive), the valve timing is controlled with the wheels indirectly through something called a Johnson bar. it's basically a channel that the valve linkage can be moved up and down in, closer to the middle, valves are open for less time (coupled with high throttle position, this makes the engine more efficient at higher speed), father to the edge of that channel, they're open for longer. in one direction, the timing moves the engine forward, in the other direciton, reverse. each side of the train is 90 degrees off, so that one piston is always in a power stroke, both being in TDC/BDC would make starting from a stop a pain.
The way you narrated reminds me of the old "How It's Made" episodes; Very cool.
It would be cool if you set the actual audio as one audio channel (left or right) and the simulation as the other audio channel so we could compare how close you are able to simulate. As you generate more engines it would be interesting to me to see if you get closer over time.
So its actually is loosely connected like the pipe can be open and it still works because the sim interactions aren’t needing the real deal of fluid flowing.
16:43 i just wanted to say a more complex steam engine like a locomotive usually has something called "valve gear" wich comes in many variations but essentialy it is a mechanism to controll when and how much steam is admited into the piston, for efficiency.
it would be awesome if he was able to release and update that has a working valve gear so there would be more manipulation within the simulator!
Almost 100k! Congrats! Surprising as always!
Seems like you know all there is to a standard air heat engine cycle. Steam isn't much different, mathematically. If this was a big engine where steam temperature mattered, like a triple expansion engine or a turbine; or you were adding a condenser to the end, you'd need to read up stuff on saturated and superheated steam.
I think if you know your way through a pressure-temperature curve to calculate a steam cycle, you have everything you need to go big!
An ambitious project now:
How about the Titanic's engines?
This was the most amazing thing I have ever seen!
Joining patreon... WOW
I very much enjoyed you programming in leaks. Top notch.
It would be cool to see simulations of other types of engines
Nice job.
Next level: Add centrifugal forces and let turn it 10k rpm.
It always amazes me that someone was the first to design one of thesem
You have me intrigued, will subscribe to see what the future will bring
That is a very fine stimulation on single acting steam engine, great work 👍👏
Thanks 🙏
Great video and congrats on the sponsorship Ange! Extremely happy to see your channel grow!!
Thanks Miro! Appreciate the support and hope you're doing well 🙏
Glad to know i am not the only one who does art before the rest of the project
Haha I used to feel like it was wrong but over the years I've realized it's actually a decent way of doing things
you did great job on engine simulator but I have one little information for you - you should implement engine breaking - I got ferrari 412 T2 to maximum at 6th gear box, than quickly switched to gear 1 and... RPM went to infinity, breaking whole simulator (ofc until reset)