Day 91: Today I had fun because I had too much stuff to do in too little time. That’s really more pleasing than having too much time for too few things. Am I crazy? Oh and that doesn’t mean I got to finish everything I wanted. But I still decided to call it a sprint and move on to something else. More on that later.
Daily interesting stuff:
Reddit post, how much sales can you expect for a first game release. That was harsh… Most people said to not expect anything more than a hundred copies at best. I fear this might be what will happen to my game. But that would still achieve 41.6% of my goals.
Kickstarter tips. Extends to any indie marketing though.
Reddit post, tips on forming an LLC. Forming informing stuff. But the problem is that legislation in each country so unless you’re in the US this isn’t really useful.
Tasks done:
Made a dialog UI prefab. It’s meant to be static and modified to fit each intractable object. It shows some text, has yes/no buttons, and some lazy open/close animations. It took a while to get right. At first I tried to make it really flexible. I tired to have the box fit the text and all. And I did it. But there was too much draw back. I couldn’t have a letter by letter anim, and the placement of both the dialog and the buttons were off. So I decided to go for a more static way: I have a fixed size (in screen percent) and a best fit text inside. This seems simple now, but making it was cumbersome… The Unity UI really sucks when you try things like dynamic layout and size. They even have a page dedicated to how to do stuff like that because it defies logic. Oh and then I thought it was over so I moved on to another task. I was wrong. It turns out that when you put a canvas in a gameobject (which I did) and that this game object is not at the origin of the world, the canvas also moves. This seems normal right? Now what if I tell you the mode it’s in “overlay mode”. I expect this mode to make the canvas overlays the screen regardless of where it’s positioned in the world. But no. I was stuck, I couldn’t make the parent be at world’s origin because it’s a room in a dungeon. I couldn’t change the position of the canvas because of course it was overridden by Unity. And I didn’t want to have only one canvas at root for all the special rooms. But I found a solution. I used the “Camera mode” which sticks the ui right in front of the camera. But this mode requires a Camera to work. And of course it needs a static reference to a scene object. You know the kind of stuff you can’t serialize and so can’t work with procedural generation… So I wrote a simple script that assign the reference by code at start. And now it works.
Made a special room where you can activate a beacon, it spawns enemies and blocks the exit. If you beat them all you gain a treasure and can leave. If you die, well you’re dead so it doesn’t matter. It wasn’t really complicated, but like the boss rooms it implied a lot of small components to work in harmony. I really had trouble with knowing when all the enemies are dead. I have an event to know when an enemy dies. So I thought I just had to save the enemy numbers at start and then decrement it until there is none. And it works. Except when there an enemy that spawn more enemies. Then it’s fucked up. I tried other things but there were no other options that worked. Oh and I had to do a beacon sprite myself. It’s really ugly.
Marked the mini map with the special rooms icons. It took less than 5 minutes. I already did that for the boss rooms and the treasure rooms so I knew the drill.
Sprint end: This concludes the “dungeon variety sprint”. I know what you’re gonna say “But you only made one special room! You call that completing a sprint?”. And you’re right, I should do all the special rooms. But I really wanted to end this sprint today. So I convinced myself that the other special rooms are just “content” and therefore falls in the next content sprint.
What went right:
I took a day off after coming back from a period heavy with social pressure. It really helped my productivity. It’s really like going somewhere I have to talk to a decent amount of people, completely drains my energy. I guess it’s a side effect of almost living as an hermit.
I made it out of 2016 alive. You can’t say that for everyone. I hope to achieve even more things in 2017. Starting with releasing Rogue Cadet!
What went wrong:
I could’ve complete this sprint earlier. It’s still two days before what was planned in the trello. But I could have finished at least a day before. I just work better with a hard time limit.
0 comments