Better interface for campaign and training missions

2 replies [Last post]
Wuzzy
Wuzzy's picture
User offline. Last seen 1 week 6 days ago. Offline
Joined: 2012-06-20
Posts: 1301

Hi! I think the frontend really nees some improvement when it comes to missions and campaign.

Problem 1:
The list of training missions becomes longer and longer. It also becomes messier and messier. And this menu no longer is only for training missions, there are also real missions which can be won or lost and challenges.

Suggestion 1:
Introduce the concept of mission categories. I suggest to start with these categories: Mission, Traning, Challenge.
Missions have a goal and you can win or lose, like Teamwork, the portal mission, Dangerous Ducklings, and so on.
A training has no goal or at least no “real” goal, it just want you to teach stuff or where you can practice stuff.
A challenge has its focus on getting a high score or low score or finishing a task as good as possible and where there is some kind of score awarded at the end. There may be a ultimate goal, but this is only a sidegoal.
Examples include my new target practice missions (score), RC Plane Challenge (number of used planes).

Problem 2:
Hedgewars currently lacks almost any kind of recognition of a successful mission. If you win a mission, Hedgewars immediately “forgets” it.

In campaigns this is somewhat implied by the availability of other missions, but that’s a bit poor IMO.

Suggestion 2:
The interface should show a little icon for missions which have been won.

Also extend the Lua API to support:
- MarkAsWon() - marks the mission or challenge as won (does not imply a winning animation, advancing in campaign or anything else). In the frontend, this should be indicated by a symbol from now on.
- MarkAsLost() - marks the mission or challenge as lost.

Example:

If you win in Teamwork mission:
MarkAsWon()

If you lose in Teamwork mission:
MarkAsLost()

Problem 3:
Challenge missions currently lack any kind of tracking some kind of scores.

Suggestion 3:
Keep track of the best scores by storing good scores in a file or multiple files or something. The Lua API is used to inform Hedgewars

Also extend the Lua API to support:
- SendChallengeScore(score, comp) - stores the obtained “score” of a challenge. score is a real number or a table.
“comp” is an optional parameter which specifies a function with two parameters v1 and v2 and it returns true if v1v2.
- lower(v1, v2): returns true if v1

Hi, I am a Hedgewars developer. Smile

Wuzzy
Wuzzy's picture
User offline. Last seen 1 week 6 days ago. Offline
Joined: 2012-06-20
Posts: 1301

Suggestions 1 and 2 are implemented since a while. Smile

In the campaign screen, completed missions and campaigns now have a little check mark. The Lua API for missions has also been extended accordingly.

In the missions/training screen, missions are now split in scenarios, trainings and challenges.

Suggestion 3 is still to be done.

PS: Oh boy, I think it is REALLY time for Hedgewars to get a new release. The amount of new features which have piled up is INSANE.

Hi, I am a Hedgewars developer. Smile

KoBeWi
KoBeWi's picture
User offline. Last seen 1 day 7 hours ago. Offline
Joined: 2010-12-25
Posts: 564

Wuzzy allegedly wrote:
PS: Oh boy, I think it is REALLY time for Hedgewars to get a new release. The amount of new features which have piled up is INSANE.
Not before my theme code goes in >_>
I really need animated water and mirrored sprites. Objects on water would be fun too, but not that important.

User login

Copyright © 2004-2024 Hedgewars Project. All rights reserved. [ contact ]