Game Builder

Game Builder

steverock Jul 11, 2019 @ 3:42pm
July 11th, 2019 Release notes
General:
  • Share your cards to Steam Workshop from the Card Library! Or browse and import other users' cards!
  • Also, import/export custom cards to disk to use between projects
  • Alt+Click a panel's header to duplicate it
  • 3D sound! Sounds can be marked as spatialized (fade out with distance from listener) or not (plays over whole scene)
  • You can now press CTRL+S to save your game (CMD+S on Mac)
  • Press CTRL+L to toggle Actor List
  • Fixed the "overlapSphere" error for projects without that many actors
  • Bug fixes and updates to controls menu - when binding a key, Escape clears it
  • Name of each block style appears as tooltip when mouse over
  • Fixed "black terrain" thumbnail bug (only affected Low Quality mode)
  • Cursor no longer appears in play mode when holding right mouse button
  • Performance: Always use exclusive fullscreen where possible
  • Fixed shadows for Medium Quality

Logic & Scripting:
  • New UI features: uiLine, uiCircle, uiTriangle, uiImage.
  • Images can now be uploaded and used as part of UI. Use with propImage() and uiImage().
  • uiText now supports textSize option
  • UI shapes (rect, circle, triangle) now support FILLED, BORDER and DASHED styles.
  • Changed underlying UI library: some rich-text tags no longer work (like <size>). But <color> and <b> still work.
  • uiGetTextWidth() and uiGetTextHeight() now accept a text size parameter.
  • Fixed some game-reset bugs: message queue is now cleared upon game reset
Last edited by steverock; Jul 12, 2019 @ 3:15pm
< >
Showing 1-14 of 14 comments
Daniel Flores Jul 11, 2019 @ 8:39pm 
thanks, that is awesome ;p
Sandles Jul 11, 2019 @ 10:22pm 
This is what is going to take GB to a new level. Thanks for all the hard work guys!
btco  [developer] Jul 12, 2019 @ 9:12am 
For those using UI API functions:
Note that the UI library change may break your UI text if you were using fancy rich-text tags (anything other than <color> and <b>). In that case it should be straightforward to adapt your code to use the textSize option in uiText instead, but let me know if there are unexpected difficulties or use cases that we didn't think about. Thanks!
Sandles Jul 12, 2019 @ 5:32pm 
steve can you explain how to update existing card packs in the workshop? I navigate to Export > Update workshop pack and see (none) in a game that I've already uploaded a card from.
steverock Jul 12, 2019 @ 7:19pm 
Yo Romans,
So unfortunately we only added the ability to update today, so you can only update new packs. If this is a problem, please just email us your project - we'll be happy to manually edit it with the right update info! You may be able to figure it out yourself actually just looking at the VOOS file after you upload a new pack.

Apologies for the confusion.
Sandles Jul 12, 2019 @ 9:19pm 
Originally posted by steverock:
Yo Romans,
So unfortunately we only added the ability to update today, so you can only update new packs. If this is a problem, please just email us your project - we'll be happy to manually edit it with the right update info! You may be able to figure it out yourself actually just looking at the VOOS file after you upload a new pack.

Apologies for the confusion.

I might try this, but I likely might just wait too until this feature is in the game. Manually editing files isn't something you should be doing for us :)
Sandles Jul 13, 2019 @ 8:04pm 
For those that want to update your card (until this fix is out), follow these steps:

1. Open up the map that has your card you want to re-upload.
2. Save map (be sure you have some props in your custom card and have set at least one of their values before you save! - this is important).
3. Click "View this file"
4. Open up the .voos file in a text editor (I prefer VSCode).
5. Open up Steam workshop and find the workshop page where your card is.
6. Copy the "id" in the url.
7. Go into your .voos file and add the following template. (The existing code in the .voos file will look similar to this template, but not contain any data). Add in the id you copied from step 6 into the "workshopId" section.
"cardPacks": { "cardPacks": [ { "workshopId": 12345647890, "workshopName": "MYCARDNAME", "workshopDesc": "MYCARDSDESCRIPTION", "uris": [ "embedded:47a0dd21889e479ebc03069a744f42dc" ] } ] }

8. Copy the name of your card pack, and description into the fields in your .voos file.
9. You'll need to look for the "embedded" value that corresponds to your custom card. To do this, search your .voos file for the following pattern
"propertyName": "propname",

where "propname" is the name of your prop's value in the card. For an example, since I have this prop in my card:
propString("text1", "", { label: "Dialog 1" }),

I will search for this in my .voos file:
"propertyName": "text1"

Now, in my .voos file I find this object:
{ "id": "82b9689e5f3542b19ff86331f71c1e77", "behaviorUri": "embedded:47a0dd21889e479ebc03069a744f42dc", "metadataJson": "", "propertyAssignments": [ { "propertyName": "text1", "valueJson": "{\"value\":\"a\"}" }, { "propertyName": "text2", "valueJson": "{\"value\":\"b\"}" }, { "propertyName": "text3", "valueJson": "{\"value\":\"c\"}" } ] }

I take the value of behaviorUri and place it in the "uris" section.
10. Save (IN YOUR TEXT EDITOR, DO NOT SAVE IN GAMEBUILDER OR YOUR ADDED CODE GETS LOST!).
11. Now you can go to Library (while in Logic mode) > Export > Update workshop pack and see that your card is available.
12. Clicking your card name will auto-select your card, so all you simply need to do is click Done > Upload.
13. Ta-da!
Last edited by Sandles; Jul 13, 2019 @ 8:07pm
steverock Jul 14, 2019 @ 8:03am 
Wow thanks for writing that up!

Just to be clear, you shouldn't need to do this for *newly* uploaded packs. Only for packs that you uploaded around Thursday. Any packs uploaded from Friday on should have that info in the scene file already. So we won't be making any fixes for older packs. Unless you are referring to some other issue?
Last edited by steverock; Jul 14, 2019 @ 8:04am
Sandles Jul 14, 2019 @ 8:18am 
Originally posted by steverock:
Wow thanks for writing that up!

Just to be clear, you shouldn't need to do this for *newly* uploaded packs. Only for packs that you uploaded around Thursday. Any packs uploaded from Friday on should have that info in the scene file already. So we won't be making any fixes for older packs. Unless you are referring to some other issue?

You may need to retroactively fix these older card packs, as I found when saving the map, the "cardPacks" property gets reset to an empty array. You might need to double-check that code (because I found that behavior last night when I wrote my last comment).
steverock Jul 14, 2019 @ 8:20am 
Originally posted by Romans 8:28:
Originally posted by steverock:
Wow thanks for writing that up!

Just to be clear, you shouldn't need to do this for *newly* uploaded packs. Only for packs that you uploaded around Thursday. Any packs uploaded from Friday on should have that info in the scene file already. So we won't be making any fixes for older packs. Unless you are referring to some other issue?

You may need to retroactively fix these older card packs, as I found when saving the map, the "cardPacks" property gets reset to an empty array. You might need to double-check that code (because I found that behavior last night when I wrote my last comment).

Hmm the array should not be cleared, if it was not empty before. That sounds like a bug. Can you reproduce this consistently? We'll take a look at the code to make sure it's sane.
Sandles Jul 14, 2019 @ 9:42am 
Originally posted by steverock:
Hmm the array should not be cleared, if it was not empty before. That sounds like a bug. Can you reproduce this consistently? We'll take a look at the code to make sure it's sane.

I think what I have to do is fix the .voos file once, save the file, close Game Builder, and then it will work as expected when I re-open Game Builder and try again.
Sandles Jul 14, 2019 @ 9:52am 
Originally posted by steverock:
Hmm the array should not be cleared, if it was not empty before. That sounds like a bug. Can you reproduce this consistently? We'll take a look at the code to make sure it's sane.

I was able to fix all of my card maps except this one, https://steamcommunity.com/sharedfiles/filedetails/?id=1775340394, as I am not able to find the associated card in the "brains" object (step 9 above). Can you tell me why that embedded value is not present in my map file?
steverock Jul 15, 2019 @ 11:48am 
Hey Romans,
Just took a look there - the reason you can't find it is because you didn't change the property value from the default. In this case, the TeleportKey - we don't write it to the brain unless it's non-default.

I did this and the URI for "Debug screen" is: embedded:1274b966cafa478883dedbdd029d4dca

Sorry for all the work-arounds! All future packs you upload should just work and be update-able without any of this. Let us know if not!
Sandles Jul 15, 2019 @ 6:56pm 
Thanks Steve. Looks like that fixed it. Thanks for your help.
< >
Showing 1-14 of 14 comments
Per page: 1530 50