Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
Tags

johnnyonflame

4
Posts
1
Followers
2
Following
A member registered Oct 18, 2018

Recent community posts

(3 edits)

I am documenting my changes as they happen on https://gist.github.com/JohnnyonFlame/9a8817430f7ecef06a1a13d2200e6c47

Example of increase in performance:

This was previously fps_real: 13-ish


Took me a bit to get around this since UTMT was having trouble opening the game's data, my initial findings is that a lot of performance is wasted on the camera's instance deactivation procedure.

You're calling scr_deactivate_offscreen for _every_  physics/monster in the room, which in turn calls instance_activate_region, which is costly since you have a lot of objects in your room.

As an experiment, I rewrote it like this:

instance_deactivate_object(obj_monster_parent)
instance_deactivate_object(obj_parent_physics)
var vx = camera_get_view_x(view_camera[0])
var vy = camera_get_view_y(view_camera[0])
var vw = camera_get_view_width(view_camera[0])
var vh = camera_get_view_height(view_camera[0])
var px = x
var py = y
instance_activate_region((vx - (vw * 2)), (vy - (vh * 2)), (vw * 5), (vh * 5), true)
if (obj_player_cache != noone)
    instance_activate_object(obj_player_cache)
if (framecount == 0)
{
    instance_activate_object(obj_npc_parent)
    instance_activate_object(obj_touch_buttons)
    instance_activate_object(obj_controls_cover)
    instance_activate_object(obj_crt_filter_test)
    instance_activate_object(obj_controller)
}

Behavior is somewhat different, but it provides enough gains to be playable on RK3399 boards.

Hey, first of all I can't not laugh at sneak any time I see that goofy bastard's grin.

That being said, I've been trying to get this game to run on under powered hardware like very old pcs, ARM Handheld/SBCs, etc, but for some reason the game seems incredibly CPU heavy. :(

Those are devices that chew through things like AM2R, Nuclear Throne, Aquatic Adventures of the Last Human and other GM:S bytecode games, so I was wondering if there's anything a bit more obvious you might've missed in terms of optimizations that would help here.


I fully understand that this use-case might be unsupported since those are rather low end, but I thought I would ask anyways.

My game crashed during the boss to the north after the goat skull, and now I can't progress because now there are trees on my way.

Softlocked. :/