RhenaudTheLukark / CreateYourFrisk

Rhenaud The Lukark's Unitale fork
GNU General Public License v3.0
135 stars 57 forks source link

Time to bury the poor engine? #55

Closed deonix37 closed 5 years ago

deonix37 commented 5 years ago

Just by starting programming an encounter, I've ran into a dozen of engine bugs. It's painful to look at this largely untested mess. Somebody should take notes for future projects.

Eir-nya commented 5 years ago

Please be more specific. What engine bugs? What did you do to cause them? And did you ask for modding help and share your code first to make sure you're not doing anything unintended?

RhenaudTheLukark commented 5 years ago

Remember what happened last time, when most of your "engine bugs" were just you not using Lua properly :V

deonix37 commented 5 years ago

No u

deonix37 commented 5 years ago

1) Arena's black area (the inside) and the arena's white borders are located on different layers. Screenshot 2) Changing an enemy sprite's layer breaks it's binding to arena, i.e. it stops following it. monster['monstersprite'].layer = 'Top' 3) BindToArena's second argument doesn't affect anything. Setting it to false is supposed to keep a monster's sprite above the arena. monster.Call('BindToArena', true, false) 4) The way sprite pivot works. In docs it says all sprites have xpivot and ypivot set to 0.5 by default. But in fact ypivot is set to 0, because sprites rotate relative to their bottom. Changing pivot 0.5 does the job, but then the sprite shifts to bottom for no reason. What I've found within 10 minutes in CYF. Btw, Alt+Enter is broken again.

deonix37 commented 5 years ago

What else do we have?

  1. Half-broken, disastrously poorly documented overworld. But it's not used by anyone, so nobody cares.
  2. Zero number of time-based functions, like moving an object to certain coordinates for given amount of time. Can't pause/yield function for 1 frame like in Unity; can't schedule actions. Can't use Lua coroutines because of this, too.
  3. No well-written tutorials on modding, thus there are barely any good mods.
deonix37 commented 5 years ago

Oh, and at that time I failed to properly report the ppcollission bug that I struggled with, but it seems to be fixed now. But because of that everyone still thinks that I am a brain damaged guy, who sucks at lua and wastes everyone's time, somehow.

Eir-nya commented 5 years ago

image

arena_border_outer is the white border that actually moves and arena is the black rectangle. If you share the code that led to your screenshot then I'll gladly look into it with you.

A sprite spawned at (320, 240) will appear to be in the absolute center of the screen (pivot is (0.5, 0.5)), but using SetPivot(0, 0) will move the pivot to the bottom left, right? The sprite's coordinates will still be (320, 240) - except that now, they refer to the bottom left of the sprite instead of the center. * It's important to note that this has always been the case since Unitale and changing it will break EVERY mod made in the past 3 years. And I do mean every one, because this change would apply to monster sprites as well.

Also, you say "Alt+Enter" is not working? Please explain. Are you on Mac? Do you have Blurless fullscreen enabled or disabled? And do you have a monitor that's portrait rather than landscape? I can tell you right now that the last one is one I've made a fix for that will be in next CYF.

 


 


Listen, this is nothing against you. We aren't brigading you here. But you came here and told us we should bury our own engine because it "has a bunch of problems", and then you didn't provide anything concrete until we asked about it. The ppcollision/rotational arena thing is in the past, and the reason that went down was because of lots of miscommunication, hostility, and refusal to try or even acknowledge anyone's support or ideas, jumping straight to "the engine is broken and it's your fault".

We don't want another flame war here. We want to maintain this engine and make it the best it can be. There is no way we're just wiping it from the face of the Earth after a few small bug complaints. I am genuinely sorry that the Unitale/Create Your Frisk community and you got off on the wrong foot. But when force and hostility is applied, that's all we can do. I hope you understand and we can stop with the ruderies and start to actually talk things through before jumping straight to accusations towards the engine and its contributors. All right? What do you say?