Discord
Login
Community
DARK THEME

Microstudio Designer - Faster Devolopment -> !Please write some ideas/requests below!

My Idea:

A designer, where you can drag item into (rects, lines etc, sprites, maps), see all imortant properties (e.g width, height, etc), give objects functions -> automaticly update and draw for each object. Collision detection concluded, Quick Engine for gravity? That way, Plugins would get the audience they deserve. Of course, we would need some kind of background code generation for the designer, but i think we will get there.

I wrote a very bad desginer in microscript itself once, but the main problem was access to the users sprites. But I think it wasnt bad that this fail. WE can develop an embedded solution (microsript is open source). That way we could make this way more powerfull than in "raw" microscript.

Please leave your ideas below this post!

This will bring this engine to a new level. Browser Engine with Level Designer -> "Theoretical" no code required.

Thanks, Laurenz

Level Designer Feature Ideas

Core Features

  • Drag-and-Drop Interface: Easily drag items (sprites, shapes, etc.) onto the canvas.
  • Object Creation: Quick creation of objects like rectangles, circles, sprites, text, and more.
  • Object Properties Panel: Display and edit key properties (e.g., position, size, rotation, color) in a sidebar.
  • Layer System: Support for multiple layers with ordering, locking, and visibility toggles.
  • Grid and Snap Tools: Adjustable grid for precise positioning, with options to snap objects to grid, centerlines, or other objects.

Advanced Functionality

  • Script Editor: Built-in scripting for objects to control behavior, interactions, and events.
  • Event Triggering System: Easily add events like "on-click," "on-collision," and "on-timer" to any object.
  • Physics Engine: Options for gravity, friction, and bounce to add realistic physics effects.
  • Collision Detection: Automatic collision detection and response for selected objects.
  • Prefab System: Create reusable object templates (prefabs) that can be placed throughout the level.

UI/UX Enhancements

  • Object Hierarchy Panel: Display all objects in a list with grouping, nesting, and search.
  • Animation Editor: Timeline-based editor to create custom animations for sprites and objects.
  • Undo/Redo System: Full undo and redo support for safe and flexible design.
  • Auto Save & Version Control: Automatic save and versioning to prevent data loss and revert to previous versions.

Visual & Audio Features

  • Particle System: Easily create particle effects (e.g., smoke, fire, rain) to add visual interest.
  • Lighting and Shadows: Support for dynamic lighting, shadows, and ambient effects.
  • Sound Manager: Integrate sound effects and background music with options for volume control, looping, and 3D positioning.

Navigation & Editing Tools

  • Zoom and Pan: Smooth zoom and pan controls to navigate around the level.
  • Selection & Grouping: Multi-select and group objects to move and edit them together.
  • Copy/Paste & Duplication: Duplicate or copy and paste objects and entire sections of the level.
  • Measurement Tools: Rulers and guides for measuring distances and aligning objects precisely.

Testing and Export

  • Playtest Mode: Instant playtesting within the designer to see how the level functions.
  • Debugging Tools: Console output and variable inspection to troubleshoot scripts.
  • Export Options: Export level data in multiple formats, including JSON, XML, and engine-specific formats.
  • Plugin Support: Ability to add custom plugins to extend the designer’s functionality.

But a long wish list.

I would prefer

  • better debugging especially with JavaScript and MicroScript + JavaScript code.
  • adding libraries in Javascript (import, export). It is important that such a library becomes immediately available (visible) in MicroScript, or can be easily made so.
  • working copies / snapshots, so that it is possible to set e.g. up to 10 last snapshots (each snapshot is e.g. 1 day of work)

Better graphics for rendering would be nice

Also easier to make sounds would be nice

I love the idea actually! There are probably many ways to do something like this.

One way I could see this working, is in the form of a plugin, which would directly generate code in the main project (add entity ; add behavior to entity...). The would be a core engine with a sort of ECS system probably. Or if you want to avoid the plugin part, it could be just a project template including the core engine and a shortcut to toggle editor mode, using the project API to inject source code (or just JSON files in the assets folder, storing all the game properties, that could work too).

It would be awesome if the project could then easily be enhanced with additional code (that you simply add with the normal microStudio editor). Like adding a new, special behavior, or a specific rendering routine for certain entities...

Start with the smallest possible MVP!

Originally the JSON file is what I thought of but your idea is ten times better. I look forward to this being a thing in microstudio it would be so much fun! To code with better renders.

Best wishes to you Gilles thanks, kaish

it would be nice to have a tool that makes it easier to move the graphical objects. it is tedious and (probably not only for me) a patience game especially when you have to postpone several. this alone would be a great help.

another thing (which recently hit me painfully) is deleting the lib elements in the script editor tree. if you want to delete a part of a lib and don't pay attention, you can delete more than the intention was. the deletion should be able to revert.

howgh :-)

A field (similar to screen.DrawText) where you could enter values or strings (input field) would be nice. I'm thinking about settings right now.

An opportunity to divide the projects into groups would also be very helpful. so you could manage projects by topics.

i was gonna say particle system but it is already put in it

Post a reply

Progress

Status

Preview
Cancel
Post
Validate your e-mail address to participate in the community