1. Hey! Guest! The 36th GMC Jam will take place between February 27th, 12:00 UTC - March 2nd, 12:00 UTC. Why not join in! Click here to find out more!
    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:
    232
    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
      • Sound
      • Music
    • Profile
      • Preferences (save ini)
    Basic:
    • Sound system setup

    Some of these features I already made myself and use them quite often, but in GM1.4. Share your thoughts! =]


    Cheers!
    Kezarus
     
    Last edited: Dec 20, 2019
    JaimitoEs, kagamma, matharoo and 3 others like this.
  2. Mert

    Mert Member

    Joined:
    Jul 20, 2016
    Posts:
    441
    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,304
    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:
    232
    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,304
    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:
    232
    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:
    232
    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:
    232
    Don't mind me. Just making a GUI for everyone to use. =]

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

     
  9. Kezarus

    Kezarus Member

    Joined:
    Jan 14, 2018
    Posts:
    232
    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:
    232
    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:
    232
    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! =]
     
  12. Kezarus

    Kezarus Member

    Joined:
    Jan 14, 2018
    Posts:
    232
    I am almost finishing the framework. Just need to document it and it's done!

    Take a peek: link

    I also would like to get the code reviewed by any of you guys. If you want to help just let me know and I send the link with code to you. =]

    Cheers!
     
  13. Kezarus

    Kezarus Member

    Joined:
    Jan 14, 2018
    Posts:
    232
    Hey people! Monastery Framework is done (for GM v1.4 at least). It have full documentation. Any insight is welcome.

    The GM v2 will be coming next. I plan to spread it through the marketplace, itch.io and Git.

    Use this as you please, free of charge. Just credit me in your game, nothing more.

    Documentation

    Git GM v1.4


    p.s.: @Samuel Venable, I will use your modals on the GM v2 and credit you. I didn't forget it, and I am very thankful for your offer. =]
     
  14. Kezarus

    Kezarus Member

    Joined:
    Jan 14, 2018
    Posts:
    232
    Just a video demo of Monastery Framework.



    Please, help me make it better with your critique. =]
     
  15. HayManMarc

    HayManMarc Member

    Joined:
    Jun 21, 2016
    Posts:
    969
    Pretty nice! This should help out a lot of people jump start quick projects. Very nice of you to make it freely available!
     
    Kezarus likes this.
  16. Kezarus

    Kezarus Member

    Joined:
    Jan 14, 2018
    Posts:
    232
    Thanks @HayManMarc ! Just trying to help. =]

    Will convert it to GM v2 (again) and I hope I have all set to go before New Year's Eve.

    I am open to suggestions and feedback. @matharoo already helped me a LOT! Thanks man!
     
    HayManMarc likes this.
  17. Kezarus

    Kezarus Member

    Joined:
    Jan 14, 2018
    Posts:
    232
    Ok, converted and tested. Anyone that would like this can clone the project and use it! =]

    Git GM v2.0

    Will post it to the marketplace as soon as I can. (it's down for me =/)
     
  18. Kezarus

    Kezarus Member

    Joined:
    Jan 14, 2018
    Posts:
    232
    So, I though that I finished the Framework, but I was having some conversation with some forum members and my brother on what else I can put in it. Those are the ideas:
    • Particle System Setup and Playground (where you can test some effects and get the GM code out of it)
    • Multi-Language support (with japanese, chinese and cyrillic)
    • Rebindable Keys on Options menu (basic "wasd" and "fire", control support too)
    What do you guys think about it? Is it too much? Should I put more basic things?

    I plan to do these only on the GM2 version. If anyone ask, I can port it to GM1.4 too.


    Danke! =]
    Kezarus
     
  19. Kezarus

    Kezarus Member

    Joined:
    Jan 14, 2018
    Posts:
    232
  20. Kezarus

    Kezarus Member

    Joined:
    Jan 14, 2018
    Posts:
    232

Share This Page