• Hey Guest! Ever feel like entering a Game Jam, but the time limit is always too much pressure? We get it... You lead a hectic life and dedicating 3 whole days to make a game just doesn't work for you! So, why not enter the GMC SLOW JAM? Take your time! Kick back and make your game over 4 months! Interested? Then just click here!

OFFICIAL GMS 2.3.0 BETA ANNOUNCEMENT

Status
Not open for further replies.

Cameron

Member
It doesn't need a web server to navigate it. Clicking on html links works just fine, it'll guide you to the file in the local folder. Unless you guys are talking about the sidebar which doesn't work for me either.
 
H

Homunculus

Guest
It doesn't need a web server to navigate it. Clicking on html links works just fine, it'll guide you to the file in the local folder. Unless you guys are talking about the sidebar which doesn't work for me either.
The web server is required only for the sidebar as far as I can tell, the rest works just by opening the file.
 
D

Deleted member 45063

Guest
Being a PYgnorant, I had no idea python comes with a web server. Good to know for simple cases like this one
Yeah, I don't usually rely on Python much, but it does end up being installed on my machine for one reason or another, so might as well take advantage of it. And for this type of things it often has a simple one liner(-ish) solution (hint: this is also very useful if you want to securely transmit credentials for someone, since you get logs of who accessed your server - so you can immediately invalidate / generate new credentials if something seems fishy, and you can restrict access to retrieving those credentials to the span of a few seconds).
 

Mool

Member
What a timing. :) Yesterday I finished my game and today I was thinking about starting a new game, but I didnt. My plan was to wait for v2.3. Guess what? Today I got my invite. Crazy timing.


but 1st I test if my old stuff works with 2.3
 
Last edited:

Agneum

Member
Or, how about they suck it up and wait patiently like the rest of us? Everyone will get in, eventually. Posting every day won't get you in faster...

Due to really bad timing I only got in on sunday when realistically I would have gotten in at least on friday. I was checking the follow-up thread in the forums daily until it got locked. And WHY was it locked? Because some people couldn't keep their fingers off the keyboard.

I'm not saying this was the reason I missed it, just saying.
 
Last edited:

xDGameStudios

GameMaker Staff
GameMaker Dev.
Or, how about they suck it up and wait patiently like the rest of us? Everyone will get in, eventually. Posting every day won't get you in faster...

Due to really bad timing I only got in on sunday when realistically I would have gotten in at least on friday. I was checking the follow-up thread in the forums daily until it got locked. And WHY was it locked? Because some people couldn't keep their fingers off the keyboard.

I'm not saying this was the reason I missed it, just saying.
It got closed because people got off topic. This is actually a post to talk about this stuff.. regarding closed beta, applications.
I'm not asking to get in I just asked if the invite wave would continue today (which it did)...

Everyone will get in, eventually.
Not everyone:

This means that people will be getting let in gradually and in waves, and it also means that some of you won't get into the beta at all due to the sheer number of user requests to join.
Everyone will get the software when it comes out but not everyone might get IN the beta stage :(
 
Last edited:

Agneum

Member
Everyone will get the software when it comes out but not everyone might get IN the beta stage :(
That would contradict the following statement:
... Everyone will get access eventually.
Unless he meant access to the actual software, I would assume they would close applications once they reach point they no longer believe the applicant would be able to get in. Applications still seem to be open.

As someone mentioned the ticket count doesn't necessarily equate to Beta Signups or the order at which you get in. And if there are only 50 people who get in today doesn't mean 100 people won't get in tomorrow.
There also may be other factors at play (age of your account for instance, how many bug reports you've filed, etc. etc.), even if they say it's first come first served.

I'm just saying that in the end it really doesn't make a difference. You got in friday at 3pm, if I had to make a guess, I'd say your chances of getting in next week are pretty good. Speculation adds nothing to the thread though.
 
Last edited:

Zhanghua

Member
That's worth to waiting for the release after these waiting day.

And I will not bump here except the technical question.
 

Amon

Member
An example please?

I have my ship object in a room. I want to have a Struct to move and control the ship. How would I do this?

Thank you.
 

xDGameStudios

GameMaker Staff
GameMaker Dev.
An example please?

I have my ship object in a room. I want to have a Struct to move and control the ship. How would I do this?

Thank you.
A struct to control the ship? what do you mean, can you be more specific?
a struct is a container for data like an array. What you are asking is something like:

"I want to have an array to move and control the ship" (sounds kind of confusing!)
 

Amon

Member
Well, this example from the manual is why I'm confused. My ship would have specific features, and they would be upgradeable. Looking at this code from the manual lead me to believe I could set up a struct with inline functions to control the data within the struct. How would I apply something similar to my ship object?

GML:
var _xx = 100;
mystruct = {
    a : 10,
    b : "Hello World",
    c : int64(5),
    d : _xx + 50,
    e : function( a, b )
        {
        return a + b;
        },
    f : [ 10, 20, 30, 40, 50 ]
    };
 

Niften

Member
How would I apply something similar to my ship object?
you would literally do the same thing.
GML:
ship = {
    name : "Cruiser",
    fuel : 100,
    tier : 2,
    size : 10
};
to access/change the data within the struct, you would use dot notation: ship.fuel -= 10;
 

Amon

Member
That, I do know. The function in the struct though.... if I added, for example, move : function( x, y ), how would I bind it to move the ship?
 

xDGameStudios

GameMaker Staff
GameMaker Dev.
you would literally do the same thing.
GML:
ship = {
    name : "Cruiser",
    fuel : 100,
    tier : 2,
    size : 10
};
to access/change the data within the struct, you would use dot notation: ship.fuel -= 10;

Okay I think I understood. You want to control the data of your ship that is inside a struct with inline functions

GML:
ship = {
    name : "Cruiser",
    hp = 200,
    fuel : 100,
    tier : 2,
    size : 10
  
    change_name : function(new_name)
    {
        name = new_name;
    }

    damage : function(amount) {
        hp -= amount;
    }
};

ship.change_name("VICTORY SHIP");
ship.damage(120);
The binding you want doesn't work exactly the way you are thinking:

you can create a function inside the ship

GML:
/// SHIP CREATE EVENT

velocity = { x: 0, y: 0 }

change_velocity = function(xspd, yspd)
{
    velocity.x = xspd;
    velocity.y = yspd;
}

/// SHIP STEP EVENT

x += velocity.x;
y += velocity.y;
then you can call the function from outside or inside the instance:

GML:
instance.change_velocity(2, 2);
OR

GML:
obj_ship.change_velocity(3, 3);
 
Last edited:

Nocturne

Friendly Tyrant
Forum Staff
Admin
So is 2.3 Stable going to be considered Open Beta, which will come out after this phase of Closed Beta is done?
Afaik (and I could be wrong, so don't take this as gospel) this isn't a closed beta, it's a public beta (ie: everything in it is public knowledge and it's open to the public, although in a limited fashion), then there will be open beta (when everyone can get it), then it will go stable. It might go from public beta straight to stable though... will depend.
 
Afaik (and I could be wrong, so don't take this as gospel) this isn't a closed beta, it's a public beta (ie: everything in it is public knowledge and it's open to the public, although in a limited fashion), then there will be open beta (when everyone can get it), then it will go stable. It might go from public beta straight to stable though... will depend.
Oh wow. Okay, I didn't that know! Thanks for the explanation! :)
 

Mool

Member
Small question: Is that beta only for windows licences? I cant start a empty room:

I always get: your licence does not have this module enabled.
After that the circle isnt stopping rotating in the top right corner

I own GMS 2 Mobile.
 

Nocturne

Friendly Tyrant
Forum Staff
Admin
@Mool : Please contact the helpdesk. If you are on the beta then it should compile and run regardless of the licence as far as I know.
 

MudbuG

Member
Fenix Web Server is another easy way to view the downloaded documentation (if you want the sidebar). I use it for testing some HTML5 stuff on occasions. Unzip the HTML doc to a folder, add that folder in Fenix as a site, start it... click on the new site in Fenix ... magic happens.
 
Last edited:
I don't think tagging will make the inheritance obsolete!!
Regarding tags even though you can assign multiple to each object, tags are just strings so you cannot use it with the with statement.

GML:
with ("enemy") // DOESN'T WORK
{ }

//also, how would you go for selecting multiple tags?

with ("enemy" and "tall") // DOESN'T MAKE MUCH SENSE
{ }
the only way I can imagine it being used is:
(note: this is pseudocode)
GML:
with (obj_enemy)
{
    if (! instance_has_tags(....)) continue;

    // do your stuff here!
}
but this will iterate over all the enemies again creating unwanted overhead...
I don't know if you can use with statement to iterate over all structs of the same type... (that could be interesting)

As you can see some stuff can't be done using tags only... I think they will complement each one.
Neither will become obsolete.
I posted this in a Tweet some days ago - it is possible to use "with" and tags together :)
By using `tag_get_asset_ids()` you can get the object indexes of a tag, which can be looped through using `with`, and with a few macros you can make it all a pretty simple thing.
Of course, if you use `break;`, it will only break out of the current `with`-block, so one should be mindful of that.

But I totally agree with you, tags won't make inheritance go away. It is different tools for different use cases.
 

gnysek

Member
Small question: Is that beta only for windows licences? I cant start a empty room
I once got issue like this, that project which I opened in beta wasn't allowing me to use any other export than Windows, showing message that I don't have that export. But when I closed IDE and created totally new project, all worked and I was unable to reproduce this anymore.
 

Mool

Member
@gnysek Nah still not working.

I also converted my project to v2.3 and there are a lot of bugs. I couldnt even start my game once. Are there know with (xxx) bugs ?

GML:
function gui_panel_addComponent(argument0, argument1, argument2) {

    Log ("####");
    Log (object_get_name(argument0.object_index));
    Log (object_get_name(argument2.object_index));
    Log ("####");

    if (is_undefined(argument0) || is_undefined(argument2)) {
        LogError("gui_panel_addComponent -> arguments are undefined!");
        return;
    }

    with (argument2) {
    
        Log("a")
        gui_activePos = [0, 0];
        gui_inactivePos = [0, 0];
        gui_depth = argument0.gui_depth - 1;
        Log("b")
        gui_myPanel = argument0;
        panelOffset = argument1;
        Log("c")
        with (argument0) {
            Log("d");
            Log (object_get_name(object_index));
            Log(variable_instance_exists(self, "panelComponents"));
            Log(is_undefined(panelComponents));
            Log ("Exists_:", ds_exists(panelComponents, ds_type_list));
            ds_list_add(panelComponents, other);       
        }
    }


}

MY OUTPUT:

04-30 23:26:49.919 15557 15608 I yoyo    : #### (obj_gui_wps_btn_tutorialNext|ev_step)
04-30 23:26:49.919 15557 15608 I yoyo    : obj_gui_wps_pnl_tutorial (obj_gui_wps_btn_tutorialNext|ev_step)
04-30 23:26:49.920 15557 15608 I yoyo    : obj_gui_wps_btn_tutorialNext (obj_gui_wps_btn_tutorialNext|ev_step)
04-30 23:26:49.920 15557 15608 I yoyo    : #### (obj_gui_wps_btn_tutorialNext|ev_step)
04-30 23:26:49.920 15557 15608 I yoyo    : a (obj_gui_wps_pnl_tutorial|ev_step)
04-30 23:26:49.920 15557 15608 I yoyo    : b (obj_gui_wps_pnl_tutorial|ev_step)
04-30 23:26:49.920 15557 15608 I yoyo    : c (obj_gui_wps_pnl_tutorial|ev_step)
04-30 23:26:49.920 15557 15608 I yoyo    : d (obj_gui_wps_btn_tutorialNext|ev_step)
04-30 23:26:49.920 15557 15608 I yoyo    : obj_gui_wps_btn_tutorialNext (obj_gui_wps_btn_tutorialNext|ev_step)
04-30 23:26:49.920 15557 15608 I yoyo    : 0 (obj_gui_wps_btn_tutorialNext|ev_step)

seems like argument0 and argument2 are switched.
 

drandula

Member
Ship.move
Here's another dumb question for anybody who knows: where's the beta forum? 😅
Gonna work on this animation for a few more hours to make sure I have a firm grasp on sequences, and then I'll post the suggestions I end up with.
Look first post in this topic, you find the link there. It was later added. To access beta forums you need to have beta access.
 

Hyomoto

Member
Here's another dumb question for anybody who knows: where's the beta forum? 😅
Gonna work on this animation for a few more hours to make sure I have a firm grasp on sequences, and then I'll post the suggestions I end up with.
Tripped me up as well, you know that post they give you that's like, "How to report bugs in 2.3!" That actually is the forum. If you click the back button you'll be in the beta forums. In hindsight it's like, oh, okay well that's obvious. But when you first read it you are just like, "Make a post where?"
 

xDGameStudios

GameMaker Staff
GameMaker Dev.
I posted this in a Tweet some days ago - it is possible to use "with" and tags together :)
By using `tag_get_asset_ids()` you can get the object indexes of a tag, which can be looped through using `with`, and with a few macros you can make it all a pretty simple thing.
Of course, if you use `break;`, it will only break out of the current `with`-block, so one should be mindful of that.

But I totally agree with you, tags won't make inheritance go away. It is different tools for different use cases.
it's "possible to use with and tags together".... well not really..
1) you need to use tag_get_asset_ids() to loop through assets and get object indexes with the wanted tags
2) then you need to loop over the objects in the list/array the previous function returns and use with
3) with will then loop over the instances (too many loops xD)

I knew that was possible... just was wondering if we could natively get a list of actual instances instead of objects ;)
 
Last edited:

FoxyOfJungle

Kazan Games
I remember that there is a bug with the program_directory environment variable, it returns a different value than when it is used. I don't have the beta, so I'm talking right here, I think it would be interesting if your team could analyze this, since the zip_unzip() function doesn't work correctly with the sandbox disabled.

My thread about the problem:
 

kburkhart84

Firehammer Games
I don't see much mention of it, but there does exist in 2.3 the try/catch and throw for error handling. I will be adding throws to my assets where I think it is appropriate. Previously I just had to return from the functions a 0 and just hope the user would check for valid values. I can easily handle someone trying to initialize my systems extra times, but trying to use the system before it is even initialized, even though I'm checking for it first, I think still warrants an error that forces the game to exit. This would make you figure out and fix the issue(and that shouldn't be hard at all since you can put whatever text you want in that error message too).
 

XanthorXIII

Member
I remember that there is a bug with the program_directory environment variable, it returns a different value than when it is used. I don't have the beta, so I'm talking right here, I think it would be interesting if your team could analyze this, since the zip_unzip() function doesn't work correctly with the sandbox disabled.

My thread about the problem:
Did you open a ticket for this? That would be the way to report that issue so they can get it into the system for investigation and fixing.
 

Mool

Member
Have someone tested to convert a v2.2.5 project to 2.3? I cant even start my game. A lot of crashes for me. Before my crashrate was 0.05% (google play statisitc). I will report them soon.
 

Hyomoto

Member
I did a small test to port over the toolset my game is built on top of and that didn't work. I'm not surprised. Porting the whole game over would be ridiculous, the chance of that working flawlessly is 0. It has 25 thousand lines of code.
 

Mool

Member
Y I have also have ~25k loc. Nothing works. It would be good if everyone converts his project and reports the bugs. Then we all have no problems with production. Testing only the new features is good, but we also need to test the old stuff. I found for example very simple bugs. Like room start isnt working as in 2.2.5 or phone orientation isnt working. Every error report has line -1... IDE lags, other/self reference is isnt working as in 2.2.5 ...
 

Cpaz

Member
I did a small test to port over the toolset my game is built on top of and that didn't work. I'm not surprised. Porting the whole game over would be ridiculous, the chance of that working flawlessly is 0. It has 25 thousand lines of code.
Not too surprising. I've been trying to port over a backup of my current project, if only to see what breaks.
At the same time, I was surprised how easy some of the fixes were. There was a few keyword co conflicts, and a few built in functions have broken, but besides that, it's been shockingly straightforward.

But yes, if you're too far deep into development, either start over, or just finish in 2.2. I was fortunate to be early in enough where refactoring a bit isn't that big a deal.
 
Status
Not open for further replies.
Top