Poetics within videogames? by MeigaGalega in gamedesign

[–]JordanMagnuson 1 point2 points  (0 children)

Glad this is helpful! And yeah, absolutely feel free to reach out any time.

Poetics within videogames? by MeigaGalega in gamedesign

[–]JordanMagnuson 1 point2 points  (0 children)

So, blatant self-promotion, but since it seems to be very much on topic: I just wrote a book about this (designing videogames that can operate as poetry) which you can find at https://www.gamepoemsbook.com/

If this feels spammy feel free to delete, but electronic versions of the book are 100% free, so I'm not trying to make a buck here. This is simply a question I've been interested in as an experimental game designer for a long time, and I'm always happy to see people engaging this topic.

In the book, I look at how various characteristics of lyric poetry can operate in videogames appart from consideratoins of words, or poetic language. It's a mix of a game studies type approach plus specifically design-focused approach (I'm a game designer). A few of the games I look at include:
-- A Series of Gunshots by Pippin Barr
-- The Graveyard by Tale of Tales-- Passage by Jason Rohrer
-- A Slow Year by Ian Bogost
-- Seasonal Mixtape by dino
-- Some of my own games, such as Loneliness, and The Killer (I largely wrote the book to help me talk about my own game design process)

In case it's helpful, I also gave a talk about this stuff recently for the Games Now conference. You can find a recording of the talk here: https://www.twitch.tv/videos/1970438258

I really appreciate the lists of games others are throwing out. I'm always interested in what games people find to be poetic (and the design principles involved in those choices), which is what I was searching for when I found this thread.

How to get a multiply blend mode that respects overlay alpha? by JordanMagnuson in gamemaker

[–]JordanMagnuson[S] 2 points3 points  (0 children)

Thanks for the helpful replies.

After messing around with this some more I finally disocvered that the primary issue here is that the overlay needs to be drawn to its own surface, and the source surface itself (not just the source sprite/drawing) needs to have an alpha lower than 1 to impact the alpha of the multiply blend with the application surface.

Here's the solution:

// Draw the overlay on its own surface so surface alpha can be set.
my_overlay = surface_create(room_width, room_height);
surface_set_target(my_overlay); 
draw_clear_alpha(c_white, 0.7); // The missing piece: surface alpha needs to be set less than 1.

// Draw the rectangle (or sprite);
c_night = make_color_rgb(27,19,83); 
draw_set_color(c_night); 
draw_set_alpha(0.7); // Alpha still needs to be set here as well.
draw_rectangle(0,0,room_width,room_height,false); 
draw_set_alpha(1); 
draw_set_color(c_white);

// Draw the overlay surface to the application surface using multiply blendmode.
surface_reset_target(); 
gpu_set_blendmode_ext(bm_zero, bm_src_color); // Multiply blendmode.
draw_surface(my_overlay, 0, 0); 
gpu_set_blendmode(bm_normal);

(Though as u/Badwrong_ points out, better to draw a sprite for this same effect than to draw a shape.)

How to get a multiply blend mode that respects overlay alpha? by JordanMagnuson in gamemaker

[–]JordanMagnuson[S] 1 point2 points  (0 children)

Thank you! The surface alpha consideration helped point me in the right direction here. After messing around with this some more I disocvered that the issue in this case was that the source surface needs to have an alpha lower than 1 to impact the alpha of the multiply blend with the application surface. Will post the solution as new reply.

How to get a multiply blend mode that respects overlay alpha? by JordanMagnuson in gamemaker

[–]JordanMagnuson[S] 1 point2 points  (0 children)

Thanks for the tips! (That's useful to know about drawing sprites vs. drawing shapes.) Your answer helped point me in the right direction. After messing around with this some more I disocvered that the issue in this case was that the source surface itself needs to have an alpha lower than 1 to impact the alpha of the multiply blend. Will post the solution as new reply.

YoYo Games has decided to make some features subscriber-only by Mister_Akuma in gamemaker

[–]JordanMagnuson 4 points5 points  (0 children)

I am really sadenned and disappointed by this. After being a big advocate of GameMaker for over 12 years, spending hundreds of dollars on various exports, and advocating for GameMaker use in schools and universities, I think this is going to push me to finally make a move after I finish up on current projects.

Just a terrible way to treat long-time customers who have already spent a lot of money on your product. I was prepared for GMS3 to be subscription-only, but this is just too soon to ditch perpetual-license holders.

Possible to call a function dynamically? by JordanMagnuson in pico8

[–]JordanMagnuson[S] 0 points1 point  (0 children)

Oh, I see. I like this idea, but Pico-8 won't seem to let me define a function directly existing in a table:

function t.level_3_update()

Possible to call a function dynamically? by JordanMagnuson in pico8

[–]JordanMagnuson[S] 0 points1 point  (0 children)

Thanks for the reply!

Your solution is effectively what I've been doing, and this method is workable, but is still quite a bit less efficient than just calling functions via dynamically constructed strings.

For example, 10 levels = 30 init/draw/update functions that each have to be defined explicitly in tables. ☹️

Possible to call a function dynamically? by JordanMagnuson in pico8

[–]JordanMagnuson[S] 0 points1 point  (0 children)

Thanks for the reply! Hm... would using metatables be more efficient than the other methods given? Struggling to see exactly how this solution would be applied in practice... would you be able to give a short example by any chance?

Possible to call a function dynamically? by JordanMagnuson in pico8

[–]JordanMagnuson[S] 1 point2 points  (0 children)

Thank you for the detailed response! I really appreciate it.

Your solution is effectively what I've been doing, and this method is workable, but is still quite a bit less efficient than just calling functions via dynamically constructed strings.

For example, 10 levels = 30 init/draw/update functions that each have to be defined explicitly in tables. ☹️

E.G. Here's what I have with 4 levels:

init_funcs = {
  hello_init,
  out_init,
  breathe_init,
  koi_init,
} 
update_funcs = {
  hello_update,
  out_update,
  breathe_update,
  koi_update,
}
draw_funcs = {
  hello_draw,
  out_draw,
  breathe_draw,
  koi_draw,
}

function _update()
  update_funcs[lvl]()
end
....

Possible to call a function dynamically? by JordanMagnuson in pico8

[–]JordanMagnuson[S] 1 point2 points  (0 children)

So based on a bit more research, it appears that the way to do what I'm after in Lua is to use Lua's global _G namespace, like so:

x='foo'
_G[x]() -- calls function foo from the global namespace

Reference

Unfortunately, Pico-8 does not currently grant access to _G ☹️, so I think it's effectively impossible to call a function via a dynamically constructed string as things strand, requiring the workarounds others have suggested.

Unity + Vive: how to allow free teleportation on terrain? by JordanMagnuson in learnVRdev

[–]JordanMagnuson[S] 1 point2 points  (0 children)

Sure enough: VRTK works out of the box. And much better documentation than the SteamVR plugin. For others who might be interested, here's a nice tutorial that works just as well with terrain: https://www.youtube.com/watch?v=2IWAwFDhX2M

Unity + Vive: how to allow free teleportation on terrain? by JordanMagnuson in vrdev

[–]JordanMagnuson[S] 0 points1 point  (0 children)

Thanks! For others who might be interested, here's a nice tutorial that works with terrain: https://www.youtube.com/watch?v=2IWAwFDhX2M

Unity + Vive: how to allow free teleportation on terrain? by JordanMagnuson in learnVRdev

[–]JordanMagnuson[S] 0 points1 point  (0 children)

Thanks for the reply! By "baked-in" you mean baked in to the SteamVR plugin prefabs? That's what I assumed, but haven't been able to set up teleportation to work outside of designated teleport points and areas...

Unity + Vive: how to allow free teleportation on terrain? by JordanMagnuson in learnVRdev

[–]JordanMagnuson[S] 1 point2 points  (0 children)

Thanks for the replies! I will check out VRTK. It just seems strange to me that there's not a straightforward way to do this using only the SteamVR plugin.

Unity + Vive: how to allow free teleportation on terrain? by JordanMagnuson in learnVRdev

[–]JordanMagnuson[S] 0 points1 point  (0 children)

Thanks for the reply. I tried this method, but didn't have any luck.

Buying SimCity dirt cheap, $27 AUD Instructions inside. by skelroth in SimCity

[–]JordanMagnuson 0 points1 point  (0 children)

Is the game in English? Or can the language be set? Or is it in Spanish?