So, I am currently taking the Game Programming 1 course now. The first 3 lectures covered everything I knew about programming. The rest have been all new stuff for me. We have been using the SDL library commonly used in Game programming and the pace is very fast, at least for me.
We have reached the point where we were given our assignment. In pairs, we are supposed to make a 2d-game and write individual reports about its process.
My team-mate Jonas Lundgren and I have established a Project plan which I will present in this blog.
There are different criteria to be met for passing the assignment, and I am listing the criteria we have decided to aim for in the first place and then see if we can add more for distinction grades.
The Project Plan:
- We are making a Zelda 1 inspired game featuring enemies to kill, quests, and maybe have water tiles only passable with a raft.
- To meet the basic requirements, which are “A Fully Functional Game” and “A Good Code Structure”, we will implement the following:
- a Draw Manager
- a Sprite manager
- Animated sprites
- Box vs box collisions to start with and maybe apply Circle VS Box collisions or such if need be.
- Sound effect manager
- Music manager: features of that could be implemented via a configuration file such as start, stop, etc.
- Input manager: Control the different input units such as keyboard and mouse
- State manager: have different states of the game such as loading state, menu state, game play state etc.
- Graphical User Interface: information indicating for example Health and inventory in graphical form.
- Artificial Intelligence: This feature need at least 3 different states for the enemies, perhaps the three states: “idle”, “attacking” and “fleeing”. This feature, however, will be implemented if we have the time for it…
- No memory leaks: we will try to keep track of the memory usage.
- Game Object manager: a manager to manage the objects.
- Game Object hierarchy: This is also planned to be implemented.
- Visual effect: If there is time we will have, for example, puffs of smoke when enemies or the player dies.
- Configuration file: as listed above, there will be a Configuration file for settings.
- Create game objects from file: will also be implemented.
My role in this will be mainly collision coding and other parts of the game involving physics and mathematics, while Jonas will have the role of overlooking the Project as a whole because he has the most experience of programming between the two of us.
We will of course assist each other as much as we need and can.
This is the plan we have as of today.
I will follow up on my individual work as the Project evolves. Some parts may be in Swedish but I will try to write this blog in English.