1. Hello Guest! It's with a heavy heart that we must announce the removal of the Legacy GMC Archive. If you wish to save anything from it, now's the time! Please see this topic for more information.
    Dismiss Notice

Asset - Project Free Asset - Monastery Framework

Discussion in 'Marketplace' started by Kezarus, Nov 19, 2019.

  1. Kezarus

    Kezarus Member

    Joined:
    Jan 14, 2018
    Posts:
    181
    Monastery Framework

    OBJECTIVE
    Create a framework project on GM2 that have some useful functions, GUI elements (buttons, panels, containers), basic Options menu, start Ini files that houses preferences, the basic setup for music, sound and particles.

    DESCRIPTION
    Ok, I will have to do something like that for me, so I plan to make a humble pack with what I deem basic functions and put it on the marketplace. I do not plan to profit on that, but help people with basic things that I find frustrating that GM don't have.

    If you want to help, I would like to kindly ask you to:
    • Ask for features (yes! what do you think is important and basic?);
    • Help me keep functions and nomenclature inline with what is to be expected;
    • How I could well document it;
    • Give proper credit if need be;
    • General advice;
    I didn't find a basic framework like that, just bits and pieces scattered that I have to sew together. If I am wrong, please point it out. =]

    CONTENTS
    This list is a work in progress. It could be improved, some features could pop in or out.

    Live Backlog and Dev Diary.

    Functions
    • chance( percentage ): returns true or false depending on a random chance
    • wave( from, to, duration, offset ): returns a value back and forth in a duration based on time
    • jump_to(distance, direction): teleports an instance to a x, y
    • alert( str, real ): a quick and short debug message
    • split(string, delimiter): return an array of string based on a delimiter
    • nine_slices( sprite, x, y, width, height): creates a tiled image, good for buttons and panels
    • screen_shake: a basic screen shake that moves the camera by x, y and angle for a time
    • draw_text_outline: draw a text with a border
    • draw_set_font_ext( font, colour, halign, valign, alpha ): a short version of a paragraph that I use to write everytime I have to draw some text
    GUI
    • Panel
    • Button
    • Slider
    • Checkbox
    • Textbox
    • Content panel: that scrolls for objects and texts
    • Modals: a box that pops out that freezes the game, show a text and ask a question
    • Basic options menu
      • Resolution
      • Sound
      • Music
    • Profile
      • Preferences (save ini)
    Basic:
    • Sound system setup
    • Particles system setup
    • A particle test ground that you could mess with the variables and extract a code out of it

    Some of these features I already made myself and use them quite often, but in GM1.4. I plan to port them to GM2, starting on January/2020. Now I just want to draw a plan and collect feedback about the project. Share your thoughts! =]


    Cheers!
    Kezarus
     
    Last edited: Nov 21, 2019
    SilentxxBunny likes this.
  2. Mert

    Mert Member

    Joined:
    Jul 20, 2016
    Posts:
    428
    Almost all of the features above can be found in Marketplace separately.
     
    Kezarus likes this.
  3. Samuel Venable

    Samuel Venable Time Killer

    Joined:
    Sep 13, 2016
    Posts:
    1,299
    TL;DR are you just looking for assets to put in a convenience bundle?

    In the case of modals, feel free to bundle my Dialog Module extension as a part of this.
    https://www.dropbox.com/sh/h1z7qmn2r7semj7/AABEdXp58KL_4YqN_M2v1JVea?dl=0

    That free dropbox link gets updated just as frequently as paid marketplace asset, and I have it on dropbox for people who don't want to or can't pay for it for whatever reason, (which is more or less a very loose secret now).

    Screenshots and more details here:
    https://marketplace.yoyogames.com/assets/6621/dialog-module
     
    SilentxxBunny, Kezarus and Mert like this.
  4. Kezarus

    Kezarus Member

    Joined:
    Jan 14, 2018
    Posts:
    181
    Wow, really Samuel? I am flattered! Thank you. =]

    Answering your question, in fact, I am planning to make most of things and put it in a bundle for people to use. I am really tending towards a free package with all these features. I will need that myself, so, why not share?

    I just wish I could deliver a good thing for people to use. =]
     
    SilentxxBunny and Samuel Venable like this.
  5. Samuel Venable

    Samuel Venable Time Killer

    Joined:
    Sep 13, 2016
    Posts:
    1,299
    Yep. As long as you credit me, the asset can be free or paid, in whatever way you want to do that, and if you ever happen to sell it, you don't need to share any profits with me. The C++ and Objective-C source code is included with the extension package inside the zip's. (Also available on Github). Normally I don't require crediting, but that's only when people use it in their games or software. When including it in a bundle or in the case of just redistributing my work by itself as well, I prefer to be mentioned. When the asset package of yours is complete, by all means let me know in a PM and I can link to your project from my asset's page to make it all the more accessible.
     
    SilentxxBunny and Kezarus like this.
  6. Kezarus

    Kezarus Member

    Joined:
    Jan 14, 2018
    Posts:
    181
    Will do, sir! =]

    I am working on the 1.4 version right this second. I hope the port to GML2 doesn't mess it all up. Lol.
     
    Amon and Samuel Venable like this.
  7. Kezarus

    Kezarus Member

    Joined:
    Jan 14, 2018
    Posts:
    181
    Well, did some work and refactoring for easy of use. All panels and buttons use a randomly generated 9-slices function that gets a pools of options and draw the GUI. I am thinking about make a function for animated 9-slices but I am not sure about the exact need for this, so I am open to sugestions about this. =]

    Apparently I can't draw a button to save my life (I tried)... so I'm using Kenney's for now. Also I am very undecided about the font. But, all could be customized on the framework user's side anyway. ¯\_(ツ)_/¯

    I am keeping a live Backlog and Dev Diary if anyone is interested. And a private git that I plan to make public when things are done. =]

    Here is a little example.

    upload_2019-11-21_20-52-29.png
     
    Mert and Amon like this.
  8. Kezarus

    Kezarus Member

    Joined:
    Jan 14, 2018
    Posts:
    181
    Don't mind me. Just making a GUI for everyone to use. =]

    Finished panels, buttons, checkboxes, radio and (just now) input text.

     
    Amon and Samuel Venable like this.
  9. Kezarus

    Kezarus Member

    Joined:
    Jan 14, 2018
    Posts:
    181
    I made this "slide's bonanzza" abomination just to show that sliders are ready and fully customizeable. All drawn with 9-slices.

    upload_2019-11-24_11-5-39.png

    All you need to do is create the instance, throw the parameters at it and voilà.
    upload_2019-11-24_11-8-41.png
     
    Amon likes this.
  10. Kezarus

    Kezarus Member

    Joined:
    Jan 14, 2018
    Posts:
    181
    Just made and Easy GUI update. You draw the components in the room editor, the components understand and translate that to what they need.

    Seems complicated but it's was really simple to make. And it will be easier to the user that prefer the room editor (not my case =O]).

    upload_2019-11-24_17-39-56.png

    upload_2019-11-24_17-42-35.png
     
  11. Kezarus

    Kezarus Member

    Joined:
    Jan 14, 2018
    Posts:
    181
    Did a lot today and I plan to keep trucking and finish this before the end of the year. =]
    • Pause Object: call it and the game is paused, destroy it and the game is unpaused
    • Modals: call a function to pause the game, ask a question, obtain an answer, unpause and callback an event
    • Initial room: to load what is needed
    • Monastery Logo
      sprMonasteryIcon.png
    • Sound: for buttons and typewritter effect. Also the basic setup and load function
    There is more to come. If you want to see what was done and what will be, check out my docs Backlog and Dev Diary.


    See ya! =]
     

Share This Page

  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice