I just downloaded and tested GraLL this evening and I must say that youve made a really nice game!
Anyway since Im working on a similar project I thought I should give some constructive comments. I hope you dont mind
Your art pipeline seems flawless as I mentioned in a previous post. Very important to have that. One suggestion would be to use a scripted level format which could provide more varied content. Maybe next game? About the game, I love how you can build all sorts of intresting levels with just a few game elements. They work well and it feels intuitive how you should use them. Spikes and bombs looks dangerous. Crates in the middle of a room can be pushed etc.
One thing I would suggest that you change is the difficulty level of the Tutorial level. The first level is very hard for a beginner... That or its just me getting old
Even so one should remeber that its easy to loose a new player if you havent balanced the difficulty level very carefully. The first level should be simple and only introduce a few selected game elements and should not be too long (timewise) or else the player might loose interest and move on to the next game. It shouldnt be too easy either of course, that would lead to the same decision. All that said I still got hooked so cant say that youre doing anything wrong really
I can also understand that it is tempting to show off all different game elements in the first level but then you take something away from the player. You take away part of the exploration joy because finding out about new game elements (such as the moving platform) and learning how to use or not use them can be as enjoyable as making it to the next level or even more so. Also If you slowly introduce new game elements then there isnt such a great need to have a tutorial level at all since the player will gradually learn how to interact with the new content.
There is a very intresting article over at Gamasutra.com about this that everyone designing a game should read IMO:
Gameplay Design Fundamentals: Gameplay Progression.
The best structured games start out extremely easy to allow all players to quickly experience the reward of game progress (by completing the level, winning the race, or defeating the opponent).
Over to a bug report.
Three times the game has just crashed out in the middle of a game. I saved two of the log files (only showing the last few lines here). Hope they can be useful for tracking it down:
Code: Select all
17:57:23: SpeedBoost with ID 156 created.
17:57:23: Parsing Object: Type: Door | Arguments: ElectricDoor | Position: 105 5 85 | Orientation: 0.707107 0 -0.707107 0
17:57:23: Door with ID 157 created.
17:57:23: Parsing Object: Type: Fan | Arguments: 100,40 | Position: 135 5 115 | Orientation: 1 0 0 0
17:57:23: Fan with ID 158 created.
17:57:23: Parsing Object: Type: EndPad | Arguments: none | Position: -125.083 5.0553 125.053 | Orientation: 1 0 0 0
17:57:23: EndPad with ID 159 created.
17:57:23: Parsing Object: Type: Acid | Arguments: none | Position: -65.0806 -15.0049 -74.9982 | Orientation: 1 0 0 0
17:57:23: Acid with ID 160 created.
17:57:23: Parsing Object: Type: Crate | Arguments: none | Position: -75 7.5 -45 | Orientation: 1 0 0 0
17:57:23: Crate with ID 161 created
17:57:25: Spikes with ID 162 created.
17:57:25: Spikes with ID 163 created.
17:57:25: Spikes with ID 164 created.
17:57:26: An exception has been thrown!
-----------------------------------
Details:
-----------------------------------
Error #: 6
Function: OverlayManager::createOverlayElement
Description: OverlayElement with name GUIBase.w31 already exists..
File: ..\src\OgreOverlayManager.cpp
Line: 549
Stack unwinding: <<beginning of stack>>
And another one:
Code: Select all
21:04:01: Spikes with ID 101 destroyed.
21:04:02: Key with ID 150 got message 'Touched' with value ''.
21:04:02: Key with ID 150 destroyed.
21:04:03: Spikes with ID 150 created.
21:04:03: Spikes with ID 101 created.
21:04:03: Spikes with ID 99 created.
21:04:04: |Door|DoorB| with ID 151 opening.
21:04:04: Spikes with ID 150 destroyed.
21:04:04: Spikes with ID 99 destroyed.
21:04:04: Spikes with ID 101 destroyed.
21:04:04: Door with ID 151 destroyed.
21:04:05: An exception has been thrown!
-----------------------------------
Details:
-----------------------------------
Error #: 6
Function: OverlayManager::createOverlayElement
Description: OverlayElement with name GUIBase.w31 already exists..
File: ..\src\OgreOverlayManager.cpp
Line: 549
Stack unwinding: <<beginning of stack>>
Anyway good luck with your project! Must finish Tutorial level now....