May 4, 2023

UNITY PERFORMANCE: FindObjectOfType => outside of start() or awake() is problematic






 Just a heads up on something I was unaware. As I added many climbable ladders to my city, I started noticing the frames dropping and while using Profiler, I noticed it was due to the Update loop. There was a reference in the Update loop to the FindObjectOfType call, which I thought was done only once during the gameobject initialization.

I put the FindObjectOfType references in the Awake() method instead, and my framerate doubled, from 60 to 120. So, heads up! :-P


BEFORE:


AFTER:




May 2, 2023

Cacildes Adventure - The (Planned) Story


This is the planned story for my game, Cacildes Adventure, which I'm currently developing. The story is a coming of age tale, with a heavy focus on the journey to find a place to belong.

There are three main characters in the story:

Cacildes, the protagonist, a young boy wishing to join the King's Army;
Alcino, a banished prince of hell who has been living peacefully with the humans and is the general of the army;
Balbino, an half-orc half-elf and the antagonist who moves the plot forward in his personal quest to find a stone that turns orcs into elves, so he can become accepted by elves (as he is not by his orc's counterpart)

I envisioned these three characters way back in 2012, when I developed a story about a young boy leaving his home to join the king's army and finding odd characters in his journey.


The story had Cacildes killing a bear that was stealing his mother's chickens, then leaving home and meeting an old philosopher in another town, called Sidónio, who was also heading to the Capital to give a philosphy lesson. Upon arriving at the town, Cacildes would stop some bandits from assaulting a carriage, with one of the bandits cursing him with an evil curse.

   Here's some screenshots of the 2012 game:


(You could craft weapons and armor, and they would change your sprite's appearance)




(Elven dungeon)




(Elven town on the way to the Capital)



( The Capital )


What followed was a series of tragic events that led to Cacildes being imprisioned in the Capital, only to escape with Sidónio and find a witch that could brew him a potion to cure his curse. He would then journey the world to find these ingredients, meeting Alcino and Balbino along the way!


( The original cover artwork )




(Original 2012 drawing for Balbino)



That was the general idea for the game at the time, and I drew the characters years later, in 2016:


(From left to right: Cacildes, Alcino, Sidónio and Balbino)


(A draft of Cacildes)

Now, in 2023, I've rewritten everything and recycled these ideas into a story that I think is well-scoped, well-rounded and has a much more interesting overarching narrative (and themes):

 STORY POINTS:

  • Cacildes is a young boy who yearns to enlist in the King’s Army

  • After completing a series of tasks from his mother, he embarks on his journey to Cecily Town, where the king lives

  • There he finds the town in crisis due to the west bridge being blocked by orcs - this bridge is important for receiving shipments from other cities, and its blockage means prices are rising and the townsfolk are going through hard times

  • The king directs Cacildes to Alcino, the Army general, who will decide if Cacildes is a fit for the army. Alcino is a banished demon lord who was banished from hell because of his refusal to punish the damned souls, and for his expressed love for humanity. He has been living with humans for centuries, and has employed his dark powers at the king’s service in exchange for the finest harvest of grapes for his wine-production purposes.

  • Alcino tells Cacildes to investigate the library at night, as townsfolk have reported a stranger entering and exiting the building

  • That stranger is Balbino, an half-orc, half-elf who is part of the orcs guild that is blocking the bridge. He has been investigating the library for information on a stone that has turned orcs into elves in the past. This stone was discovered by Concordia, a traveler born in Cecily Town centuries ago, and who found this stone in the ocean on a elven shipwreck. She brought the stone back to Cecily Town, and a settlement nearby that was once hidden and filled with orcs was now blooming with flowers, wit the orcs turned to beautiful elves.

  • Balbino is researching about the stone because the orcs want the stone destroyed - hence why they are blocking the bridge and attacking Cecily Town. However, secretly, Balbino wants to use the stone to turn himself into an elf, because his half-blood orc means he is not accepted fully within his orc’s peer.

  • After Cacildes encounters Balbino in the library, he flees the scene. Although they don’t speak with each other, Cacildes waits for the next day to talk with the librarian about which book Balbino stole. After knowing the name of the book, Cacildes returns to Alcino, which tells Cacildes he has done a good work and will need time to investigate it further. In the meantime, he tells Cacildes to deliver a message to one of the soldiers posted in the bridge. This begins Act 1

  • Upon arriving at the bridge, Cacildes finds that the soldier that was meant to receive Alcino’s orders has gone into a secret mine nearby, where he is sure the orcs have their settlement. Cacildes goes searching for this soldier in this mine, arriving at the secret settlement, where he finds the soldier dead. Here begins the boss battle against a giant Orc and Balbino. Upon defeating the pair, Balbino flees the scene again. The orc leader is seen sailing away has the king’s army arrives at the settlement. This seems to end this plot thread.

  • Upon arriving at Cecily Town, Alcino tells Cacildes that the stone has disappeared from the Elven village, threatening the elves into becoming orcs once again. Cacildes must travel to the elven village next.

  • Act 2 begins with Cacildes arriving at the elven village. Balbino has stolen the stone and hidden himself in Arun’s Resting Place, a temple full of dangerous enemies. In the temple, Cacildes faces Balbino again in a boss battle, with Balbino losing once again, admitting to Cacildes he wants the stone for himself in order to turn into an elf

  • The elven master arrives at the scene, and tells Balbino that without the stone, they will all turn into orcs. Balbino asks if he can coexist with the elves being an half-elf, but the elven master asks for the stone first, prompting Balbino to accept that he will never be accepted anywhere. Cacildes asks him to join him in his journey, telling him about how Alcino lives among humans and he himself is a demon prince. Balbino is convinced that humans may be less prejudiced than orcs or elfs, and accepts.

  • Upon arriving at Cecily Town, the pair is surprised to see the town engulfed in flames. Alcino tells Cacildes that the King’s daughter has been kidnapped, with the orcs demanding the stone. In the future, there will be two ways to complete the final act: either stealing the stone again from the elves; or chasing the orcs by boat on the final island, where the Orc general can be found and defeated, and the princess rescued (she will be in a tower, as a cliche node to old RPG games). This is the good ending, with the orc threat finally gone and Cacildes joining the army alongside Balbino (?).


Hopefully that story doesn't change too much, as I think I really have something here that I can translate into the game with the existing mechanics already present.

So anyway, that is the story so far. Be sure to follow the game's development here:
https://andrefcasimiro.itch.io/cacildes-adventure

And thank you for reading!