Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

YellowAfterlife

2,113
Posts
5
Topics
3,400
Followers
38
Following
A member registered Oct 01, 2014 · View creator page →

Creator of

Recent community posts

Сейчас можно скачать бета-версию NTT для u100 с “бета-ветки” ntt_development в Steam.

Она немного сырая и последнему игроку придется писать в чате /gamepad 0 для использования клавиатуры и мышки, но пока что так - сейчас ситуация чуточку лучше, чем в декабре, но я не особо успеваю заниматься личными проектами покрупнее.

You too will want to check whether you are running on the latest GMLive version

It’s in your GameMaker folder, typically %APPDATA%\GameMakerStudio2\um.json

Since becoming a skeleton resets your level back to 1, in co-op this requires you to be the last player alive.

Otherwise yes, the condition for unlocking the skeleton is to become the skeleton once.

You could maybe do it like

#mfunc foreach(element, list) as "keyword" \
for (var element##_list = list, \
	element##_len = array_length(element##_list), \
	element##_i = 0, \
	element = element##_len ? element##_list[element##_i] : undefined; \
	element##_i < element##_len; \
	{ if (++element##_i < element##_len) element = element##_list[element##_i] } \
)

to also allow for

foreach (v, [1, 2, 3]) {
	trace(v);
}

As mentioned before,

  • What’s in the Output tab?
  • Can you reproduce this in the example project?
  • Does calling display_set_gui_size yourself help?

For nesting, check out concatenation - if you do num##ind,

foreach (num, list) {
    foreach (num2, list2) {
        // ...
    }
}

would get their own vars.

For getting the next value, that’s how it goes (and also you should account for zero-sized arrays)

There is nothing else that I can tell you from the limited information that you have provided

So that’s roughly the third of the information that I asked for, but if you want me to guess: you must have imported the Gameframe extension and script (or maybe just the script), but not gameframe_macros, so Gameframe doesn’t know what your original GUI resolution was. You could still call display_set_gui_size yourself to set it after gameframe_draw().

Android doesn’t have a concept of a window so you’ll want to un-tick the checkbox for it in extension properties.

That’s a really old GameMaker version, is this a Pizza Tower mod or something?

Would need screenshots/GM Output to tell you anything, but probably start with checking whether the example project works and the DLL actually compiled - if the “minimize” button doesn’t work in windowed mode, you likely didn’t compile the DLL or compiled it for wrong architecture (latest GM needs x64, old GM needs x86)

Email me your purchase receipt/reference from https://gamemaker.io/en/account/purchases - downloading hasn’t worked properly since marketplace was sunset and uploading now doesn’t work either

Another important thing would be to check that you’re on 1.0.78 because the version specifically fixes assets not being detected due to changes in 2024.11

GMEdit gets the user folder name from um.json, so if the GM IDE logs you out (which it now does more often!), GMEdit can’t figure out where it’s supposed to look for your project state files.

As per note that shows when you hold the mouse over the “color font” option, support varies - for these to semi-consistently show up across major browsers, you need to supply 4 (!) different color font formats, and the library that I use to generate the final TTF/OTF fonts only implements one.

You can change Output➜Countour Type to Outline, but your actual issue is that the in-game font size doesn’t match the font very well and thus your font is getting interpolated at your expense.

You already can using /color red and alike (also accepts #rrggbb), or disable outlines using /outlines.

Зараз ситуація така, що вчора я завантажив 100r6 з 23 виправленнями, а за наступні 12 годин люди знайшли ще 6 багів, тому зараз в TODO списку їх 25.

Може я ще встигну випустити якусь u100 бету NTT до нового року, але я б не сподівався на стабільну багатокористувацьку гру.

If anyone’s wondering, the problem was that the author mixed up Window Freeze Fix (the test project of which is called window_frame) and Gameframe, and I guess Window Freeze Fix is even less stable in latest GameMaker than it was before.

Hm, so I imported the gameframe test project into the same GM version as you’re using, and it seems to work normally, including with this

if (keyboard_check(vk_space)) {
	window_set_position(window_get_x(),window_get_y())
	show_debug_message("re-positioned!");
}

If you can send me an email, I can send you a YYZ and you can see if you can get it to misbehave

Generally makes me think that you have something else going on that causes this weird interaction.

(1 edit)

Gameframe does not modify those built-in functions, so you should start with testing whether they work as intended in an empty GameMaker project (without Gameframe) that has the “borderless window” option enabled. Sometimes things break with GM updates

In GameMaker, application surface is a still surface so all normal rules apply to it - you might do gpu_set_colourwriteenable(1, 1, 1, 0) when you definitely don’t want to deal with alpha, for example

The plan was to work on NTT around mid-December after I finish fixing bugs in the base game, but in the past week Russia has renewed interest in destroying energy infrastructure in my region so it might take a while longer.

Unless someone made a mod for it, there is not - the loadout menu only works with one player and was hidden in coop mode in base game too.

I’ve had a major release on a work project (it’s Nuclear Throne!) last week so I’ve not been able to look into this yet, but we’ll get there; I did receive your email.

Hello, on a glance that should work.

  • What platform is this on?
  • What GameMaker version are you using? Can double-click the version in top-right corner of the IDE
  • Any errors/warnings in the Output?

There’s a contact email on the website

That would be a question for JW (I’m only responsible for technical parts once their design is figured out), but IIRC the plan is to update the various Vlambeer games before thinking of anything else.

Currently you can access the latest NTT version on the “ntt_development” branch on Steam. It doesn’t have u100 content yet, but does have more or less all bug fixes/optimizations.

An actual u100 NTT version will come slightly later because I’m also the person that fixes most of the weird bugs in the update.

On Windows and Linux, display_mouse_get_x and display_mouse_get_y poll the current mouse coordinate directly from the system, but you are still bound by when the game finishes drawing and the window contents update.

The system cursor, on other hand, is drawn on spot whenever the system sends the image to the display, so that’s always slightly ahead of what you can get by drawing in-game.

Yeah, that’s not great - there are two main ways to hide a taskbar button, and this is the one that doesn’t cause oddities due to having a second hidden window.

In 2024.14 you have to tick the “Use legacy DXGI_SWAP_EFFECT_DISCARD” checkbox

Send me an email with the font file if you might, but if I were to guess, you are going past 65535 kerning pairs total and FontHX (the underlying font generator library) doesn’t know that it should split them into multiple kerning sub-tables at that point.

Writing yourself a script that adds kerning pairs using FontForge’s API could be a workaround.

If you can reduce this to a small test project on the latest extension version, email me a copy.

function name() {} has been historically quirkier than name = function() {}, but it’s not illegal as of latest GMLive

If your game is non-commercial, you can compile the extension from source code and use it. It does take a little effort though.

Haven’t noticed that this was marked as spam

Would need the error message at the very least

That’s mildly mysterious, good that it works after a reinstall, but… huh

In the description you can find links to the blog post explaining how I did everything and to the source code. The latest Godot versions have stencil buffer support so it’s now possible to do this slightly better, but I haven’t had time to experiment with this myself.

(1 edit)

Built-in enums are new and a bit of a funny matter because they are defined in fnames like this

AudioEffectType#*

??AudioEffectType
Bitcrusher?#*
Delay?#*
Gain?#*
HPF2?#*
LPF2?#*
Reverb1?#*
Tremolo?#*
PeakEQ?#*
HiShelf?#*
LoShelf?#*
EQ?#*
Compressor?#*

But you can do this for now in the end of obj_gmlive’s Create event

var e:live_enum = live_enum_create_builtin("AudioEffectType");
e.h_add("Bitcrusher", AudioEffectType.Bitcrusher);
// ... more h_add() calls for enum items

I recommend using 1.4.1804, but if you have to use a version where macros and function overriding don’t work, you’ll have to delete the gameframe_macros.gml file from the extension using GM IDE (“expand” the extension resource, then right-click the file), rename the one use of __display_set_gui_maximise_base in gameframe.dll to be display_set_gui_maximise, and restore GUI size manually after calling gameframe_draw.

Window Freeze Fix avoided the freeze on moving the window by embedding a borderless game window into another window, but this revealed to have a number of caveats

Gameframe avoids the issue by drawing a custom frame in Draw GUI event and simulating the common window operations (move, resize, maximize, etc.) with either what GM offers out of box or through a DLL.