• Hey! Guest! The 39th GMC Jam will take place between November 26th, 12:00 UTC and November 30th, 12:00 UTC. Why not join in! Click here to find out more!

Discussion The reason why I came back to game maker studio...

Status
Not open for further replies.
F

Falconsoft-Industries

Guest
I remembered all the ports I can currently do using game maker studio 1.4 and 2.0 and none of the other products can port to these and that a Nintendo switch module is being considered.

Now why did I leave? You ask?
Simple game maker studio 2.0 is in desperate need of its 1.4 actions back and the appropriate functions, without these when a new comer imports a 1.4 Project to 2.0 the code should not change unless the new comer changes it themself otherwise they get code like Action00097342 = true. Do you really expect them to understand that and what it does? No? I am not surprised by this so if anything give the function a name and arguments that work like other functions and give them a description in the help file.
 
T

Thunder Lion

Guest
I remembered all the ports I can currently do using game maker studio 1.4 and 2.0 and none of the other products can port to these and that a Nintendo switch module is being considered.

Now why did I leave? You ask?
Simple game maker studio 2.0 is in desperate need of its 1.4 actions back and the appropriate functions, without these when a new comer imports a 1.4 Project to 2.0 the code should not change unless the new comer changes it themself otherwise they get code like Action00097342 = true. Do you really expect them to understand that and what it does? No? I am not surprised by this so if anything give the function a name and arguments that work like other functions and give them a description in the help file.
I agree it does need some "core" functionality back. I feel it will become what we've dreamed and also loved from prior versions. I feel some functions unless replaced should not even be made obsolete even. Also I feel action functions (those used by drag and drop) should be available as times they seem to provide a better setup for coding things like action_set_sprite vs using multiple vars and functions to do this one thing. Also I feel the sprite editor is a bit of a pain as it doesn't behave like the old one, though it has many improvements. I think we will get things great again but it takes time and feedback as this game maker is from my knowledge based on a completely different engine that takes advantage of new software and coding technologies which potentiates this to become the best version of game maker yet.

So far I like its design and layout better than prior versions. Also GMS2 I think your great but GM8 was the best game maker (as of now) of all time! Pop culture...
 

Lonewolff

Member
I think we will get things great again but it takes time and feedback as this game maker is from my knowledge based on a completely different engine that takes advantage of new software and coding technologies which potentiates this to become the best version of game maker yet.
Really? I have heard the exact opposite from staff. Most of the code is shared between the 1.4 and 2.x runners.
 
F

Falconsoft-Industries

Guest
For a little while yes, but if I stay those things must change.
For example when I imported my rpg I was creating using 1.4 to 2.0 my code for everything changed right down to the way I programmed my typewriter text effect.
 
Last edited by a moderator:
T

Thunder Lion

Guest
Really? I have heard the exact opposite from staff. Most of the code is shared between the 1.4 and 2.x runners.
I only heard its different but it was from a YouTube tutorialist, I think GMS2 is using newer things however than 1.4, if you notice they dont behave the same, gms2 seems to work overall better. I really think there is a core difference despite the similarities of code.

Also I know things will change.
 
F

Falconsoft-Industries

Guest
So things should work the same way and be programmed the same if they are imported.
 

Lonewolff

Member
My understanding is that internally everything is virtually identical. The only significant difference being 1.4 is built on DirectX 9.0c and 2.1 uses DirectX 11.


So things should work the same way and be programmed the same if they are imported.
'Should' being the operative word. But not always. Sometimes the importer gets it wrong and a bit of code correction is required.
 
T

Thunder Lion

Guest
My understanding is that internally everything is virtually identical. The only significant difference being 1.4 is built on DirectX 9.0c and 2.1 uses DirectX 11.




'Should' being the operative word. But not always. Sometimes the importer gets it wrong and a bit of code correction is required.
That's the thing! Direct X 11 was the big difference. I still think thisnis significant in making it much better.
 
F

Falconsoft-Industries

Guest
Why were view ports replaced with virtual cameras? I mean seriously this is not a 3d Engine. Maybe they could offer a patch for 2.0 to correct the importer.
 
F

Falconsoft-Industries

Guest
Geez I just cannot understand the whole cameras and importing issues.
 
T

Thunder Lion

Guest
Looks that way. I wrote a DX11 renderer for GMS 1.4 three years ago - LOL.
my leg! (Spongebob reference), so it seems. Well to be fair i dont feel cheated. They will be ending support in like april or something for gms1.4 inhave both so im not concerned. I admit it helped me be a better coder in a short time. Photonica was a fun first gms2 project. I havent got the opportunity to work on anything else meaningfully but partly because work flow in s2 is a bit choppy for me (im not use to everything and mess myself up at times)
 

Lonewolff

Member
Must admit I don't touch the camera system. I use my own.

my leg! (Spongebob reference), so it seems. Well to be fair i dont feel cheated. They will be ending support in like april or something for gms1.4 inhave both so im not concerned. I admit it helped me be a better coder in a short time. Photonica was a fun first gms2 project. I havent got the opportunity to work on anything else meaningfully but partly because work flow in s2 is a bit choppy for me (im not use to everything and mess myself up at times)
Yeah, you can't really lose out. GMS 1.4 will be dead soon. Or severely neutered.
 
T

Thunder Lion

Guest
My previous comment was not noticed. Why?
I missed it but I agree they should at least hold virtually the same things in places like the sprite editor. Also the cameras are pretty different, I just figured out how to use draw event to draw hud sprites (i dont use the gui too often only on buttons)
 
T

Thunder Lion

Guest
The way the importer works should be fixed.
What do you mean for older project versions?? I had issues my first time but figured it out, regarding that compatible code stuff it does mess you up a lot, as you said its very diberish yes thats a word i made it what of it?!
 
F

Falconsoft-Industries

Guest
Well if they could put the actions from 1.4 into 2.0 resolving part of my problem I suppose I would stay with game maker studio if they did do this.
 
F

Falconsoft-Industries

Guest
Well only
If yoyogames_fixes_things == true
{
Falconsoft-Industries.stay = true
}
Else
{
Falconsoft-Industries.stay = false
}
 

Lonewolff

Member
Less lines if you do this

Code:
Falconsoft-Industries.stay = false;
if(yoyogames_fixes_things)
         Falconsoft-Industries.stay = true;
 
F

Falconsoft-Industries

Guest
I have been warned not to talk about the other products so if you really want too know pm me.
 

MishMash

Member
Tackling misconceptions:
That's the thing! Direct X 11 was the big difference. I still think thisnis significant in making it much better.
One thing to know about graphics APIs is that they are not the be-all and end-all of performance. A new API has the POTENTIAL to make a game faster, but only if you make use of that new structure. Given that the rendering pipeline that GM provides has practically remained identical in operation, you wouldn't really expect any significant gains vs DirectX 9 as you are pretty much still only using DirectX 9 features and style anyway. You can only really yield a significant improvement if you make specific use of API features and employ good engine-level graphics optimisations. Given how general GMs pipeline is, I would be impressed if there was any sort of significant improvement anyway, given that standard vertex batching and shader operation is quite barebones anyway.
For example, games that are directly ported from DX11 to DX12 can in some cases get slower, this is because DirectX 12 significantly changed the graphics programming paradigm. As one example, replacing constant communication streams between the GPU and CPU with pipeline state objects, so that any time you want to perform a state change, you can perform a bunch of changes in one go. Just throwing this out there as it complements my next point.

Why were view ports replaced with virtual cameras? I mean seriously this is not a 3d Engine. Maybe they could offer a patch for 2.0 to correct the importer.
From a general graphics programming perspective, and from a game design perspective, the concept of having a virtual camera is important. Generally speaking, 3D or not, a camera acts as a unified means of transforming the view. In a 2D game, this can simply just mean scrolling from side to side, but it also means zooming in and out. A "Camera" is a collection of matrices that apply uniform transformations to every subsequently rendered triangle on your screen (sprites are made up of 2 triangles). The reason you use a camera is so that you can generalise your rendering code so that no matter what camera you create, a correct representation of your game is created.
The issue with view ports by design was two fold:

  • 1) There are two main matrices which build the viewport: Projection matrix and the view matrix. Views did not actively give you direct control over these matrices, instead, they did it behind the scenes, and overriding it using the d3d_set_projection function was less than ideal. (Note that this is still useful regardless of whether you are in 2D or 3D).

  • 2) From a gameplay standpoint, it is common that you want to grant view dominance to different objects depending on the scenario. Camera's allow you to dynamically flip between different camera's. Lets say one moment, you want the camera to follow a given player, but after that, you want to switch to a different camera that either showed a different view of the room, or tracked a different object. Doing this conventionally is quite messy and requires lots of manual setting of the viewport variables. Essentially, you would have to fight what GM was doing under the hood to get custom behaviour.
I personally use view transformations for things like creating scrolling content in the UI, or mini-maps, as I can simply modify the transformation and that transformation subsequently gets applied to everything rendered after the base matrix has been modified. Which is far neater applying an offset to every object in that render call, especially if the same render function is used in two different places. As it stands, doing it that way works, but isn't as neat as it could be in 1.4.

Now, this new camera system keeps things general. Good engine design is one in which the programmer does not have to worry about implementing design patterns to achieve common engine functionality, they should instead be able to get straight on with what they want to do, no mess. This new system enforces view modularity, consistency and better habits from the programmer that will subsequently mean it is easier to use overall.

In the short term, you will just have to be willing to learn how to make use of the new and improved features. After all, a programmers #1 skill is being able to learn efficiently.

Considering a new perspective on what GMS 2.0 is:

I'm also personally of the opinion that it is not worth porting a project that is already in development to GMS 2. In some cases, the re-implementation of legacy functions (The ones that get generated in GMS2.0) could actually end up being slower than how they ran in GMS 1.4 given the increased overhead. Trying to retrofit an old project to a new engine prevents you from being able to use the very features and improvements that new engine has made. The one exception to that being that I know GMS 2 has much better resource management and in-engine editors, however level editors for example, are something that you can often implement effectively yourself, especially if you need special features for your project, or plan on making level building open to the players.

Perhaps that's just my opinion, given that the two engines share a very similar VM, in terms of performance. So my question to you is, why go to GMS 2 now, when GMS 1.4 seems to be working for you? I'm not saying GMS 2 is bad, I think it is very good, but I think complaints about the clear differences between the two engines, and YYGs clear intention to improve workflow by changing the way certain things work is a bit unreasonable.

Also, out of general interest, why are you so volatile with regard to staying or leaving? If you find a bug with the software, fair enough, report it on the bug tracker.. but I never understand what these topics where you threaten to leave achieve? If you want to leave, leave. If you want to stay, then stay.
 
F

Falconsoft-Industries

Guest
I am sorry but I am confuzzled now so please cramup.
 

Nocturne

Friendly Tyrant
Forum Staff
Admin
Moderator
I am sorry but I am confuzzled now so please cramup.
So, in a topic with a dozen or more posts, you tell the ONLY user that has actually given you some proper, carefully thought out and well written information to shut up because they are confusing you???? Nice...

GMS2 importer works pretty damn well, and most games will run exactly the same (or even better!) using the compatibility scripts that GMS2 generates for legacy 1.4 functions. The (few) changes introduced to the runner are necessary changes made to improve GML and bring it up to par in some areas with other languages or to permit the language to grow and adopt new functionality more easily (the new camera system, string handling and GPU control specifically). If there is something about these new functions that you don't understand, then maybe check out the manual, check out the helpdesk, or even (GASP!) make a topic in the Programming or Tech Support forum asking for help rather than constantly moaning about how it's not like GMS1.4 or GM8.1 or GM6 or whatever and threatening to leave (or promoting other engines).

Topic closed.
 
Status
Not open for further replies.
Top