Calculator Community > CaDan SHMUP

Script system ideas

(1/2) > >>

Iambian:
So now that I've announced that I'm restarting CaDan, let's get straight to the point, shall we?

The script system, which allows you to create those nice, beautiful patters, is in need of some serious overhauling. Thing is, there's a few limitations on what the system can do. We're here to hammer them all out.

At the moment, I suppose only geekboy happens to have enough knowledge about the script system to actually suggest much, but I'm open to suggestions from everyone else too! After all, it's a public thread, and everyone wants a piece of CaDan action!

Anyway...

Engine details:

* (NOTE) : Henceforth, the term "register" is referred to with respect to the virtual chunks of memory with which the script system has to work with.
* Four one-byte registers reserved.
* All bullet trajectories are done in polar coordinates, with a fixed velocity.
* Instructions used to load a register with the angle needed to shoot a bullet that would intersect with the player's current position.
* Mathematical operations. At the moment, only ADD is supported, since one can always add with a negative number to achieve it.
* Bitwise logical instructions. Only AND is supported.
* Program flow changing instructions, including an unconditional jump (goto) and conditional jumps (jump), with which mathematical operations may affect the "flags". Contains subroutine instructions, but they aren't very intuitive, and requires quite a bit of keeping track of.
* Pause instructions, both single cycle and multi-cycle.
* Special memory access, given a table of allowed values to change. Originally a way to coordinate attacks between boss scripts and enemy scripts.
* Boss setup and spellcard instructions, used to load special pattern tables. They get their own registers.
* Boss takedown and special effects, including explosions and return to stage.
* Stage setup and progression instructions, including background changes, and enemy/boss creation.
* A way to run actual Z80 ASM code.

What is planned in the reboot:
* Full 8 register setup. Stage scripts will be allowed to have two banks of these, accessed by special exchange instructions.
* Spellcard animation scripts, including a fully working sprite routine and background change instructions. They get their own set of registers. Spellcards have been rather... neglected.
* Register to register support for load and math/logic instructions.
* Support for XOR and OR routines, along with actual subtraction routines. We'll go for some real multiplication and division routines, while we're at it.
* Rotation. For extracting nibbles.
* Support for relocatable scripts and associated assets.

What has been suggested in the reboot:
* Support for jump tables and loops similar to C's SWITCH command.
* Second 128 bullet table and modified interrupt scheme to handle it, accessible via slowdown command.
* Tilemapped dynamic backgrounds

What do you think? Would you suggest something else? Or more?

EDIT: Added elements to table.

Geekboy1011:
Well a few things graphical wise i would like implemented is masking for character images possibly as having the white box around them made things kinda icky looking mid game

Another thing is the ability to change bullets directions after they move not based on the players position granted i would expect this more for spell cards or something but a way to define bullet types would be real nice

even if we lose some speed when using them of course as in the every thing just gets slower with more bullets on the field. to see what i mean http://www.asahi-net.or.jp/~cs8k-cyu/windows/rr_e.html <-- play a harder level in that danmaku it does the effect i'm talking about

this would allow the devs to make more complex patterns and such with a saner chance of being able to survive them ^_^

Geekboy1011:
more ideas these are ones we have discused over irc a bit so just reiterating

1) External level support i mean we have that CaDanite thread down below ^_^ (once the scripting system is finalized and we have the set up for external scripts maybe ill make that as an asm project I want to learn asm now so might be a good idea)

2)Replays got to have replays and if the system is like it was this time that shouldn't be to hard to add

3) a easy way to add NoClip for practice/tasing / pure lazyness

^_^ more coming eventually xD

SirCmpwn:
I'm not sure how it would be implemented, but a weather type of particle/bullet system would be cool, so it could rain and slow you down, or the boss could cause fireballs to rain from the top of the screen, etc.

Geekboy1011:
Well for the slow down thats interesting and can be done as thats based on a piece of data in ram

as for fireballs i can already "kinda" do that with the current engine it would be hackish but its doable ;) but a better system for special bullet types would be loved

Navigation

[0] Message Index

[#] Next page

Go to full version