pmgl / microstudio Goto Github PK
View Code? Open in Web Editor NEWFree, open source game engine online
License: MIT License
Free, open source game engine online
License: MIT License
It has been suggested to add more indexing options for lists.
Here an example from Python: Indexing in Python
Show notifications (same kind as notifications for new level / achievement) when:
Notifications could be gathered into summary emails once a while.
Since August 2021 Google Play does not accept APK files anymore for upload. They now only accept the AAB format.
This is urgently required for anyone who would like to publish on Google Play.
The APK format is still required for other platforms and play testing.
I think it would be nice allow user to:
Even when searching ; explore queries need to be reworked.
When using forced ratio, mouse and touch inputs are not captured outside the rendering area.
As pointed by theLman on Discord:
It's wonderful to be able to export. However orientation and aspect ratio don't seem to survive the export + import process.
https://discord.com/channels/593735633130749972/593813232888578049/871241744124108800
Both are included in the export, but they are not used on importing. It should be quite easy to do by using setProjectOption
function after creating all files for the new project created on import.
I've been thinking about this thing for a very long time: accessing the sprite palette from code.
This technology was used on the NES console. Of course, then it was used to circumvent the memory limit.
This is my version of how it might look in microScript:
screen.drawSprite("cub",x,y,width,height)
//sprites.cub.colors = [color1,color2]
//sprites.cub.colors[color1] = "rgb(255,255,0)"
//sprites.cub.colors[color2] = "rgb(255,0,0)"
sprites.cub.colors[color1] = "rgb(0,0,255)"
sprites.cub.colors[color2] = "rgb(0,255,85)"
"sprites.cube.colors" is a list of all colors for a "cub" sprite.
Thus, you can use different coloring options of the same tile in different levels of the game.
This opens up some interesting possibilities:
Use less memory in your projects. I came across the fact that I could use the same tiles in different parts of the program by simply changing their palette. This would allow you to store fewer images in the project.
The ability to make some parts of the sprite transparent. Maybe like this: "sprites.cube.colors[color1] = false"
The ability to create an array containing a palette of 64 colors. Color all tiles using this palette. At the same time, tiles can be stored even in black and white. In some way, it will be possible to feel like a developer on the NES :-)
You can create a flickering effect. I ran into such a problem when I wanted to make the boss in the game flicker. Or when I wanted to make a character in the game flicker when he raises a powerup (as in Super Mario Bros). Currently I am implementing flicker only like this:
if invulnerability_time == true then
if Player.display % 2 == 0 then Player.display = 1 else Player.display = 0 end
end
if invulnerability_time == false then Player.display = 1 end
It is difficult to achieve flickering of the character (changing the color alternately) using animation. Let's say we have a character with a bunch of animations for each action. Then for such a flicker, we will need to make separate animations, with the addition of frames with a different palette, through one. So it is very labor-intensive.
Perhaps this will open up some other opportunities that I do not know about. But I think it's worth paying attention.
In addition to this, I would like to have a tool "replace a certain palette color with another" (in the sprite editor). When the image is large and has a complex pattern, the fill tool does not help (too difficult). In my opinion, this is the only reason why I might need to use a different editor. You can even reflect this with a code, but not change the color. In my opinion, implementing a list containing a palette of sprites will also solve this problem (although I technically don't know how it can be implemented). I think the palette is stored for the sprite anyway, but how do I get access through the code? :-)
Hello again !
My map contains animated tiles.
But when the map is displayed, these tiles are not animated.
I tried to add a maps["myMap"].update()
, but no success.
Bug or missing-feature ?
9:21 PM JimB007
:
Pasting copied text into the console input area removes any text that may have been typed in preparation. For me the pasted text should append to the end of any existing text
A place where everything you've liked is collected.
I've tested this online at https://microstudio.dev/ .
When the project uses "microScript v1 - transpiled" language, the following piece of code is transpiled incorrectly. The update statement is evaluated incorrectly which leads to an infinite loop execution. It manifests as a Timeout error.
ox=0
while (ox+=1)<=3
y=0
end
Preventing default breaks common shortcuts like toggle fullscreen, exit app ...
One thing I really miss in that is in other IDE's is auto-complete.
Ace supports auto-completion via a 'live-autocompletion' option:
https://ace.c9.io/build/kitchen-sink.html
Please consider adding auto-complete for microScript
Lua and Javascript is already supported by the Ace IDE so that should be straight-forward enough.
There's a couple of missing features in the actual code editor that would be nice to integrate:
Has also been proposed to replace Ace editor with Monaco, I have no idea which one would be better
Hello !
Tiny detail, but the markdown's horizontal rules are not displayed into the right panel of the Doc editor. (Maybe just a missing CSS ?)
Tested with both online and standalone versions.
Minus horizontal rule : ------
Stars horizontal rule : ******
Underscores horizontal rule : ____
It is hard to edit sprites with a dark colour scheme, they blend into the dark background.
Could we have the same option that is available in the map editor to change the background grid colour?
Yes, images can be downloaded by going to the related web link /sprites/xxx.png but it is quite cumbersome.
Or as it has been mentioned to download the html zip and extract them from there.
I think it would be great if we had a download option in the sprite editor itself.
On the My Projects page the project previews show [Export], [Clone] and [Delete] buttons.
Would be great to have the [Run] button too if ones wants to check different versions to preview them without having to open them all up first.
Live Long and Tinker
Feature request from TinkerSmith:
Regarding what I just posted on the edu channel, what are the chances that code snippets can be dragged into the code editor?
Kinda the same way sprites are added (drag&drop).
I imagine to keep a library of snippets, extension *.ms for sure, that can be used as needed. 'helpers.ms', 'verctorstuff.ms', you get the idea.Yes, I can do that manually with the export/import now, but drag/drop style (or load button) would probably be easier for starters.
https://discord.com/channels/593735633130749972/667401412405362688/870822111755763712
This should be quite easy to add. I think it's worth to make it possible to import file by both drag & drop and from a button to make it also accessible for mobile users.
I merged 2 issues
Folders for code, sprites, maps, sounds, music, assets, everything. Folders and subfolders.
This also impacts:
Currently you have to check public details page for each of your projects to check if there are any new comments on them. It would be useful if I can be notified about new comments.
Corresponding message on Discord - https://discord.com/channels/593735633130749972/667401412405362688/867399225846399039
It might be worth to also consider notifications for comments on projects of other people, where you commented. But I think it might be done separately.
It's a big one, but I believe it would be great to have option to debug your code with breakpoints, steping and watch window with current values of all/selected variables.
Hello !
I was using the markdown Doc editor to develop and document my ideas before jumping into code, and I found it would be useful to be able to edit different pages or files instead of just one.
mouse.wheel
returns | when |
---|---|
1 | scrolling up |
0 | default |
-1 | scrolling down |
The volume parameter in
audio.playMusic( name, volume, loop )
does not seem to affect the playback volume.
For some errors the console output tells you where the error occurred (file/line).
This does not happen for the 3 error messages that you can configure (undefined value, etc.)
There it will list multiple times what is wrong, but if the same variable is used in multiple places of the code I wouldn't have a clue which one caused the problem.
Would it be possible, or make sense, to also add the error reference for those warnings?
Hello !
This happens both online and with the standalone versions.
If you open a project which contains documentation, and if you go to the Doc editor/tab, and if you press CTRL+Z, then the doc will be erased. (you can get it back with CTRL-Y though)
It might be interesting to allow microStudio to support a variety of mobile sensors such as inclinometer and gps data.
Actually I consider this a very low in priority, nevertheless it can open a wide range of possibilities.
mouse.press and mouse.release only return the proper value if only a single mouse button is being pressed. For example, if you are holding down the right mouse button and click the left mouse button, mouse.press and mouse.release will never properly return true for the click of the left mouse button.
Salut ! Super projet !
I'm using microStudio standalone 21.12.22 on Linux.
I'm wondering how to scroll and zoom in/out large maps in the map-editor ?
Bug or missing-feature ?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.