The rooms are now defined and usable! In a text file you write down the name of the room, width, height and what all tiles are which are then loaded into a two dimensional vector and then translated to the corresponding tiles.
This makes it so the level designer can implement the levels without the programmers aid, which is good practice.
The only tiles supported right now are ground and walls, and the walls are created separate as objects with collision. Later I plan on implementing doors which would then lead to other rooms.
Speaking of other rooms, that is the next mission in this. We want to be able to go into different rooms and have them connected. And I have a plan for that. I have a room manager which holds all rooms in a map which can search be searched to find the room in question. You can even name the rooms special things to remember them by.
Another problem I ran into was collision with walls. The problem comes from diagonal movement from the player which makes the player move 0.7~ in both x and y direction when moving diagonally as to not speed up. The problem is when a float is converted into a int the float gets rounded down no matter what. This makes it so moving positive in x direction lowers the movement while moving negative in x direction speed up the movement.
Either I have to remove diagonal movement or I have to find out where the horrible float to int conversion takes place and fix it in some way. But as it doesn't break the game right now I'll deal with it when it comes.
Next task in line are:
- Enable changing rooms
- Doors
I also need to talk to my partner about how we're going to split the workload. It's hard to figure out at the early stages of programming experience since I tend to get stuck in my own thought process and I can't "help" without figuring everything out myself.
Welp. I hope it works out at least. See you next time~~
No comments:
Post a Comment