18

No Quoting Steam's description of the Greenlight process: Who should submit their games to Steam Greenlight? Is there another way to submit my game to Steam? Steam Greenlight has replaced our previous submission process. Any developer or publisher who is new to Steam and interested in submitting their game to the platform should submit their ...


13

Found a solution from some resource. Go to Global Game Settings, then go to any platform spoiler(for example "Windows" or "Android"), there choose the spoiler titled "Graphics" and toggle "Interpolate colors between pixels" off. Have fun :)


9

The next step would be to secure a budget of several million dollar to hire a team of a few hundred experienced people, because that's what it would take to create the greatest game ever. Do you have several million dollar laying around? Or do you know any publishers who would trust you with a million dollar budget because you have a solid track record of ...


7

This fully depends on the developer at hand and how well the person knows the coding language. Assuming you can definitely do the art side of things, I'll go ahead and list some pros and cons of both engines. Game Maker Studio: Pros: Very, very fast prototyping. Very beginner-friendly coding language called GML. Extremely welcoming community. Cons: The ...


6

What you're describing is effectively running gameplay mechanics in a virtual machine, which can simplify the process of authoring them and insulate against bad behaviour. As it happens, a lot of games already do their gameplay like this under the hood! If you've ever heard developers talk about incorporating scripting languages like Lua, or node graph ...


6

This is intended: NOTE: This function will return the same value every time the game is run afresh due to the fact that GameMaker: Studio generates the same initial random seed every time to make debugging code a far easier task. To avoid this behaviour use randomize at the start of your game. Check the reference here. If you want to have it ...


6

If my GML is not too rusty, the following should work: var allSwitchesOn = true; with(switch) { if(!switched) { other.allSwitchesOn = false; break; } } // allSwitchesOn now has the correct value


5

Short answer: no. Long answer: Game Maker's performance are really bad. If you are a good programmer, you will find yourself hitting the performance wall more than once or pay for the YYC (Yoyo COmpiler) which unlocks decent performances at a price. Libraries like libGDX, slick2D, LWJGL or any other will beat GameMaker by a lot. Object oriented patterns in ...


5

Nobody wants to deal with having to manually scale up every sprite; not only is it a sloppy workspace but it yields to be very unprofessional. I found a solution when turning off interpolation in global game settings didn't work. texture_set_interpolation(false); :) I hope this helps you in your future endeavors.


5

Variables declared with the var keyword are local variables, whereas variables declared without var are instance variables. More information on scope: https://yoyogames.com/tech_blog/41


5

You can do this with a timer like this: In your Create event (or where you want to start your counting): alarm[0] = 1; Then in your Alarm 0 event: global.score +=1; alarm[0] = 10; // how many gamemaker steps until this alarm get's called again A step in gamemaker is the same as fps, default is 30 so 1÷30 = 0.033334 seconds.


5

Borrowing the diagram from disc_code22's answer, let's overlay it with some numbers. For each square, we're going to count how many squares it is left or right from the knight, and square it; then do the same for up/down; then add the two numbers together: You might recognize this as Pythagorean theorem, just without the square root (we don't need it if we ...


4

Assuming the camera follows the character, you should be able to use an image to black out all of the screen except around the character. If your game window is 800x600 for example, create a fully-black sprite that's also 800x600, find the center point of the sprite, then clear out a transparent circle around that point. Been a while since I've used ...


4

I don't know the expected limits of your coordinates so I made them constant-like (i.e. screenLeftX). My snippet chooses a random edge of the screen and then a random value between the appropriate coordinate limits of that edge. var positionAlongEdge = 0; var which = irandom_range(1,4); if (which == 1) //top edge { positionAlongEdge = irandom_range(...


4

object_index This read only variable returns the index of the object that the instance has been created from. So your code would read: if(object_index == obj_square) { // ... }


4

I'm trying to run the code through in my head, so my apologies here. Could it possibly be that roughly 2/3 of the way down the screen, that the move_speed happens such that you can't get to a step_counter that's a multiple of 50 anymore? Your loop starts by decrementing step_counter by move_speed. For example, if step_counter starts at 100 and move_speed ...


4

To dynamically scroll through a very large background made up of smaller frames, there are many different solution; the main idea though is quite the same. The main idea Think of your fifteen background frames as sort of "panels", which you draw one along the other so that they fit the current view width: if your view is 1280 pixels wide, and each ...


4

I would recommend trying to clean up and reduce the number of variables you are keeping track of, as more bugs are likely to develop. But on to your question: The problem you are seeing is that jumping out of a dash appears to be acting like a second dash rather than a jump. This would tell me that there is a problem around how you are setting speed and ...


4

You can check what browser the game is currently being run in with the os_browser constant. If the game is not being run in a browser the constant will be browser_not_a_browser. So to check if it is being run in a browser simply do: if os_browser != browser_not_a_browser { // Being run in a browser }


4

If your ground scrolls at groundSpeed = 240 // pixels per second And you want your jump to cover jumpDistance = 180 // pixels Then your jump needs to last jumpDuration = jumpDistance / groundSpeed = 180 / 240 = 0.75 // seconds Let's say arbitrarily that you want the jump to take a parabolic arc. If we track the time since the jump started, and the ...


4

There are some icons at the right bottom area of the room editor. Check the first one of them:


3

I don't know the specifics of GameMaker, but this is how I achieved this effect in Unity. First I defined a Boundary class that defines the limits of the play area. This class includes a method trimToBoundary that takes an arbitrary coordinates and clamps them to the boundary space, like this Mathf.Clamp (x, xMin, xMax), Mathf.Clamp (y, yMin, yMax), Then ...


3

Having a surface that draws over your entire level probably wouldn't be a good idea in terms of memory usage, but a background that does the same thing would not be any better, in fact it would be worse. You might not have any problem just having each trail piece as an individual object, but objects are pretty heavy weight and can slow your game down if you ...


3

I haven't released any games, but why not make it so your backers have to put in an email with a special code you send them? Your game will be attached to their accounts somehow and you will be able to achieve everything you just mentioned.


3

I'll assume that all the buildings occupy space in rectangular shape. Instead of checking if the mouse is hovering over other buildings, you can check if the building supposed to be built collapses with any other existing buildings at the position of the mouse cursor. So this... if (mouse_check_button_pressed(mb_left)) { if (!collision_rectangle(...


3

The problem I think the main flaw is that you're checking if the object is in the air using the code place_free(x, y + speedAir). That's effectively like this: Imagine your object is shaped like that blue J-tetromino and the ghost version of it represents its position + its speed; where it will be next frame. The yellow is a floor. At the first two ...


3

Looking at the pieces one by one: Invisible floor You can make invisible floor tiles by choosing your usual floor image as the collision mask, and setting the object to have no sprite. Partially transparent floor You'll want to write a script for the object's Draw event, using draw_sprite_ext, tuning the alpha parameter to whatever works best (0 is ...


3

No, this is just a coding convention on the part of the people who wrote the code. You can name your objects however you want (within reason... I'm sure $@#$ would not be a legal name). The idea behind this convention is that you know what type an object is just by looking at its name, which is supposed to aid understanding while reading code. I don't ...


3

I don't know about GameMaker, but usually you need to rotate second object with an angle of the first one like this: // Distances between two object are needed dx = 50; dy = 50; // Cosinus and Sinus are needed cos = Cos(angle); sin = Sin(angle); // Calculate rotation x = cos * dx - sin * dy + Owner.x; y = cos * dy + sin * dx + Owner.y; You can also check ...


3

The bottleneck for games is usually the bandwidth and latency between cpu and gpu, not the number of calculations you're doing. Using your example of 3,000 sprites, the reason it's so slow is because Game Maker draws them all individually, which means 3,000 draw commands going from the cpu to the gpu. Even though each draw command is really simple, every ...


Only top voted, non community-wiki answers of a minimum length are eligible