I just came by a biiiig problem. The fastloops can’t be easily run on an object which exists in the game multiple times. For example, if I were to use a fastloop on a bullet, you could only shoot one bullet at a time or it would break. It works in a very basic way, but you can’t change the speed of the fastloop or all of the objects will change speed.
While I can make it work with the help of an extension, it starts to lag if there’s a lot of objects in the field.
This pretty much breaks a lot of my plans and I will have to use some extensions to replace the planned fastloop systems. While I’m pretty okay with changing my plans, the main problem will come from the fact that I have full control of a system using a fastloop, while with an extension I am limited to the features of the extension. I really don’t like the idea of my “creativity” being limited to what an extension has to offer.
I’ll probably try to find a plugin(s) that allow “infinite” directions and speed values for movement… although even with that it might be more difficult because I have to work with speed and direction instead of coordinates. The thing is I haven’t had any kind of advanced math in school so I don’t have the knowledge to calculate direction. I’ll see.
In a sense this isn’t a big impact on the game because nothing’s there yet, but it cuts down the amount of ideas I have dramatically. There’s a lot of physics based weapons and items that I planned to include, but I’ll have to replace them with something else or make them less interesting.
For example one of the most important story-based items in the game, Fireflies, were supposed to follow and randomly float around the player, but I don’t know how to do that without a coordinate based movement.
MMF doesn’t support running events faster than once per a millisecond, and this is where fastloops are needed. You can run a fastloop X amount of times, where X in my case is the speed, and the fastloop itself is an action which changes he coordinate by 1 pixel. If I used an system which changes the coordinate by more than 1 pixel to speed it up, it might pass through things that it’s not supposed to.
The problem I always had with that was that fastloops can only be run at speeds divisible by one, which means the minimum movement speed is 1px/1ms, and the next is 2px/1ms and so on. So if your speed value is 0.99, the character doesn’t move at all, at 1.8 the speed is 1, and such. This translates into a pretty choppy movement but I didn’t have time to get around it yet.
The physics aren’t that necessary for anything but the character, so I’m pretty fine for now. The main problem comes with different fun weapons that does other things than shoot bullets, which I find to be the main attraction in the selection of weapons.
It’s a shame that it turned this way but I’ll come up with other things to replace the plans I lost.