Git Product home page Git Product logo

psych0's People

Contributors

yancouto avatar

Watchers

 avatar

psych0's Issues

Do final non-boss level design

Make it interesting to play, not too hard. Most necessary level editor stuff is done, it just might need some small addiitons.

  • Part I
  • Part II
  • Part III

Use builder pattern for formations/level editor in general

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.

How to point to player?

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.

Enemies that are harder to kill

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.

Maybe rework lives

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.

First boss

There are two implementations already, something like that is good enough

Refactor enemy creation

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.

More informative indicators

  • How long is left for the enemy to spawn can be shown by filling the arc progressively
  • The approximate speed can be shown by the length?
  • Something else (or one of the previous) could be shown by thinning the arc until it disappears

Automatic level testing

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.