The Green Warden – Report 5

GreenWarden MainMenu3

Above is an example of how the main menu would look like.  Artist: Eva Sokolova

Above is an example of how the main menu would look like.
Artist: Eva Sokolova

This week, work on the Main Menu has continued slowly. I have been trying different methods of solving the errors I encounter and so far I have solved the error in the Update class which was a case of a lacking return statement that I had overlooked.


bool MainMenuState::Update(float deltatime)
{
if (m_start == true)
{
MainMenuState::GetNextState() = true;
return false;
}

if (m_exit == true)
{
MainMenuState::Exit();
}

return true;
}

Once that had been dealt with however, I met an error in the Exit class, however, it is a void class and there doesn’t seem to be anything missing.


void MainMenuState::Exit()
{
spaceshooter::AudioManager::Shutdown;
sf::Window::close;
m_window = nullptr;
Exit();
}

The hpp file only contains “void Exit() = 0;” in reference to the exit. It feels really odd and I’ve been stuck at it for some time. It is very likely that the main menu will not be done to the beta presentation. With some help it may at least be done to the final release.
To help solve this I will try to get in contact with our programming teachers and see if they can explain this problem to me and help me out.

I am reading a book called “Beginning: C++ through game programming” to help with my lacking understanding of programming so I can get back in pace with my class and the levels that I should have at this time into the programming. It is a good book with a lot of detailed explanations, I fear however that due to it being a rather big book and one having to read it in detail that I will not be even close to be done with the book by the time this project is finished.

In my opinion, we should have been a lot quicker with the menu as many games have a main menu even before the early alpha phases which I do think is a much better way to go about it as it is chronological and then it is clearer what needs to be done and at what phase the game is at. Then one also has a lot more time to make changes to fit the schedule without it causing too much chaos. This way one can also disconnect the main menu when it is finished so one does not need to start the main menu every time one starts the game to test new code implemented into the game state code that is, the code that runs the actual game part of the program.
In this method one can also deal with the win and fail screens and conditions while the game itself is being worked at so by the time of alpha or at least beta, the game has a main menu, basic game with a functional win and failure state which is a lot more acceptable than the current situation where we have a game without a main menu or a functioning win or fail state.

The moral of the story is that the game can be almost indefinitely refined, the main menu and the win and failure states can not. As such, one should make sure to fix the main menu and the win and failure states before one refines the game itself as then one might have the entire alpha – beta and beta – final period to work on the refining of the game.

Filed under: Game Development – introduction – 5SD033 Tagged: 5SD033

About Marcus van Aller

2015 Graphics