Thank you but again, that doesn’t work for me. I’m confident that it could be made to work given some time and some help, but there’s already a lot of hassle when distributing games to make sure they can run on different computers with different operating systems and different hardware. I want to find a way that is simple and ideally fool proof.
Yes, that’s what I do. It really doesn’t take a very long time, but during that initial second or so of starting the level there’s going to be a lot going on. Saved game data being loaded from file, dungeon generating algorithm running, tileset sections being placed, player and enemies being set up and placed, loot, traps and other things being generated and placed…
The game can lock up for at least half a second and seem like it has crashed, there’s the “not responding” tag on the program. Using threading, or by stacking the tasks in a queue and dealing with them one by one, I can stop the game from locking up, but it means waiting longer.
During gameplay, the AI calculations I want to make are also not that devastating, but they can cause a bit of a slow down. framerates are going to drop, and in slow computers it might even freeze momentarily. Wouldn’t it be better to keep the framerate up at maximum but have a short delay at the beginning of the AI turn?
As a side issue, is an array the best way to save level data?
I used to use arrays, but I noticed that while an array represents every square in a given level size (20x20 = 400) tiles, a dictionary only has to represent tiles which are actually used. In a sparse environment (a dungeon, island, cave system etc…) this might be less than 50% of the actual tiles by area.
That’s exactly what I had in mind. Like the old Resident Evil games which played an animation of the door opening when you move to a different room.
I’ve even got an animationlined up for it.
I do partially agree with you on this, but this isn’t only a game I’m making, it’s a learning experience. This particular project is one which I don’t really mind if I finish or not. It’s gone through so many iterations over the months and years I’ve been working on it… I guess it would be nice to pin it down and finally finish it, but then I’d have to start another project along the same lines. When I started this project 3-4 years ago I didn’t have the skills needed to finish it. Still, the scope of this project is probably beyond my ability to complete, but each time I start work on it again it seems little more possible to achieve a victory.