Project B – Journal Entry 3 #Final
Note: By schedule I should do this next week, but I need to focus on other things, so I spent most of the Friday to finish this Project.
Also I missed in the instructions, that I am supposed to provide each week, but previous two had barely anything that could be done in the level, other than dying or looking at wall :P So there is only one build, which has fully working level.
Date: 16.4.2021
Invested Hours: 630+ minutes (really I spent half of the day to implement rest ... )
Activity:
- Placing all remaining functional objects. (30 minutes)
- Scripting puzzles and all object's related to puzzle. (240 minutes)
- Placing very randomly some decorative items. (30 minutes)
- Finishing touches on some part's that were not correct. (120 minutes)
- Setting up transition from Start to Level to Exit. (90 minutes)
- Building the game. (30 minutes)
- Recording playthrough. (30 minutes)
- Writing diaries B2 and B3. (60 minutes)
Playthrough: https://youtu.be/MF-ZfNm3RKE
Outcome:
So first of all I placed all remaining object's and continued by implementing the first puzzle.
I did not try to complicate implementation so it's quite straightforward and bad, code is really not nice. But most important is that it works and after setting up all triggers I had first part nicely working and could move without any problem to next part.
At this point most of the reasonable people would think, so the second puzzle is going to be as easy right ? Wrong, code for the first does not fit the second at all... So I basically wrote second puzzle from nothing as even PuzzleData had to be updated to provide more informations to PuzzleB. One of the reasons was that it is supposed to rotate object and there is no longer 1:1 mapping between pressure plates and puzzle indicators. After I spent more then hour debugging my wrong implementation I finally did it and made the puzzle functional. I even did my own little sprite for indicating the state of puzzle :)
With puzzles done, I moved to implementing final section, which is little different from the original design, as I still felt that it's boring way to end level, even more when this has no continuation. This really did not bring lot of new complexity as I kept it same except for Door to open after obtaining two keys Bridge is opened. Door are opened after pressing the pressure plate as player moves away from the original final area. Originally I tried to use the script for HUBDOOR, but guess what... Whoever wrote that script was totally expecting that you always provide each object and never try to do anything else with it. So it did not even accept if you did not put sprites for each key obtained... So I took the script and deleted most of it, so I could have nice script that does exactly the thing I want, calling event when all keys are collected.
At this point I had most of the functionality done, so I tried to decorate a level little. Not really perfect, but it feels lot better than barebone tilemap with no walls.
After that I moved on to finish the level, first I added picking up a gem from a statue in original final room of the level. This took a little more time than I would like as I had to figure out how to properly do it. In the end I made it work by setting up interaction on statue and than enabling coin, which shows it to player.
With coin done, player can escape from the "dungeon" back to his ship, finishing the level. Even on this part I spent more time, by trying to figure out some parts again, even through I had done them before, when I was playing with the 2d gamekit for the first time.
Final level from close:
Comparison of the design vs my implementation:
Differences:
- Spitters are patrolling their platforms instead of changing direction. This feels much better and player can easily predict when will they change direction.
- Spitters do not have visual indicator of the area they see. I spent too much time on making them move, and I don't feel like visible cone or light would make it feel any better. It's easy even without it. And sometimes hard as the default detection system is little bad as it detects object behind the objects with the collision.
- Level changes that are visible and mentioned in diaries. Major one is that player has to return to the ship to finish the level. At least there is some purpose to having correct jump height and distance between platforms :) And spitters have more chances to hit player :D
Final thoughts:
Working with the provided OPL design was not a problem mostly, puzzles are described well enough to understand, but could be better formatted. Mechanics are straightforward. So my biggest gripe with it is that there are no measurements provided, which would help a lot, when I started implementation.
Level could definitely be more polished, but nothing is perfect and right now it works well enough. Also time spent is already over the expected time. Major improvement would be to fix Spitters detection, but that would most likely be a lot of work.
Decorating level mode it much better as it does not feel empty, but is definitely not finished, but placing all these object's is a drag...
Level is really easy if you know solution to the puzzles, and even without it you can bruteforce it in few minutes. I think that it could be improved by making spitters better and introducing penalization for being discovered. Then after picking up a Gem spitters should most likely be at high alert so player has it much harder to escape.
In the end I had some fun implementing the level, and some frustration and lot of time wasted unproductively, not even from the one page design, but from unity as I thought few times that writing some parts from scratch would be faster than figuring out how unity expects me to use the provided one.
Files
Get Project B
Project B
Project for second part of Introduction to Game Development course at MFF UK
Status | Prototype |
Author | Woprok |
Tags | mff-gdintro-2021-b |
More posts
- Project B – Journal Entry 2Apr 16, 2021
- Project B – Journal Entry 1Apr 11, 2021
Leave a comment
Log in with itch.io to leave a comment.