Log In  
Follow
Aelou

One of my biggest takeaways from this project is the concrete understanding of the dangers of Feature Creep, as well as the importance of having realistic project expectations and proper planning. In software development, it’s inevitable to encounter bugs and features that need to be adjusted based on real-world scenarios. These tasks take up a significant amount of time, which is often unpredictable. Therefore, it is essential to allocate sufficient time for debugging and adjustments, instead of continuously trying to integrate new features into the program.

Moreover, the dangers of Feature Creep were vividly demonstrated in this project. In my past programming experiences, I rarely paid attention to the memory usage of the program. As a result, I often wrote code with higher readability and decoupled various modules to make them easier to modify and debug. However, this approach inevitably led to code bloat, which I didn’t consider a problem until now. Given the limited code capacity of the Pico-8 engine, I encountered memory issues during the final stages of the project and had to spend extra time trimming down my code. Fortunately, I realized the problem of Feature Creep midway through development and decided to cut half of the planned levels and monsters. Otherwise, the memory constraints would have caused even more headaches.

[ Continue Reading.. ]

0 comments



Cart #keyebuhasi-0 | 2025-01-08 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
1


上下左右键:移动 Arrow keys: Move 矢印キー: 移動
Z键:确认 Z key: Confirm Zキー: 決定
X键:取消 / 退出 X key: Cancel / Exit Xキー: キャンセル / 終了

1
0 comments



Cart #sasaya-0 | 2025-01-06 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
4


上下左右键:移动 Arrow keys: Move 矢印キー: 移動
Z键:确认 Z key: Confirm Zキー: 決定
X键:取消 / 退出 X key: Cancel / Exit Xキー: キャンセル / 終了

4
0 comments



To-Do List

1.Player Upgrade Module (Completed)
2.Boss Implementation(Completed)
3.Implement ~10 Different Enemies
Lower priority for now, continue refining the implemented enemies
4.Victory and Results Screen(Ideas are in place, but not yet implemented)
5.Design ~10 Levels with Progressive Difficulty
Initially planned for 10 levels, now planning for 5 levels, with adjustments to the monster ratio and quantity in different levels
6.Create a Cool Boss Death Animation(Completed)
7.Balance Game’s Stats
Properly balance all game stats

Bug Fixes

Known bugs fixed:
1.Player still took damage from bullets during invincibility period (Fixed)
2.Boss did not deal collision damage to the player (Fixed)
3.Game restart didn’t properly initialize some variables
4.Incorrectly awarding experience to the player when clearing monsters at the end of a level (Fixed)
5.Holding the attack button and entering the upgrade screen automatically selected the default option and exited (Fixed)

[ Continue Reading.. ]

0 comments



To-Do List

1.Player Upgrade Module(Completed)

2.Boss Implementation(Completed)

3.Implement ~10 Different Enemies(5 implemented,Lower priority for now)

4.Victory and Results Screen

5.Design ~10 Levels with Progressive Difficulty
Achieved mainly through adjusting the monster ratio and quantity in different levels

6.Create a Cool Boss Death Animation

7.Implement a cool boss death animation

8.Balance Game’s Stats

9.Bug Fixes
Known bugs to fix:
Boss doesn't deal collision damage to the player
Game restart doesn’t properly initialize some variables
Incorrectly awarding experience to the player when clearing monsters at the end of a level
Holding the attack button and entering the upgrade screen automatically selects the default option and exits
Damage reduction stat is not functioning correctly (consider removing it)

10.Ongoing Improvements
Optimize sound effects and animations
Improve boss bullet pattern generation logic

[ Continue Reading.. ]

0 comments



Building on last week’s progress, some of the original plans have been adjusted. The goal of implementing 10 different types of monsters and a boss has been temporarily postponed. This is because I decided to focus on implementing a battle mode similar to Vampire Survivors, which made developing the player attribute system a top priority. Currently, a pause function has been implemented, allowing the player to view attributes and return to the main menu during pause. The implemented player attributes include: max energy, attack power, attack cooldown, movement speed, crit rate, crit damage, and energy regeneration per second.

In addition, the experience and leveling system has been implemented. The plan is to show 3 random upgrade options each time the player levels up (this feature is not yet implemented).

Regarding enemy behavior, two additional types of enemy logic have been implemented. The first is a charging enemy that hovers in the air at a chosen spot and, after a short time, charges toward the player, dealing significant damage. The second is a shielded enemy, which generates on both sides of the screen, moves back and forth at a certain height, and occasionally enters a defensive state to block damage for its allies. The next steps include expanding the enemy types, improving the upgrade selection AI, and adding appropriate effects and sounds to enhance the current monster behaviors. The next monster I plan to make is an explosive enemy that charges at the player and explodes upon contact. If the player kills it beforehand, the explosion will damage nearby enemies. Additionally, I plan to create about three types of enemies that shoot different kinds of bullet patterns.

[ Continue Reading.. ]

1
0 comments



Weekly Work Summary
Following last week’s completion of enemy death animations and effects, this week’s focus was on diversifying enemy types and implementing a basic level progression system. Currently, enemy data is stored in an array, and different types of enemies are generated randomly using a pool based on level data. Each enemy has unique size, collision box, health, and animations, making the addition of new enemy types simpler going forward.

Objectives and Vision
After thoughtful consideration over the week, a clear vision for the game’s final form has emerged. To enhance replayability, I plan to introduce roguelike mechanics inspired by Slay the Spire. A randomly generated map will guide players through various nodes, such as chests, events, battles, and rest points, where they can gain incremental power-ups. In battle, inspired by survivor-type games, players will aim to defeat as many enemies as possible within a set time to earn gold, experience, and rewards, strengthening themselves to face the boss. To prevent linear stat growth, the game will incorporate level-ups for stat gains, and rewards and relics for mechanical enhancements, ultimately challenging players to defeat the boss within the time limit for a successful roguelike run.

[ Continue Reading.. ]

1
0 comments



Until now,I have finished the collisions of my player,enemies and the bullets.I made a debug function to draw those collisions.It's looks good.
Now,it is actually a game which can play by someone else.But it has only one enemy,no skills,almost no animation,no plot,no goal,no score.It is not fun at all.
That's what i want to do next.I want to make it more like a roguelike game which like Brotato or Vampire Survivors.
This type is a litte flooded. But it is suitable for a little STG game. I actually have some ideas,I hope it will be
fun,

1
0 comments



I make a temporary GameOver screen which looks like this.

I think it's good enough right now.The next step is to make some enemies to shoot.

0 comments



In this week ,I want to add a GameOver screen to my game,using default font to draw the screnn is not that cool.
But I am not good at art or making animations.So i decided to find inspiration in someone else's code.

That is cool,but i do not kown if it suit to my game.but it is a good idea to make a animation like this for my
start screen.

Maybe it is hard for me to make a suitable animation.Something like Celeste's title'style is also a good idea.

I do not kown if it will take me a long time to make my GameOver screen,I think it is important to make a whole game
fist,instead of spend to much time making animation.So I made a temporary one.And then continue to finish my game.

3
0 comments