Game Jam OSG Jam

T

TDSrock

Guest
Anyone who wants to add banners / badges is welcome! The maximum that can happen is having multiple badges/banners per person :p
Can you PM me some basic ideas. When I have some free time I'll see what I can draw up and send it too you privately for feedback :)
 

trg601

Member
I don't think I will have too much time for this Jam, but I might be able to throw something small in, because I love the concept of this jam!
 
R

rui.rosario

Guest
I don't think I will have too much time for this Jam, but I might be able to throw something small in, because I love the concept of this jam!
Good to know! Any contribution is good!!
 

chance

predictably random
Forum Staff
Moderator
That's strange. What are the alternatives then?
Just make all your variables local to the script -- i.e., no variables (built-in or user-defined) within the scope of the instance that calls the script.

This sounds like a fun challenge. I'll try to enter.
 
R

rui.rosario

Guest
What are tabbed scripts? Sorry, I'm quite new to Gamemaker!
When you create a script there is a tab with the script name. Next to it is a blank tab, if you click it it opens up a new tab with a new script. This script will exist like all others, but to access it you have to open the first script to access the tabbed one :p

(not the best explanation but I hope it is enough)
 

Yal

🐧 *penguin noises*
GMC Elder
Hey @Yal, if you see my example you can see I used a file to check if the game was initialized or not (with the added bonus of it acting as a save file as well :p).
Wouldn't that only work once, though? AKA restarting the game makes it see the file and assume the game is initialized?
 

Nocturne

Friendly Tyrant
Forum Staff
Admin
The GMCJAM is a specific competition, so you can't move other competitions to it's own subforum, but that being said, there should be a subforum just for competitions, like there was in the legacy forum.
Nope. Not at the moment anyway. We don't have the volume of people interested in making nor participating in random Jams to make it worthwhile and the old "Challenges" forum was barely used and the majority of the posts were pretty uninteresting (imho)... We have a Game Jam prefix in the community forum for this very reason, as we do like the community to hold these events and work on things together, but we don't want a load of "challenge" spam either. Also note that the current forum structure is very, very, very unlikely to change for the foreseeable future. We (YYG/Staff) are happy with how it's working and really don't want to clutter the place with loads of subforums like the old GMC. Any changes we make will require an incredibly solid argument for doing it.

At the moment, this topic is fine for discussing the current OSG Jam, and @rui.rosario seems to have everything well in hand. When the Jam finishes he can make another topic to showcase the scripts and the winners, and keep this topic for the discussion until then. :)
 
B

Big_Macca_101

Guest
Yes, you may end up using sound and music, but only if you can generate it within the script.
Just an extension to that, does that mean we are also able to load in sprites as long as they are generated and saved from within the script?
 
R

rui.rosario

Guest
Just an extension to that, does that mean we are also able to load in sprites as long as they are generated and saved from within the script?
If you loose the time during the Jam to actually put in code your encoded sprite, I don't see why not.



Also, @Jobo was very nice in sponsoring the OSG Jam with prizes for the top 3 winners!! :D
Check out the original post for more information
 
B

Big_Macca_101

Guest
If you loose the time during the Jam to actually put in code your encoded sprite, I don't see why not.



Also, @Jobo was very nice in sponsoring the OSG Jam with prizes for the top 3 winners!! :D
Check out the original post for more information
Sorry I may have explained that wrong, I mean by using the sprite_create_from_surface and sprite_save functions, would that be allowed or would that be bending the rules too much?
 
R

rui.rosario

Guest
Sorry I may have explained that wrong, I mean by using the sprite_create_from_surface and sprite_save functions, would that be allowed or would that be bending the rules too much?
Well, for you to create the sprite from the surface you would need to first generate the surface from code.
If you generated the surface from code, you could either turn it into a sprite and save (like you said) or turn it into a buffer and save the buffer. Both are valid approaches based purely on code, at least on my opinion (because you'd still have to code the creation of the images themselves).
 
T

Threef

Guest
Hi everyone!
This one seems like a fun. I even finally created an new account.

So I guess we can still use built-in global variables for not intended way? Like storing data in not used views? :rolleyes:
Code:
draw_circle(view_xview[enemy.first], view_yview[enemy.first], 16, 0);
 
R

rui.rosario

Guest
Hi everyone!
This one seems like a fun. I even finally created an new account.

So I guess we can still use built-in global variables for not intended way? Like storing data in not used views? :rolleyes:
Code:
draw_circle(view_xview[enemy.first], view_yview[enemy.first], 16, 0);
Not really :p No kind of global variable's can be used for data storing / Signalling, etc (this means you can use views, but only for their actual purpose, not for data storing).
 

GMWolf

aka fel666
Hi everyone!
This one seems like a fun. I even finally created an new account.

So I guess we can still use built-in global variables for not intended way? Like storing data in not used views? :rolleyes:
Code:
draw_circle(view_xview[enemy.first], view_yview[enemy.first], 16, 0);
no global variables at all.
@rui.rosario
Should views be allowed? Ibcab think of a couple cheats if you do allow them.
 
R

rui.rosario

Guest
Should views be allowed? Ibcab think of a couple cheats if you do allow them.
They are allowed for normal view operation (it's a way to allow people to resize the window and fake resizing the room size). Other than that it isn't (don't forget code will be reviewed, so there's no point in "cheating").
 

chance

predictably random
Forum Staff
Moderator
No kind of global variable's can be used for data storing / Signalling, etc
So this obviously rules out the built-in globals like score, health, etc. as you said.

What about built-in variables like room, room_width, etc.? These also happen to be global in scope.
 
R

rui.rosario

Guest
So this obviously rules out the built-in globals like score, health, etc. as you said.

What about built-in variables like room, room_width, etc.? These also happen to be global in scope.
Well, unless anyone has any convincing argument, the only globals I see useful are really the ones pertaining to the view (in order to for example change the window size and stuff to the target size).
 

trg601

Member
-snip-
What about built-in variables like room, room_width, etc.? These also happen to be global in scope.
Well I think you could easily get around using room_width, and I don't know see how you could use room anyway, since the script should only have one room.
 

chance

predictably random
Forum Staff
Moderator
...I don't know see how you could use room anyway, since the script should only have one room.
I was toying with the idea of dynamically creating a dummy room, and then checking to see whether that room exists. That could be used to flag whether the script was running for the first time, to avoid re-initializing variables on each pass.

But I've thought about this for about 10 seconds...
 

chance

predictably random
Forum Staff
Moderator
Well, unless anyone has any convincing argument, the only globals I see useful are really the ones pertaining to the view (in order to for example change the window size and stuff to the target size).
GM's built-in variables are useful for lots of stuff, besides their obvious functions. Background variables, window variables, date/time variables, and even the cursor values are global in scope. Even though they aren't normally considered "global variables", like score and health.

I'm not trying to get picky here. ;) Just want to avoid disappointment and confusion.
 
R

rui.rosario

Guest
GM's built-in variables are useful for lots of stuff, besides their obvious functions. Background variables, window variables, date/time variables, and even the cursor values are global in scope. Even though they aren't normally considered "global variables", like score and health.

I'm not trying to get picky here. ;) Just want to avoid disappointment and confusion.
Well, in that case use the variables at your discretion. Since the code will be validated, any usage of it will be checked, so it can then be seen if it was indeed used as a "global variable" or just as built-in :p
 

trg601

Member
Hey, would pasting the text from an image file into the script and saving it as an image file to use as a sprite be against the rules?
 
R

rui.rosario

Guest
Hey, would pasting the text from an image file into the script and saving it as an image file to use as a sprite be against the rules?
First: Good luck with binary characters in the source :p
Second: Yes, you could create a string that you'd then parse into the actual contents (like: 011110000010101010 where each 1 is a black pixel and 0 a white one, and the image is 3 * 6 pixels). But actual pasting of an image file seems to much
 

trg601

Member
First: Good luck with binary characters in the source :p
Second: Yes, you could create a string that you'd then parse into the actual contents (like: 011110000010101010 where each 1 is a black pixel and 0 a white one, and the image is 3 * 6 pixels). But actual pasting of an image file seems to much
Yeah lol, I thought you could just paste the characters inside a string XD

Well I won't be doing that then :)
 
When you create a script there is a tab with the script name. Next to it is a blank tab, if you click it it opens up a new tab with a new script. This script will exist like all others, but to access it you have to open the first script to access the tabbed one :p

(not the best explanation but I hope it is enough)
Yes, I understand now. Thanks! :)
 

Yal

🐧 *penguin noises*
GMC Elder
That's why it also acts as a save file :p
I'm thinking about stuff like game state, though (title screen vs ingame vs paused and so on).

Seriously, I can't comprehend how you would control a game without some sort of persistent data between two steps. I'll definitely sit this challenge out xD
 
R

rui.rosario

Guest
Seriously, I can't comprehend how you would control a game without some sort of persistent data between two steps. I'll definitely sit this challenge out xD
Did you check my example script? Also, you can always go the route of using static data structure indexes :p
 

Yal

🐧 *penguin noises*
GMC Elder
Hence why I advocate by the file-based approach :p
Not sure whether I would recommend checking the file system 60 times per second either, especially with SSDs' properties (in case you need to update the save file every step to carry over data) and traditional HDDs being thousands of times slower than RAM... it could easily bottleneck your game.

"Choosing between pest and cholera", more or less... xD
 
R

rui.rosario

Guest
Not sure whether I would recommend checking the file system 60 times per second either, especially with SSDs' properties (in case you need to update the save file every step to carry over data) and traditional HDDs being thousands of times slower than RAM... it could easily bottleneck your game.

"Choosing between pest and cholera", more or less... xD
It doesn't need to be 60 times per second :p

But I agree, it is easily a bottleneck (and a disk wrecker). Part of the excitement of this competition will be to see if any other method will show up, other than hard-coded data structures or file-based alternatives.
 

Nallebeorn

Member
Yeah, relying on magic numbers and volatile resources totally is good programming :p
Well, promoting good programming practice isn't exactly the point of this challenge though...
Ans there are other hacks you can use too - such as using various getter/setter functions.
 

Yal

🐧 *penguin noises*
GMC Elder
Ans there are other hacks you can use too - such as using various getter/setter functions.
Not sure whether that would break the "no use of local or global variables" rule, though. That would make things a lot easier x3
 

chance

predictably random
Forum Staff
Moderator
Rosario's file-based approach works. And there are non-file approaches that work fine too, without violating the guidelines.

Like Yal said, the challenge is avoiding re-initializing the variables each step.
 
H

Heat4Life

Guest
you all are gonna lose, I'm the real winner, get ready all, I need to win this so I can be great.. why do I need to win this you said? because my life depends on It... I'm gonna be great someday and you all of you average people are gonna lose because my Greatness fuels me, my FIRE fuels me... so again, fear me pls...
 
Top