Recent community posts
I experienced this fatal error while using lazyload (alongside gmlive.gml's sprite reloading feature for super-fast iteration, not sure if that could affect lazyload though).
[02:34:11] FATAL ERROR: Traceback (most recent call last): File "lazyload.py", line 438, in <module> File "lazyload.py", line 341, in scan_folder File "gm_sprite.py", line 496, in update_sprite FileNotFoundError: [Errno 2] No such file or directory: 'C:\\Users\\Anders\\Documents\\GitLab\\apathetica\\GMS2 Project\\sprites\\spr_player_knife1_in\\spr_player_knife1_in.yy'
Here's log.txt, ctrl+f to find the errors or something. After the first one there's a couple more as I tried to relaunch lazyload, but now it instantly errored when clicking Enable Sync. I had to replace the data folder with a clean one to get it working again.
After the error happened, I noticed lazyload had deleted the sprite that errored, spr_player_knife1_in, from GMS2. So it's certainly true that it wouldn't be able to find the file lol. Why it deleted it I don't know, I certainly didn't delete the source image or anything.
I noticed that when loading or reloading a project, not all scripts that should have the GMLive badge get it. It seems random which ones do and which don't.
Also, when saving a script that should have the GMLive badge, the badge toggles on and off every time I save.
This doesn't seem to be happening with objects as far as I can tell, just scripts.
(every script in the "Input Friend" folder has a live call)
Using the new functions that the recent runtime 184.108.40.2067 update introduced , for example draw_get_font(), makes gmlive error out and doesn't update that event
[live][16:40:49] Error in obj_dialogue_manager:Draw_64:
[live][16:40:49] obj_dialogue_manager:Draw_64[L4,c17] `draw_get_font` is not a function or script
I've been experiencing this behaviour as well.
What I've been doing to fix it is switch to another tab, switch back, hit CTRL+S again and THEN it highlights the correct colour.
Haven't downloaded the newest version just yet, not sure if it works properly there or not Edit: seeing the same behaviour in newest version
I did find it odd that even the GMS2 docs refer to self, other, all and noone as "keywords", but then they use the Constants colour and are called "constants" in the autocomplete, so it might just be a mistake in GMS2 or something. Still, since there seems to be a disagreement between 1.4 and 2, it might be nice to have it as a preference, or even just change it from keyword to constant depending on whether the open project is 1.4 or GMS2.
But eh, don't worry about it if it's too much work. I did manage to dig a little deeper into the GMEdit files and change global from the keyword styling to the constant one, as that was my biggest annoyance. I can probably deal with the others being keywords
Also, did you see the edit I did to the first post, about extension functions?
While trying to replicate my GMS2 colour scheme in GMEdit, I noticed the following words, which all use the Constants colour in GMS2, instead seem to be lumped into the Keyword styling in GMEdit (.ace_keyword):
self other all noone global
Whether they should technically be categorised as keywords or not (probably should), it seems a little silly to not have complete parity with GMS2's theming ¯\_(ツ)_/¯
Edit: It also seems to me like extensions' functions use the script styling, instead of .ace_extfunction which I would've assumed is for extension functions?
I just downloaded GMEdit now, seems very cool! After opening a project and playing around with it for a bit, I noticed the option to display GMLive badges doesn't seem to work properly? All my objects that have if (live_call()) return live_result; don't get the badge, but it shows up if I add the live call twice 🤔
Edit: Upon further investigation, adding a space after #event step (which I guess adds a /// @description to the event?) fixes it.
I tagged it because it uses the PICO-8 colour palette, even though it is not made with PICO-8. A few people have been confused about this in the past ^^
Now that I'm looking at the game's metadata, I see PICO-8 is also somehow listed in the "Made with" category, which is definitely a mistake, I'll see if I can at least fix that.
Hey! That's a good point, I'll think about adding that.
BTW, I'm assuming you're the person who set up a Speedrun.com page for this game? It'd be awesome if you could join the Legend of Xenia speedrunning discord, the rest of the guys have some feedback for you about categories, timing etc.
No it doesn't.
But it does hide it whenever your cursor is on top of the game as to not interfere with the gameplay, as well as try to keep the cursor in the center of the screen (that's how first-person cameras work). Pausing the game will "unstick" the mouse, so you can move it outside the window.
Due to an oversight the intro menu also tries to keep the cursor in the center even though it is not needed at that point.
Shame about the resolution mishap. It's a solid platformer that is unfortunately bogged down by kinda weird controls and one-hit kill. If you fixed just one of these things, the game would be a lot more enjoyable to play!
I've currently only got Linux running in a vm that's really slow and doesn't support sound output, so it's hard for me to test the game properly. So that's a no for now :(
I've been wanting to set up proper Linux for some time though, if I ever get around to actually doing it, then I'll likely put out a Linux version.
Day 5, 6, 7, 8, and some of 9 - who needs a consistent devlog schedule anyway
I am starting to feel the burn a little. Lots of new progress, but perhaps 10 % less than what I would've liked at this point. Anyway, it's going fine! List of new things:
- Moving between rooms
- Work in progress pause menu + HUD
- Rocks, fence posts and trees - got a good workflow of quickly adding inanimate solid objects now
- Sword pickup + sword attacks (I debated a lot whether to have the player carry around an in actual sword and animate it in-game, or do some kinda pre-rendered 2D overlay as part of the HUD - ended up with the latter, animated in Blender, and hey it looks alright!)
- Slime enemies!
- Green is the basic one, 2 HP, fairly random slow movement
- Blue is a bit more tanky, 4 HP, moves directly towards player, then flees for a while when hit
- Red is aggressive, 3 HP, moves by jumping quickly towards the player
- Kbjwes77 has been working hard on composing music for the game, and the prototypes are sounding really delicious!!
Here are some GIFs (most of which you've probably already seen on Twitter by now but eh 😜):
|Sword pickup - at this point in time the equipped sword is a 3D model...||...which would be difficult to animate, and it causes problems like this||Solution: Attacks rendered as 2D sprites, shown on top of gameplay!|
|Slimes!||Putting everything together for the first combat test - it's decent™|
A common way is to just say "while the player is stuck in a solid object, move the player up (or some other direction) until they're not". Bit of a lazy band-aid fix, but it'll do the trick :P
Amazing and beautiful game, as expected from you Ellian :D
Bug report time! Since it's kind of a spoiler, it's in strikethrough text I guess:
I got locked down as the falling monitor landed on me! Couldn't move or jump, and it happened in a place where I couldn't die so I had to restart that level with R.
I tried playing some Celeste Classic just as a comparison, it might be similar volume-wise so you might be right about that
It might just be that your sound effects sound really harsh, that white noise rain effect in particular, oof >w<
Oh, that makes sense.
I would probably just define a specific size for items (8x8 for example) and never make them bigger than that, assuming it's posible enough to draw enough unique looking versions of similar items at that size. I'm doing something similar for weapons and spells, and so far it looks those are all gonna be 5x5 (or even 4x4) lol rip
This seems really interesting!
I like those cinnamon roll bush things :D
I feel like your hud is taking up more space that it needs to. Wasting pixels on big fancy curved panels that seemingly don't need to be that big, at least from what I can tell looking at that bottom left corner ¯\_(ツ)_/¯ The auto-hide thing is neat though.
Day 3, 4
Slow days! Also I did a lot of stuff that wasn't very "showy", so I didn't post yesterday. I also did a lot of experimenting with different things that never resulted in anything concrete getting implemented yet (playing with mipmapping, antialising, texture filtering, different 3D things I haven't touched before), and I also did some UI and menu mockups. You'll see that stuff later.
I added some grass to the ledges of the hills, so that it's easier to tell where the ledge ends, when seen from above (you'll notice that's quite hard in the gif from Day 2). I also added some subtle fog that starts almost immediately, but ends very far away, just to slightly shade the grass below (since it's further away (this was done after the below gif was recorded though). I need to look into proper lighting/shading soon >w<
I also designed a new font, an update of the I made last year. It's just a bit more compact this time around, and slightly more AA'd. Not sure how I like that tbh, might tone it down. I then started working on a textbox/dialogue system, and made a signpost to test it with.
I spent the first half of the day moving stuff from yesterday's prototype project into the "real" project, while refactoring the code, making things neater and more easily expandable. Things like creating a parent object for every single "3D"-enabled object that give them z and height variables since GM doesn't have any instance variables like that by default, making objects automatically use the z value of the layer they are on by default (so I can very easily build terrain with different elevations, place props and enemies at correct elevation, etc.) in the room editor, moved all my custom 3D collision code into a parent entity object that all moving objects like the player and enemies will inherit, etc.
Then I started modelling some 3D "tiles" that I can build terrain with. I'm completely new to modelling, so my process can best be described as "rolling my head around on the keyboard until Blender does the right thing", but eventually got something usable. For the slopes I cheated by just making a 2D texture, and of course it looks much better than everything else... typical 😅
I am looking forward to making more 3D models and implementing some more basic things tomorrow!
Legend of Xenia 3D
Following the first and second games, it's time for the third entry in the Legend of Xenia series! Now for the first time ripping of the Legend of Zelda in the third dimension. At this point I am not sure whether this is a sequel, prequel, remake of 1 and/or 2, an actual ending to 2, or all of the above ¯\_(ツ)_/¯
- Day 1? It hasn't even been 24 hours yet, but I'm going to bed now. "Day 0.5"?
I spent today doing some preliminary engine work. I'm using GMS2, and I'm doing a 3D game, so I set up a base project, and tried to program some simple 3D collisions and ramps. The entire project hinges on this, so it better work. For now it looks like it does, so that's nice.
If Legend of Xenia 1, with it's simple Pico-8 look, was inspired by Zelda games on the GameBoy, and Xenia 2, with its Minish Cap-esque colours, inspired by the GBA... Friends, it's time for janky 3D graphics like on the Nintendo DS! 😃
The idea of making a game where I can't design everything specifically for the 64x64 resolution (as I could with 2D pixelart) is very interesting! I am looking forward to the next 2 weeks a ton.
Here are my fonts from my previous 2 entries, free to use if you anyone wants to:
Xeniatype, 4px tall:
Xeniatype 2, 6px tall (sprite font):