Okay, after some fiddling around with HTML I managed to generate a small widget that has a link to the Algobox description page (i.e. this page) and a direct download link, and you only need the scene number for it, just like in the official forum. I can't add the thumbnail since I would have to magically know the name of the scene:
which I don't know. So for now I'll keep it like this, and add that if anyone wants to put the thumbnail they have to head over to the description, copy the image URL and insert it.
-You're WAY over a decent reciprocation of the pistons. They should move less than half than what they do now
-You're using a bunch of balls, and they have default density??? Use only one, and make it so that it fits just right inside the chamber. Then use density 500 on the balls. if you get too much jet forces use 300
-Almost negligible crank momentum. Make the crankshaft much heavier, if possible make a ring and make it heavy, so that you have more momentum
-Polygon pistons. Nope, use boxes. You can make the polygon so that it doesn't collide, and add a transparent box that collides with the cylinder as the physical part. also make the boxes heavy, like 100 density. If you make a normal sized piston they should weight like 5 kg, this will be heavier than 100 kg because it's huge
Yeah this is the same method I used on a truck, main problem is that a pair of wheels cause hideous lag issues (bogged down my sim 50%) Add ABS (the obvious addition if you'll use these, of course) and you'll need a quantum computer
BTW, would you like to join algo.boards.net? There's almost no activity there but we guess it'll get better eventually. Only thing I ask is if you can upload your best scenes there (not really upload: get the scene number from Algobox, and use the tags [scene]number[/scene] and it will display a dialog with the direct download and a link to the description), then ask others if they want to join.
-read what I told you on your "massive engine, no power" scene
-stagger the pistons... why would you want them to fire at the same time?? Put them at 90º from each other
you simply can't make one. the energy you win when the balls fall is the same that you lose when you raise the balls, so it would just spin indefinitely. ther are losses on the balls' friction and impact, and there is air friction, so it will brake a lot. there's no known way to make a machine that gains energy like twhat you wanna make
I learnt because I've been here for more than five years, and back then the community wasn't this unbearable mass of kindergarten kids. No tutorials but really good scenes.
What I told you on the ther scene was:
-The balls must FIT in the cylinder, not be oversize.
-The balls should have high density, and you can vary it for the throttle (for ex., 500 is okay)
-The piston HAS TO BE A BOX (if you want you can make the polygons of no collision layer and fixate the box to them), and it needs high density! Density 100 for the piston is good. As a rule of thumb for a normal-sized piston you should use no more than 10 Kg mass. 5 Kg is what I usually end up using
-With staggering the pistons I meant put them at 90º from each other, not 180º. This is NOT a 4 stroke design, so having 2 pistons firing at the same time makes no sense.
-That piston travel destroys your RPMs, and it might even give you less torque. At least reduce it to 3/4th
-There's something you can add, called gun tech. Some of my new engines have it. It consists of a V shape where the balls spawn in the middle, so they get fired from there. you might wanna try it
-To avoid flipping pistons you can add a stretched hinge: hinge the pistons to the back of the engine (or something fixated to the cylinder block), put hingeConstant 1e-30 and brake +inf (and activate the brake obviously). To ensure they won't get out of the chamber you can kill the balls 1/8th of a rotation before, or use a timed killer (killer that rotates with the crankshaft)
Otherwise use a lambda linkage or very little negative adhesion on the pistons (experiment, I never used negative adhesion, eanayayo found that)
It'd be nice if you actually replied to the comments. when I saw this scene I thought you had gone over that comment completely since you barely staggered the pistons and you didn't change any densities
The system to add 1 and subtract 1 can be made with a couple of variables and a few lines of code. Just keep in mind that you can use keys.isDown("a") in postStep. (or "z" or "shift" or whatever you want). It'll return true when the key is pressed
So now you go to one of the springs, and under length, you write something like this:
You basically write
scene.my.g == -1? {0.1}:{}
then you copy it and paste it on the {}, like
scene.my.g == -1? {0.1}:{scene.my.g == -1? {0.1}:{}}
then you change the values. You calibrate each value and you're done
And for the gearbox you have a number for each gear, you just make the radius of one of the gears be something like 0.05 + scene.my.gear/100 and the other one say 0.3 - scene.my.gear / 100.
same here. I believe that raising the sim speed is kind of cheating, but it's interesting that you managed to make it work at 60 Hz. Now you should make another blowback gun @ 300 or 400 Hz to see how fast you can get it to work
The engine is definitely getting better, but there are some problems present still. Your way of connecting the four pistons' cranks is really bad. I think there's one disconnected...
Use stretched axles, and also try to keep everything aligned to the grid when you do stuff. That means, no building when the grid is off! To make the stretched axles, you can either use brake, which can withstand a lot of power but slips after some time (the pistons would unsync) or bend, which is somewhat elastic and can't transmit huge forces, but will always try to get to the desired angle and it will be enough force to drive the pistons.
So to do this, you have to add a circle in front of one of the shafts. Open the Geometry actions menu, drag it out so that it stays on the screen, and press Add center axle. After that click anywhere to deselect the circle and the axle, and select the circle again, then move it to the center of the next crank. Add center axle, repeat, until you get to the last crank, when you get to it simply fixate the circle to the crank. Now select the 4 axles (use ctrl + click and shift + mousewheel, just sayin') and go to their script menu, write
Now the pistons will align at odd angles, just try values on bendTarget to get them right. but remember that the angles are in radians: 0 means 0º, 1.5707 (pi/2) means 90º, 3.1416(pi) means 180º, and so on.
I told you that the pistons have to be transparent boxes, well this is better than before but if you look at them you'll notice that they are polygons with box shape... Go to Geometry actions and Transform into box for the 4 pistons
The rod stuff is still flawed. Make the rods heavier (density 100 maybe?) and if you feel like it, make the travel shorter. You can see that there's something horribly wrong there by the way that the pistons move, when they get to TDC they seem to bounce down instead of brake and go back down
There are some things you should take into consideration:
-The whole kart thing plus the guy weights 1400 kg, and everything but the engine is out of scale. By a lot.
For example the guy seems to be 6 meters tall...
-The gear ratios are completely messed up. For example, the last gear's ratio should be almost 1:1.
-When you did those engines, I thought they were just for looks. That piston travel is useless on Algodoo, you'll only achieve tractor engines with rather low torque and low angular velocity. If you want power you need torque and RPMs, so make the piston travel half of what it is now.
-I don't know how the killers are placed, but you kill the balls too early. You should kill them when they are close to BDC, like 15º or 30º of the crank before. If you can't do that easily use a killer ball that rotates with the ignition or the crank
Oh I see you use timeToLive on the balls. N o p e. If you use timeToLive you get close to 0 power on low RPMs... Use killers! The easiest way is making the spawner (white ball at the spark plug thingy) collision layer B, the piston collision layer A and B, and the spawned balls collideSet:= 5 (A and C). They need not to have collision layer B or you'll get a fountain. Now that you have collision layer C used only on the spawned balls, add a killer with collision layer C at like half of the piston travel and move it slightly until you see that the ball gets killed close to BDC. But don't kill it too close or the ball won't get killed when on high RPM.
You forgot to declare the variables... at least Scene.my.power. It doesn't work as it is now. Also, on the fuel's timeToLive, you used e.geom. to refer to the fuel itself, and you used colons. That is wrong, colons are only used when you define the variable for the first time, i.e. when you spawn the fuel. After you spawn the fuel you don't have to use them, or you'll have a myriad of errors. Try making the engine work and opening the console...
Also another thing, e.pos is crap, it always gives back the position of the event but one step late. this makes stuff spawn outside of where you want it to spawn. Always use pos or e.other.pos whenever you can, those two work
This would be the corrected code, with some tweaks from myself (didn't change e.pos though, you'll have to see what to do since it doesn't work well with pos):
One more thing: you're welcome to upload any scenes you want to our alternative site, algo.boards.net. You don't even need to upload the scene, you can get the scene ID here (it's in the url: 160696) and use it there to get a direct download link
It's not really operative yet since we're like 5 guys there, but the idea is for us to upload our meaningful scenes and get people to see them whenever they get there. Like a Popular scenes page but with our best scenes.
The balls shouldn't be thrown upwards. I know that you're using that as a means of throttle, but just use very low density on the balls for idle (around 10)
Just put a collision layer C box upon the cylinders, and make it so that the balls are pushed downwards instead of upwards
Also, I can't see the killers anywhere. Could you make them red or at least visible?
Thanks. I was thinking, maybe it is possible to add something like your polygon manipulation stuff instead of using killable boxes. I'll try to do it on my own for now
I actually tested that and forgot to put it here, it handles around 1000 Nm on 1st gear and 4000 Nm on 5th. The reverse gearbox is really bad, only 200 Nm, but I'll see what I can do to make it better. The option to change mass is there though
Alright, lost cause. Try to make a new engine like this:
-Bigger pistons (AND MAKE THEM BOXES)
-Keep the scene in paused state (If you start the sim, go to the undo steps and click on Undo sim start. Avoid working after the sim has been started, so that you have maximum accuracy). If you try to resize a box when it's been rotated even 0.001 degrees, it WILL become a polygon! So keep it always paused, simulation time = 0.00 s!
-Make the piston travel less than the piston diameter (3/4 the diameter is fine)
-Python has nothing to do with Algodoo boi Python is a programming language like C++ or Java, but Algodoo uses Thyme
-Make the pistons' diameter 0.15625 m and their mass 5 kg
-Don't use adhesion on the balls and stuff, it messes up the killing
-Add a killer box just like I did on the 4 stroke V6 - it's pretty straightforward. Also use collision layer A and B for the piston, B for the spawner, collideSet 5 for the balls (the script), and collision layer C for the killer.
-Make a decent cylinder head, make it collision layer C. Make it big, so that it pushes the balls down.
Actually the reason why your engine has max power at low RPM is not because of the ignition, it's because you are using adhesion. If you use too much adhesion once the balls are going too fast they will get out of the chamber and you'll get less than 3 effective sim steps where the ball pushed the piston. I'd advise you to scrap the adhesion and use Gun tech. The inverted V stuff
I'll brief you a bit with what's been happening around here:
I guess you heard about algo.boards.net already?
No complaints really. I only have an idea for the shifting stuff. I uploaded an old Suzuki RM250 to algoboards, I think it has been on my scenes folder for 2 years...
Well I used only the Shift key to shift gears. A tap means shift up and hold means shift down. Shift also works as the clutch. I think that's a good resolution to the "C and A/Z" to shift.
Also, eanayayo posted a negative adhesion demo over at Algoboards... You're capable of getting more than 2000 RPM and really high HP, using low density balls. The result is almost zero thrust upwards. The engines vibrate a bit but that can be fixed with a rather heavy body
And I found out that using Lambda linkages can allow for very high densities (more than 3000) so you can basically do a 4 stroke engine with realistic HP now. Look at my V6 for that.
If you want to join algoboards, feel free to do so. It's dead for now (never been alive though) but the idea is to upload (or rather post the scene numbers) our best scenes and start putting the new scenes there. We use Algobox as the file hosting site, then get the scene ID from the URL (this scene's ID is 162892) and use [scene] tags to get a direct download link, like this:
[scene]162892[/scene]
This way you don't have to upload the scene somewhere else.
Just an idea. This community is slowly getting better, but it's still pretty doomed