Game Custom File, Window look, bug(?), and Text Editor

I am creating a game, that includes some extra apps like a file editor. I want to have the file like a user achievement/inventory database sort of like Terraria has. I want it to have a custom format and a custom extension like this:

START FILE
~Filetype PlayerDATA~
Player1:

  • Name “KiwiFruit555”
  • Object Control Authority “ADMIN”
  • Inventory
    -
    Sword
    Pickaxe
    Wood x127
    -

    END FILE

%appdata%/.roaming/KitsuneKata/users/Kiwi.kitkatDATA

Kinda like that, you know?
So would there be a way to retrieve the individual data from the file on game startup (I am also going to include an individual launcher app/scene because a launcher would be cool in my opinion), like the name, authority and inventory? And also a way to write the data onto a file?
Another Question:
Is there a way to have part of the window transparent, and click-through? I want my game to have a MacOS look, but be native to Windows but I don’t know how I would do this…
Another:
I started working on a settings page, but it won’t work :frowning: It only changes the global variable once for the click, and never again! What do I do!??!!?!
And one last one:
I want to have a custom text editor for my custom files, you know? How would I make it?

Some of my questions are more like application-related, but I have only a little coding experience, and it would probably be easier to just use this one program maker for the best performance/compatibility.

  1. Have you looked into the wiki page on file systems?

  2. Look at sprite masking. I’m not sure if there’s much info on it, but effectively a sprite mask determine another sprites transparency. White parts of the mask are solid, black becomes transparent and shades of grey become various levels of transparency, depending on how close the grey is to black or white.

  3. Show us your code for the settings page, and explain a bit more clearly what you are experiencing. We can’t offer help if we don’t know how you’ve handled the events.

  4. Is the text entry part of the wiki any help?

Also, I’d suggest you make a separate thread for each unrelated question. It’d help others find any potential solutions when searching for similar topics.

1 Like

I will make sure to look in the wiki, and next time I will make sure to post multiple threads; I was thinking that I should not clog up the forum with stuff, and that is my reason for placing it all in one, but I know now! I will make sure to try the Sprite Transparency option and also send some of the code, but I like to reply as soon as possible, you know?

The code is
NEW EVENT
if mouse/touch is on the button, the global variable “FullScreen” is set to 0, and mouse/touch has clicked then set global variable “FullScreen” = 1, set animation of “fullscrYNbutton” to “preferred” (set by name of object, but I don’t think this is the issue as it works, but only when it is first clicked), set value of object “descFullScr” to “Do you prefer full screen gameplay, or not? \nSet to “No” by default \nCurrently chosen: Full Screen Preferred”
END EVENT
NEW EVENT
if mouse/touch is on the button, the global variable “FullScreen” is set to 1, and mouse/touch has clicked then set global variable “FullScreen” = 0, set animation of “fullscrYNbutton” to “NOTpreferred” (set by name of object), set value of object “descFullScr” to “Do you prefer full screen gameplay, or not? \nSet to “No” by default \nCurrently chosen: Full Screen is not Preferred”
END EVENT
That is basically the code, sorry I am on my phone right now, I was designing my some icons, but if you don’t understand what I put, or want the actual code I will make sure to try and put it here in the morning, when I access my computer again. (Currently it is 00:34 for me).

Will having sprite mask cause the window (with the frame off) to be see-through, as well as click-through? I want it to have rounded edges and also I am thinking of implementing some sort of overlay? IDK right now but thank you!

The problem is that if the first event fires, it sets the global variable FullScreen to 1 (as well as the other actions). However, it then gets to the second event, guess what? FullScreen is 1, so it actions that event too :slight_smile:

It’s a limitation of GDevelop not having an if-then-else type condition. A work around is to have a global variable (say called ButtonPressed), and then:

  1. Before the first event, set ButtonPressed = 0
  2. In the action of the first event, set ButtonPressed = 1
  3. In the condition of the second action, add a check whether ButtonPressed = 0

You could also refactor your code so instead you have a events like :

Event:
Conditions: mouse/touch is on the button, Mouse/touch has clicked & Trigger once
Action: set ButtonPressed = 0

Subevent 1
Conditions: “FullScreen” = 0
Actions: set ButtonPressed = 1, set animation of “fullscrYNbutton”, set variable “descFullScr”

Subevent 2
Conditions: “FullScreen” = 0, ButtonPressed = 0
Actions: set animation of “fullscrYNbutton””, set variable “descFullScr”

Not sure about the sprite mask part. From what I’m making out of your comment, I think you want the whole game to be transparent, not just a sprite within the game. If that’s the case, sprite masking won’t help you, and I can’t see the app transparency being possible in GDevelop. The way I understand it, GDevelop games are not a free standing app. Instead, they run in a browser (or Electron, a browser like app). And that browser app won’t have the transparency ability.

But let us know if I’ve misunderstood what you’ve meant.

Ok! Thanks! I really wanted the transparency to be possible (Like a desktop overlay:


But if it isn’t possible that is fine! I would have an idea for it to be possibly possible (is this a pun?? I am genuinely asking) maybe for a bigger update like if there is a GDevelop 6 or something. Have a custom browser or application to run GDevelop games so there can be more customizability and prolly compatibility. But I would understand why you wouldn’t do that, because it seems like something really big or unnecessary.

In GDevelop, would it be possible to make an in-game installer for addons, mods, and user accessories? I want to make my game not too space-consuming, but I want a lot of stuff on there. I could probably just make some individual installers for each feature or option, build it in, and let the game run them when needed, but this would eliminate any user-made addons and such, wouldn’t it? So would something like that be possible without having to package so many things?

I have another question, sorry and then I think I will be done, would it be possible to have a settings option for screen resolution? I created a background for my game, but I made it in 1080p and the computer I do everything on is 768p (768x1366) and it looks strange… Also the icons and things I use look weird and can only have a set size if I want it to look good, but I based it off of the background resolution, so I don’t know what to do…

No, not a pun. A pun is a play on words, usually it exploits the different possible meanings of a word or that there are words which sound alike but have different meanings.

For your suggestions on changes to GDevelop, they’re best posted on the GDevelop features requests forum

Regarding your resolution differences, I’d say either crop the background to fit the lower resolution screen, or scale it down and put up with black bars on the sides. If you rescale, make sure you scale both horizontal and vertical by the same ratio i.e. 1080 to 768 is 0.711. Make sure you resize the height of the icons by 0.711.

Thank you so much for all of your help!!!