yancouto / psych0 Goto Github PK
View Code? Open in Web Editor NEWPsycho in godot
License: MIT License
Psycho in godot
License: MIT License
Make it interesting to play, not too hard. Most necessary level editor stuff is done, it just might need some small addiitons.
Since constructors in gdscript are very simple, it looks kinda ugly/unclear when there are many arguments (typing helps a little, not a lot). Some other languages mitigate this with named arguments, but we don't have that in GDscript as well.
So some builder-like thing would be best (everything can have default value and then we don't even need a real builder, just chaining methods)
So instead of
spawn(F.Circle.new(4, 0, 1, [E.Basic3, E.Basic1]))
it could look like
F.circle().amount(4).starting_angle(0).speed(1).enemies([E.Basic3, E.Basic1]).spawn()
(and in this case, we don't even need to specify starting_angle
and speed
since they are the default values)
More verbose, sure, but way clearer.
And check what else you can still do while dead.
Might need some small or big rewrite of level creator.
For Circle it seems straightforward, for Multiple it does not.
The current level script calculates everything beforehand
It will need some kind of laziness to point at the player, which might be hard to do.
Previously the enemy split in two, but I think it should maybe just take 2/3 hits to kill.
No fancy visuals now, but I think eventually we should use some fancy arcs or stuff like that to show its life, all very visual and clear.
Godot probably has something easy for this. Doesn't need to be super fancy.
What if, instead of continuing the level (and being kinda lost), you could only restart from the beginning of the last part? Then lives could be unlimited. (And some kind of hard mode would only allow restarting from the beginning of the level.)
If we bring them back, then it would also show more the "death texts", which are really cool.
The restart should be really quick, otherwise it gets boring.
Idea:
Easy - Restart checkpoints in the middle of a part (basically whenever wait_until_no_enemies and also in some other cases)
Medium - Restart to the beginning of the part
Hard - Restart to the beginning of the level
For bosses we still need lives I think, otherwise it will be too frustrating, unless we maybe we checkpoint whenever they change stances.
There are two implementations already, something like that is good enough
Kinda visual but super useful so should be prioritized
Right now we pass a node around and add enemies to it. It should be a proper class, something like EnemyManager or ObjectManager we can also add shots and stuff to, with typed functions that are clearer.
Fix
And maybe smaller ones from enemies too
Just display some text for a couple seconds
Now it still points to the mouse. But if you're using arrows, it should either disappear or point to the direction it's currently shooting,
Enemies should still change color but stay mostly the same color. Player and shots can change a lot.
At least something written paused
No fancy particles for now
I should explore a super slow mo and invincibility shortly after death
Since this is a scripting language, even if I use the typing they provide, they still don't catch some easy errors. It would be nice to have a test mode that "runs" the level script, and maybe even simulates the whole level with the player, to make sure nothing crashes (and it should run super fast)
We have gap which makes a gap in the middle, and it could be used for that but its ugly.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.