it's really clever, i like it a lot! the little animations and sfx's when you move around and interact with the boxes are also a very nice touch. good job!
Evoleo
Creator of
Recent community posts
So I'm a fan of JS-style `this` keyword and in GM I would make a macro that would map to `self`
It's a purely visual thing, no big deal, but I would still like if GMLive didn't conflict with it :(
It's not that hard for me to manually rename all occurrences of `this` to `_this` in GMLive files using Ctrl+F, but it's tedious if you have to do it every GMLive update
So yeah, would be cool if the transpiler turned it into l_this or something. It's in no way a thing of priority, but it's a nice little addition :p
I 100%'d Celeste and Celeste classic, and I can say this game is ridiculously difficult.
Pretty great, I mean it would be far worse if it was too easy, but sometimes the difficulty spikes that high, that you would spend like 5 minutes on the same fucking checkpoint.
They may or may not have cut a couple levels that would reduce the difficulty spike, which means you dive right into fcking action. In literally the first room of the second area you have to throw a snowball on spikes and then jump on it while it's rolling to progress further
Sometimes it feels like Item Abuse 3 level bullshit with the item juggling and everything, but then you do it and it feels incredible.
In general I think the game is rather fair and totally doable by a human. Really pushes the limits of what's possible in platformers
I don't think it's quality enough to charge money for it.
You'll need to make more games, iterate, learn, improve at graphics + code + game design and only then it might actually be worth to sell your stuff to other people. Ask yourself if you would pay for this game with your own money.
This game won't make money anyway, because:
- you "marketed" to 10 y.o. children in comments, who don't have any money anyway
- most people wouldn't play this for free, let alone pay for this
I know Apollo is Windows/Linux/Mac only, but is there any way to run Lua snippets on Android?
I'm currently trying to run my card game on mobile (I'm not too serious about it, but it would be very cool)
So, is there a way to port Apollo to Android? Or do I have to write an entire new extension in Java from scratch?
I heard C++ code can be run on Android, so maybe you can somehow recompile the code to mobile-compatible binaries instead of .dll? Apparently there're ways to run Lua on Android (for example the LuaJ library for Java), so in theory it could be possible.
Basically all I'm asking is: "is it not too time consuming for you to do it, or in case it is, where can I start researching on the subject to potentially write an extension similar to Apollo, but for Android?"
Thanks in advance
It's weird, but apparently GMLive doesn't like constructors.
it doesn't allow to update:
[live][15.08.2020 12:33:28] Error in foo: [live][15.08.2020 12:33:28] foo[L1,c16]: Expected a statement, got ident
And it causes some weirdness when trying to use keyword `new`:
1)
[live][15.08.2020 12:39:27] Runtime error: [error] `instance#100000(oNotMain)` (oNotMain) does not have a variable `bar` called from oNotMain:KeyPress_32[L8,c20]
2)
[live][15.08.2020 12:37:00] Runtime error: [error] Unable to find instance for object index 101032 called from vm:field_on_field_set (line 13253) called from game:anon_gml_thread_gml_GlobalScript_GMLive_402424_gml_thread_gml_GlobalScript_GMLive (line 11433) - var l_ar1 = vm_v2_gml_thread_v2_handlers[l_act.__enumIndex__](l__gthis, l_act); called from game:anon_gml_program_gml_GlobalScript_GMLive_122919_gml_program_gml_GlobalScript_GMLive (line 2901) - l_th.i_exec(); called from game:live_call (line 10368) - var l_th = l_pg.i_call_v(l_scriptName, l_vals, false); called from game:oNotMain_KeyPress_32 (line 3) - if live_call() called from oNotMain:KeyPress_32[L20,c5] Pause event has been registered for this frame
The first one it crashes on Line 8. Here's the code:
... 7| bar = new foo() 8| show_debug_message(bar.a) ...
The second one may be related to my specific Array() class though
Not sure why, but apparently GMLive really doesn't like methods/functions, defined inside objects.
I had some cursed unreproducible issues on my production projects, then I hopped onto an empty project and faced some weird things there.
Sending the project. I may or may not have spent way too much time on it
I'm using live snippets
The context:
Card game.
I'm loading all the cards from JSON files. Each card has a bunch of characteristics, including "effect" (which is a string of GML code, containing what the card actually does)
Then, the oCardLoader, when loading a card, assigns it a live snippet, containing the effect string.
live_snippet_create()
is called inside oCardLoader
effect()
is called inside the card struct
With this setup, I'm having these errors. Pretty sure it's not too specific to the project (although I may be wrong)
Seious feedback here! (I know it's a jam game, but)
-It often feels unfair. I'll explain in the next points
-Block seems inconsistent. I expect to be completely invincible during block, but for some reason it often allows arrows and sword hits to penetrate
-Spike traps are bullshit. You shouldn't've included them. The first time you meet one is in the end of a level, so when you fucking die you have to redo the whole thing
-Platforming is ass:
1) you lose height when jumping right next to a wall, thanks to Unity's physics system
2) Level design is weird and inconsistent (sometimes you barely make the jump while other times you overshoot and die)
3) The unnesessary buildings within reach are distracting. I died a bunch of times on the first level, trying to jump to an almost reachable block, thinking there was an easter egg somewhere
-Why adding weapon throw in the first place if they're only really used in one level? Really could've explored this idea further. (I ended up endlessly throwing my sword like a fucking Kratos and destroying enemies from distance. Though sometimes the sword just randomly flies off the map softlocking me)
-You should've added at least some checkpoints (for example on pickups). It feels really frustrating when you die and have to RE:RUN the whole level
And most of the time you die from some buggy bullshit, which can be very frustrating
I really believe you should've focused on quality over quantity. I completed the whole game, but 95% of players will just die a bunch of times on some stupid thing, quit the game and leave a bad review
Anyways, I should say despite all the bad things listed above, overall the game is not that bad and even fun sometimes.
Music is good, stone textures/normal maps look pretty nice and I imagine if you find a broken strat to each level it can become pretty fun. The rewind thing is also cool, killin backtracking!
Dunk
So, Dani, at the end, all I want to say is...
K a r l s o n 3 D r e l e a s e w h e n ? ? ?
So I found 2 more bugs (in the interpreter part of the extention rather than the live part)
1) show_message()
and some other stuff doesn't automatically convert real to string (original GM function does)
2) inst.value = other_value
doesn't work
luckily, as a user you can find workarouns (use variable_instance_set() and string() functions), but this still might be a bit annoying and hard to debug (it just silently crashes/doesn't execute code after a complile error)
Here's the example string:
What a legend!
Also I'm not sure if it's fixable at all (it's probably nested inside the GMS 2.3 nature), but local variables from outer scope don't work inside live_execute_string(). (They don't work properly inside of 2.3 functions scope either), fortunately I've already designed a workaround so it's not that big of an issue.
e.x. function(target) {
live_execute_string("trace(target);")
}
^ doesn't work, unless you add self.target = target before the live call (which may or may not have circumstnces)