Before i go too deep
Before i get too deep in development, i need to decide whether to go with microStudio or Game Maker. So there are 3 things i need to know before i decide.
I'm making an Earthbound Style game, so i need to be able to interact with objects and launch the fight system when an enemy interacts with me and so on. I'm still new so i wouldn't know how to go about that. I'm pretty sure the Strike/Interact tutorial should help, but i haven't seen anything (yet) that can help me create an object that i can interact with (which again, i think i can use some of the techniques used to make enemies). So it seems like i could make a game like that with this engine. which brings me to
can microStudio handle a full length game? Because most of the games/tools made in micro are, well, Smaller. So i "think" it's capable. But i don't "Know"
and 3.
Can i make layers in the map? because i don't really see a way to layer tiles. Other than loading multiple maps on top of each
-other, or creating a different version of the base tile with another sprite on it, and both of those could get annoying (kinda)
to handle pretty fast.
And here's just a pros/cons list for both engines (in my very brief experience with both)
microStudio:
Pros:
Really lightweight and easy to use
A really simple yet powerful scripting language
A Really user friendly ui
the cross platform compatibility (at least on desktop and mobile)
It's very easy to export and share games
you can't beat the price of free
cons:
Not a very big community
Not that many tutorials as a result of the community not being very big
Not being able to import maps from external sources (with the exception of JSON files, which you would have to write a script to handle)
4.(And this is kind of a small one) Kinda buggy sometimes (at least in the offline version)
Game Maker:
Pros:
A very user friendly ui
A very powerful and somewhat simple language
A huge community with tons of tutorials
Huge and well known titles have been published by devs using the engine
you can export to almost every platform there is (for a price)
cons:
One thing that i've found while trying to learn it is, you need to size the viewing port perfectly to the size of your sprite. Or else it looks distorted (which i still haven't been able to do yet because my player sprite is in a 38x40 canvas)
It's now a subscription only engine (i mean it's free to make a game, but if you want to export it?.. not so much) which brings me to
things can get pricy fast, like if you want other people to play test your game. for desktop exports, it's $5.00 a month. Which isn't unreasonable (i just wish you could still buy the one time purchase licenses) but that's for one month. what if you need another month for play testing? you've now spent $10.00. Which to be honest, "again" isn't "that" bad, but i'm only a teenager, i don't make allot of money XD.
Any advice or feedback is very much appreciated Thank you for reading! :D
I may also end up going with Love2d just because it seems really easy and really powerful
Just my 2 pennies worth. And keep in mind that I'm a script beginner too. The community here might not yet be as big as others, but it's growing steadily. And quite some more experienced buffs here :)
To:
Yes, I'm pretty sure you can make a game like Earthbound with it. But while you learn maybe start small, create small test projects to work out the best approach for the object interactions you need. And if you can't find what you need in the existing projects, I'm sure advice will come once you can clearly define what you need.
Considering that @gilles himself is using microStudio to develop his own next professional projects, I don't think he would do that if he had any concerns :)
Call them maps, call them layers, either way you have to draw them on top of each other. I name them with numbers at the end so that I can use a loop to do that ;)
You noticed that you can set an existing map/layer as background in the map editor? Makes it easier to place tiles in 'overlay' mode.
As you say, every engine has it's pros and cons, in the end it depends on what suits your own style/habbits best. I used a few (also Game maker), but somehow I just love how microStudio is laid out and works.
Live Long and Tinker
For the map layers, that is a planned feature, but for now the best option in most scenarios in my experience is to stack maps. It's a tiny bit irritating sometimes, but it's far easier than making tiles for every different combination. Adding more tiles to different layers creates exponentially more combinations each time you do it with the combination approach. Hope this helps :D
"You noticed that you can set an existing map/layer as background in the map editor?" I actually didn't notice that. Thank you XD
Also this is a project i'm creating "TO LEARN" i have much bigger projects in mind for the future ;)
"As you say, every engine has it's pros and cons, in the end it depends on what suits your own style/habbits best. I used a few (also Game maker), but somehow I just love how microStudio is laid out and works." I second that. Game Maker looks and feels really nice to use "BUT"
GML(Game Maker Language) is just a "bit" more than i need. Not to mention that the visual script "looks" like it would be easier. It isn't, in fact it's kind of annoying to use (but that's just me) you have to look for var in the side bar, or you could search it. which is great for people just starting out who have never coded "anything before". But, i have been looking for a game engine that works for me since 2018! 0_0 I have made a working player in almost every engine under the sun from the very popular, to the very obscure. here's a list of the ones i can remember in order of use XD
ahem*
Unity
Unreal Engine (it had fake 2d that i thought would work)
Godot
GDevelop
Bevvy
Solarus
Defold
microStudio
Love2d
Solar Engine(Corona SDK)
Game Maker
I'm fairly sure i'm forgetting some, but you get the idea. So at this point. Visual scripting is kind of just a hinders me
Don't get me wrong, even though i've done things in all those engines, i still hardly know anything about programming (mainly because i never really got past making the player before i ran into something that made me go (OOoooohh...that's a deal breaker)). out of all of these engines that i've sampled microStudio seems like the best option for me.
So i think i'm going to be sticking with micro. Before i found micro i was at the point where i was about to make my own engine XD. Which i may still do someday, but not any time soon
"For the map layers, that is a planned feature, but for now the best option in most scenarios in my experience is to stack maps. It's a tiny bit irritating sometimes, but it's far easier than making tiles for every different combination. Adding more tiles to different layers creates exponentially more combinations each time you do it with the combination approach. Hope this helps :D"
Yeah definitely even though it's really easy to do that with PyxelEdit it would be a royal pain to make a new tile variation for every single asset i wanted to make and the tileset would be ginormous XD
"The community here might not yet be as big as others, but it's growing steadily. And quite some more experienced buffs here :)"
I second that too. even though the community is relatively small, all of the help i've gotten so far has been very helpful, and informative
Thank you everyone for taking the time to read what i had to say, and for giving me the kind of advice i was looking for :D
In my opinion, everything that can be done in Javascript can also be done in MicroScript (MicroStudio).
MicroScript slows down program execution a bit.
I did measurements for the Voronoi diagram (large) - and the various languages ​​MicroStudio supports.
- javascript time = 1 (60 FPS)
- Microscript 1.0 + Transpiler time = 1.5 (40 FPS)
- Microscript 2.0 time = 6 (10 FPS)
- MicroScript 1.0 + Interpreted time = 30 (1 - 2 FPS)
If you are not going to do a lot of complicated calculations, but have MicroScript drawing sprites, there aren't that big differences in performance.
If you need high performance, write in javascript right away.
Including external libraries in javascript will also speed up the coding.
Why reinvent the wheel or the physics engine.
The MicroScript 2.0 version removed most of the difficulties I found in version 1.0.
I especially like the Image object.
I miss checking the types of variables by MicroStudio.
You enter the name incorrectly and MicroStudio puts a zero there.
In my opinion, it would speed up the execution of the code if the engine did not have to check its type when referring to each variable.
I miss checking the types of variables by MicroStudio.
? You can check the type if needed. Try this:
printType = function(value)
print("Type : "+value.type)
print("Value: "+value)
end
Interesting response if you use it on the default functions (init/draw/update)... MUAHAHA
"In my opinion, everything that can be done in Javascript can also be done in MicroScript (MicroStudio)."
That's true. Anything that can be done in one language can be done in another language (i mean, for the most part) But i'm learning javascript for a few reasons other than performance. If i wanted REALL performance? i would learn C or Rust or...I hesitate to say, Python? etc. I'm learning Javasript because i need to start thinking about my career outside game development, and Javascript is 1, A great beginner language. 2, In high demand. 3, because it's everywhere.
It doesn't have anything to do with what microScript can or can't do. I just need to look to the future.
Thank you all for your patience :)