タスクシステムというのはタスクで構成されたタスクリストのこと

タスクは次の情報をもっている
・キャラクタ1体の情報(X、Y座標やHPなど)
・キャラクタの振る舞い(どのサブルーチンを呼ぶか)
・次のキャラクタ(次にどのタスクを実行すればいいか)
タスクが繋がった状態のデータ構造をタスクリストという

タスクシステムは次の機能をもっている
・タスクの追加
・タスクの削除

ほかの言語だと「次のキャラクタ」にポインタを使う
そうすれば動的に確保したタスクを使えるからだ
でもHSPにはポインタがない
代わりに配列の添え字を使う

もし配列のサイズが足りなくなれば案3(>>825)の方法で配列を大きくする
ただし頻繁にサイズを変更するとデータのコピーに時間が時間がかかる
そこでサイズを変更するときは1つずつ増やすのではなく一気にたくさん増やす

まとめ終わり
とりあえず今考えてることをまとめてみた
Dim命令で配列サイズ変更すると内容がすべて0クリアされるのが痛い
「1つずつ増やすのではなく〜」の部分はこれを書いている最中に思いついた
これさえうまく組めばサイズ可変は速度低下ほぼなしでいけそう