Terra Carta
Relaxing Atmospheric Puzzle Game
The Context
Terra Carta was created during a ‘Creative Week’ at Bellecour Ecole. We had less than five days to independently create a creative experience within the constraints of the cards and with a theme of our choice. We chose “Echo” and ‘Fragment’ as a bonus. We worked with a third-year student as our lead, who taught us a lot.
Our goal was to create a relaxing and polished experience. My focus was on the "Juice" and UX: ensuring players understood interactions instantly.
My Contributions
- 01 UI Integration Implemented the tooltip logic & the menu
- 02 Sound Design Integrated all audio assets
Learning & Implementation
Handling UI in World Space
One of my tasks was to create tooltips for the cards to explain their effects on other cards. I used a Singleton Pattern so that the behavior could be accessed from anywhere without complex links, especially in the context of a jam.
My biggest challenge was to position the interface correctly so that it would display above my card and automatically stretch to fit the size of the text.
// Original logic created during the Creative Week Jam.
// Refactored for this portfolio to improve readability and performance.
public class TooltipBehaviour : MonoBehaviour
{
public static TooltipBehaviour Instance;
[SerializeField] private TooltipManager _tooltip;
[SerializeField] private Vector3 _offsetTooltip;
public void ShowTooltip(SSO_CardData cardData, Vector3 triggerPosition)
{
_tooltip.SetText(cardData.cardDescription, cardData.cardName);
_tooltip.gameObject.SetActive(true);
// Optimization note: In the original jam code, I didn't cache the RectTransform.
// Today, I would cache it in Awake() to avoid GetComponent calls here.
RectTransform tooltipRect = _tooltip.GetComponent();
float heightOffset = tooltipRect.rect.height / 2;
Vector3 finalPosition = triggerPosition + new Vector3(0, heightOffset, 0) + _offsetTooltip;
_tooltip.transform.position = finalPosition;
}
public void HideToolTip()
{
_tooltip.gameObject.SetActive(false);
}
}
Sound Design & Atmosphere
For a relaxing game, audio plays a major part in the experience. My experience in animation helps me understand the importance of feedback.