#Undertale Purple
1 messages · Page 2 of 1
works like a charm
scripts can be called by functions
!
here is the code though (called in ScriptGroup#update())
var total:Float = 0.0;
function update(elapsed:Float)
{
total += elapsed;
trace(total);
}
are you using Iris script?
I'm using Codename Engine's hscript-improved, I forked it myself if I would like my own changes
what
What does the codename's fork offer?
It was just recommended to me
fair
I do want to minimize a lot of script calls, so I need a clever way to still have some compiled code be the one doing most of the work
there has been a little field in RoomData.hx left unused for over a month now
good opportunity to use it now
sounds cool
custom classes, enum, abstract and typedef support, script packing, parent vars, etc
parent vars? Explícate
osea pones de parent a playstate y si en playstate hay una var llamada yoqse "algo" en el script en vez de hacer FlxG.state.algo.foo() puedes hacer algo.foo() directamente
oooo
y se puede tipo algo = otra cosa y se combine con el Playstat?
Sorry, eye, for taking the chat off topic.
i was sleeping
sjsk
not very easy to recreate, i have to compare side-by-side constantly
good news is that the editor is atleast robust enough for me to continue tomorrow
one of the more complicated systems :P
one of my thoughts is using a neat structure to contain every encounter, having scripts manage the attacks
[showcase] Posting the build of the latest commit, I will need some feedback for the editors for future purposes
:v
okokok
lemme know your gpu (display adapter), might be helpful in seeing if i can fix this problem
@idle plank
to be honest, i ont even know if I have a gpu
por qué tan poca ram usable wtf
nose
oh, its a gl error

😭
you can actually just do battleCamera.bgColor.alpha = 0; and have a DELTARUNE-styled battle to some capacity
Deltarune tomorrow
In 2 days actually
depends on the timezone, but it's generally when the pricy 2 releases
Peaktendo Switch 2
i naturally hate nintendo's legal practices so i don't care about the Switch 2, only Deltarune and Silksong
banger
each enemy has a script
As in script how do u do that
Since
You could make a hx for the entitys
And then make hx for the entity using the entity hx
Idk
here are the scripts
OMG NO WAY TYSM?!?
i use this hscript fork https://github.com/EyeDaleHim/hscript-improved
Ohhhhhhhh
only changes you'll wanna do is in ScriptPreset.hx, contains some Undertale Purple stuff
the files i shared may get outdated quick, i'm constantly updating these in the game
OH OKAY ILL CHANGE IT TYSM AGAIN
yw
looks cool
this feels like overengineering, but i've made some helper recursive class for things like "Fight", "Act", "Item", "Mercy", etc
in terms of depth, realistically, only 1-2 branches are enough for most things in undertale
this is the real build with glsl 330
apparently my compiler didn't update the shader file
try this one ^^
IT WORK
Where are you setting the GLSL version?
it works now
how can i enter to the map editor
press F5
i'm shadowing openfl.display.Shader at the moment
hmmm
there is a bug, two events can occur at the same time, which crashes the game. it happened to me that the battle event occurred and at the same time i activated the room change event, which crashed the game
could just disable room change nodes when you enter a battle then
thanks
i was in the beginning room
i don't think it matters what room, it's more of a general bug
ye
i feel like this bug could still happen in some form, but right now, code's not mature enough for me to fix bugs so early on, so that should be noted
Dummy
Did Percy say all that?
no this is the error message
I already know, the message just funi
in which case, no they're a silent(?) protagonist
Who says that narrator's voice isn't the protagonist speaking?
okii
Clearly that must happen
make it a tiny tiny bit faster
i actually already addressed that yesterday
the soul was using 90 (3 pixels per second in 30 FPS) as its base value
the value is now set to 120 (4 pixels per second in 30 FPS)
the souls determination to escape has increased!
that one was me forgetting to set immovable to true
for the borders
oki
i'm getting a clearer idea of how scripts should interact with the battle system, and so for the other systems
there's ✨ gameplay ✨
@everyone - b
make the flixels' be grass
grass, job applications, showers
peak
only pings people who joined this thread


But wasn't the purple soul moving on threads?
no?
i never said anything like that
Sorry if I miss much, it's 3:40 and I woke up from thirst, but I remember that in the battle of Muffet the soul was moved by strings, not threads
it's not fun to limit gameplay to a specific gimmick
fair enough
how would u go about getting the needed assets
i already have them
there is a tool named "UndertaleModTool"
which allows you to read a data.win file
can you possibly send the assets of undertale to me,,, i dont have the game in my steam library
you can get them on the internet, it's impractical for me atm
i found frisk on https://www.spriters-resource.com/pc_computer/undertale/sheet/75941/
PC / Computer - Undertale - Frisk - The #1 source for video game sprites on the internet!
not bad, i just don't like that they're making it fancy with making it non-transparent
Yore welcome
I'm debating on re-open-sourcing Undertale Purple's code as a WIP Undertale engine in Haxe
It's exhausting just doing the programming all on my own, and I would like pointers at some point, and I'll have to dedicate less time for UT Purple at some point
As for another sudden rewrite, I think I can safely lock in this one as it's the one with most progress so far
I say keep it private but tell people you trust, "Hey, give me your opinion or help me with this and that."
Believe me, there will be someone who steals the code and uploads it as their own
That's the situation that I've been living in
????
I'm not worried about stealers, the opinion of experts are more valuable to me
hm
Okay then open it but remove things that have to do directly with purple
Just leave the essentials, let's say
That has been the plan
I don't know why I'm annoyed by this
Wdym
wtf
callat
since i have school tomorrow (Monday), i'm going to try to finish up what isn't related to the attack system
fight animation, item healing, damage text, enemy health, etc
I'm slumping very hard on the attack system
@grand folio how exactly do you make the menus?
I did something like a system of submenus and menus
They're substates
ooo
fyi, you can add substates in substates, like a recurse
what you are doing is a bit recreating of that behavior
I realized that, but I guess it gives me 0.1% more handling.
is that possible?
yes, that has always been a thing
Theoretically a FlxSubstate extends from FlxState
[showcase] Undertale Purple basic attack system implemented
woooow
might be a little too late to adopt ECS at the moment
ecs?
i've been obsessing over it and its benefits, but i feel like there's too much to change
entity-component-system
ohh
I've been liking ECS lately and would definitely fit all my use cases, but I feel like there's a world out there that'd be better if I benefited from ECS later
Run!
the way the music stops is too funny for me for some reason
funi
Damage
I spent half an hour figuring out why damagePlayer was called twice, only to realize my script was calling it
wat
At some point, attackScript calls hitPlayer which will eventually call damagePlayer(1) when I'm about to do that
resulting in two calls of the same thing
ooooooooo
I'm replaying Undertale and I noticed the same issue you described in #flixel a while ago (Notice mixels in a part of Frisk's hair and nose). This is also in fullscreen, so maybe it's not an issue with Flixel?
sometimes i feel like frisk's eyes get a little smaller in height when walking.. kinda off to me???
What resolution do you have in fullscreen?
I'm on a 1920x1080 monitor
there's no way
Width Scaling: 1920 / 640 = 3
Height Scaling: 1080 / 480 = 2.25
if we need fullscreen, we need perfect integer scaling to solve those mixels
mixels might only be noticeable vertically but not horizontally, so i believe this may be why
In fact, even the console ports of Undertale aren't perfect, there's a very noticeable line at the borders
black line
Depends on how noticeable it is, I'm not counting it if it's just a line
Well, do you remember that I had that problem a long time ago?
It turns out Undertale uses 1080p for the borders, so...
I'm not good at memorization, no
@grand folio ik you probably talked about this before, but I'm curious as to how you (plan to) handle dialogue for this game
how will you store it?
keys to get text
it's not that different from how undertale/deltarune gets text for dialogues
yeah sure
i store all my dialogue keys and contents in JSON files
how's it look?
I got suggested json for dialogue but I decided against it, it seemed a bit too rigid and annoying
{
"battle_generic_check": {"contents": "* Check"},
"battle_generic_talk": {"contents": "* Talk"},
"battle_generic_mercy_spare": {"contents": "* Spare"},
"battle_generic_mercy_flee": {"contents": "* Flee"}
}
-# you can omit {"contents"} here and just have a single string, it's converted to {"contents": string} anyway
you can use what feels right for you with dialogue, i made this decision out of immediate requirement
i remember renaine using it, so you got points there
lol
oh, that's a good idea actually, i've actually only been using scripts to add lines in dialogues
i'll add it to the list
how I'll do dialogue specific events I'm not sure
that's still something I'm not sure on
what i'm thinking is that you send a "signal" to scripts or components that will act based on those dialogue events

(jk have fun just remember to have a schema)
i haven't been active due to school but here we implement yellow color if enemies can be spared
ou yeah
You used Null Object Reference
- You crashed the game.
lol
it's a build script
is it okay if i use this
yes
thank
ewe
Ohh, I made one, need help? I'm literally kind of good at parsing commands because of discord bots skslsk
nah i'm good, i figured it out myself
okii
I made one with everything and description and search for the name
toby fox just released a page that lets you express how undertale changed your life, its for the 10th anniversary
yee I posted mine
👍
i don't have my laptop, so i have another laptop, which is my father's laptop
but i refuse to install any VSC on it
too lazy
use neko 
first i need to use my GitHub account
where my 2FA don't work
sheeesh
👍
pages
nice
Spell related, right?
sure
And it would be like the TP or something like SP
more different to deltarune I mean
i could always say "mana" but does feel different
Why not Spell Points?
I mean, I feel like it fits perfectly with Undertale's style
(I'm trying to persuade you to call it same as me)
feels uncreative
WHY
i mean, it doesn't matter how it is really called
mama or sp it's fine
I just call it that to put it next to the health bar
tandem points 
@grand folio I see it something like this:
i think i already have the ui change with spells in mind
i'm trying not to change the idea since i want to lock it in for ut purple and think about feedback later
How are you doing it?, I'm not using that at all, bc, well, the idea of magic is only for monsters and it's too secondary
my idea is to have the mana bar be placed where TP bar is in deltarune
i don't really want to have people to re-learn the UI again and for returning players, they have to come back and get used to it again
It sounds good
yeah it should be on the left
though i'd probably simplify the design
since i need that undertale feel
Like this?
i'd decide the design myself anyway, but something like that
ohhh
Sorry if I insist too much, I like to imagine it
don't give me ideas, i'm to o slow
see I just don't feel this fits undertale
we aren't trying to make an undertale game
we are making an undertale fangame
ehhh it's hard to say how it makes me feel without saying it like that
i dislike the notion that an undertale fangame is restricted to have to be like undertale
I guess it feels more like
limits creativity and puts pressure on me to have to come up with something
i don't think "this feels like an undertale fangame" will hardly change my direction at all
i haven't even released an undertale project yet to actually get proper feedback
or know what it's like
which is why i'm mostly listening to my own experiences and interpretations of feedback from undertale
Nono, I understand what you're talking about as something more vanilla
hey man you do you
I'm jus saying what's on my mind
qol
item usage in overworld
My favorite, %1.
%1, the most iconic object of undertale
it isnt honestly
Do not disrespect the %1
what happens if i do
water cooler
What are you going to do about the water cooler then
Your plan falls apart when you have to face the water cooler again
alt f4
Coward
why call me that lol
tell me, i wont explode no matter what the harsh truth it :3
does it have to do something with me disrespecting the %1
what did you say about %1?
1% is better
...
we all know these are all jokes lol
||joke||
XD
:D
and this is why you don't disrespect %1
why over %1 tho, im curious
||%1 be like||
oh i need to know what makes it so amazingggg
hes so epic like rigby cat pee gif
assets/data/dialogue/items/info/item_of_nothing.json
[
{
"type": "text",
"keyForText": "items_info_item_of_nothing"
}
]
whoo
Version - 1.0.0
Author - EyeDaleHim
Name - Undertale Purple
Build - 602
Build compile date - 2025-08-26 16:04:08
Git Hash - 8f0b573048e079d7839626e020d1c5169271faea
What do you mean about reverse sprint bind?
isn't better just "Auto Run"?
Or what it is
ok
yes
is it open source rn
no
dumping textures
might be going insane with some layout code
With debug boxes, you can see that each "invisible" object is a Layout
I've took some inspiration from CSS flexbox mathematical rules here
Ooo
oh damn
Some similar stuff done on the main menu
I'm looking forward to partially replace HScript with somewhat of a very non-reflective scripting class that can just always assume it's working within the game and not having to track sophisticated classes
I was unsure if I needed HScript to have that much power
But I'll lovely have it as a backup alternative
neat
My criticism of this right now is that arguments are rigid and linear
// c:\GitHub\Undertale-Purple\source\backend\module\Module.hx
// ...
var definition = master.taskRegistry.get(taskName);
// ...
var taskArguments = parts.slice(1);
if (taskArguments.length > definition.arguments.length)
// ...
var parsedArgs:Array<Dynamic> = [];
for (i in 0...definition.arguments.length)
{
var argDef = definition.arguments[i];
// ... parsing logic based on the fixed list in definition.arguments
}
// ...
I'm thinking of a decision tree, feels like a better way to parse arguments
# Definition
A module is a text file with the extension `.module`. Function files are part of the hammer directory structure, highlighted:
assets/
data/
├───hammer/
│ └───modules/
│ ├───module1.module
│ ├───module2.module
│ └───...
As with other files, the `modules` folder may also contain subfolders that can be used to organize modules. These subfolders must be referenced when invoking the module.
Within the `.module` file, one valid task is placed per line.
Comments can be added by starting a line with `//`.
A single backslash as the last non-whitespace character on a line indicates that the next line is a continuation of the current line.
# Invocations
Modules can be invoked in different manners.
## Invocation from modules
Modules can be invoked by other `.module` files. It is optional to add the extension.
call "test/test1"
writing docs
i have the basics down
say "Hello World"
call module2
$all[tag="player"] say "Found player"
Entity filtering work
Having a hard time... I'll probably have to scrap this current iteration and think of a new DSL
🤔
// Calls module2.module in the same directory, using the current Master's context
call module:module2
// Calls module4.module in a subdirectory, passing a context variable 'damage'
call module:subdirectory/subdirectory2/module4 context:{ damage:15 }
that is a bit confusing
what does the module: prefix
there are more prefixes?
I'm not at liberty to explain when I'm not even finished
👍
