REFLECTIVE JOURNAL
Class Mind-mapping Document
DEVELOPMENT OF FINAL PROJECT: VIDEO GAME DEVELOPMENT
Wednesday 30th April - Friday 2nd May
The first phase of development has chiefly involved the construction of the framework of the game by coding the intended game mechanics.
As of now, the following lines of code of the following mechanics have been embedded in the program:
HUD's data processing systems:
The player's health bar has been programmed to irreversibly end the player's session and display a "GAME OVER" message (Sprite4) on the player's screen and cause the player to vanish when the player's health reaches zero.
The health bar has also been coded to perpetually replenish at a rate of 10hp per three seconds until the maximum value (500hp).
In the third line of code, the sprite "Wood" is an item that the player obtains when cutting down a tree. It is intended that one unit would be added to the "ItemCounter" variable when more than one "Wood" is displayed on the set coordinate or "Image Point".
Interactions with certain hostile entities that deplete the player's health by certain values:
The unnamed and untextured sprites are hostile creatures that roam the player's world and deprive the player of health upon contact.
As to their pathfinding system and behavior, I intend that these entities will wander unsystematically and not directionally. However, at this point, I am uncertain as to how to script this pathfinding system. Thus, they have been programmed to simply move back and forth by applying the "Swine" behavior to them. This system may see amendments in later phases.
Furthermore, I am unsure how to code the entities to chase the player away when the player wanders within their detection range. Therefore, they simply act as danger points on the map that the player should evade.
Cutting down trees:
It is intended that trees are cut down when the player presses a key when facing a tree, and a progress meter would then appear above the tree that the player is actively cutting down.
The progress meter will display the player's progress that is parallel to the tree's remaining points before it is cut down.
At this point in the project, I am pleased with what I have developed but concerned with coding the mechanics of the game as I have seen that I will need to experiment with the coding elements to attain a deeper understanding of their functions; as I understand how the system itself is constructed, but I do not yet know the parameters and conditions that are provided and the functions that they execute.
Tuesday 6th May - Friday 9th May
This week of the project, I have been correcting coding errors within the script and have started illustrating the graphics of some of the game's sprites.
Recording of gameplay:
The sprite representative of the player has the behaviors "ScrollTo" and "8Direction". The behavior "ScrollTo" is intended to direct the focus of the camera on the player and center the player on the player's screen, and the behavior "8Direction" allows the player to move in eight directions (ordered clockwise): up, up/right, right, down/right, down, down/left, left, and up/left.
The moving rectangular objects are representative of the creatures that will roam the player's world. Their behavioral properties remain unchanged from when their behavior was first programmed last week.
The grey-colored vertical rectangles are representative of trees and the green bars that appear when the player touches a tree and is cutting the tree down are meters that visually measure the player's progress as the player is cutting down the tree.
One noticeable flaw is how a progress bar appears above two trees simultaneously when the player touches only one of the trees. This was because one individual bar was assigned to two different trees so when the system of one of such trees detects player input, a bar appears above both. This was quickly resolved by assigning a different bar to appear above either tree when player input is detected.
Another issue is how the player's inventory slots and health bar do not follow the movement of the player. This is a flaw I am presently attempting to address.
As for the graphics side of the development, I have begun illustrating some of the featured objects: both still and functional.
One of the trees as seen in the recording has seen graphical enhancement, but I have fashioned various other illustrations which have not yet been implemented.
See such illustrations below:
Background
Flora
To conclude, I am mainly happy with how the project is progressing but a few concerns linger: resolving the coding mishaps. In hopefulness, I am sure that I will not need assistance from anyone and will be able to resolve these issues unassisted. But if it manifests otherwise, I will seek assistance in that case.
Monday 12th May - Friday 16th May
For this phase of this project, I have continued refining the script and enhancing the game's graphics.
Some of the trees interspersing the game's world have seen their graphics enhanced. See such trees below:
Tree3
This was the first of the trees to have been graphically enhanced. This tree has also been coded to be animated by playing one frame every second and another every two seconds.
The coding of the animation:
So for every second, another version of the tree (Sprite7) would automatically have its visibility set to "Visible" and the visibility of the former (Tree3) "Invisible", and reverse the next second.
However, I doubted whether the animation could play continuously without irregularities: since a frame plays every second and another every two seconds, every two seconds they would both render simultaneously and result in the frames misrendering. In favor, this was not the case and the performance of the system was surprisingly flawless.
Tree4
Another one of the trees to have been graphically enhanced. No animation has been coded to it yet though I do intend to code the tree to be animated.
On the coding side, I have refined the health system by coding in additional conditions. See the coding of the health system below:
The health bar has been coded to regenerate by 40hp every two seconds when the bar measures to a value less than its maximum value (1350hp) and persistently set its width to 1350 pixels at a scale of 1hp per pixel whenever the health bar regenerates beyond the 1350th point.
To finish, I am pleased with how I am progressing with the project. However, I do bear one uncertainty and that is regarding the animation of the non-playable characters that will inhabit the player's world. A vague idea as to how I will proceed with this is in my mind but it is unclear whether it will be successful.
Monday 19th May - Friday 23rd May
For this week of development, I have progressed with improving the game's graphics and optimizing its mechanics.
As far as the improvement of the graphics is concerned, the background has been completed at its full scale and has been embedded into the game. See the background below:
The blue coated throughout is an otherworldly grass alongside the patches of a greyish tone to further visualize the undergrowth. More than such, assets mimicking vegetation have also been interspersed for further visualization of the undergrowth.
A river flowing from top to bottom has also been illustrated to further fill in the barrenness of the background.
More than so, a patch of a greenish and darker tone has been illustrated to indicate a particular area of the map that is apart from everything else and is where unique flora will exist. This is only for the sake of environmentally diversifying the player's world.
A screenshot of the background within the game:
As you see in this screenshot, many more assets have been implemented. Among these are botanical assets which were fashioned earlier but were not yet incorporated.
An already seen screenshot of all of the said botanical assets:
As stated in a record of an earlier phase of development, all assets seen in this screenshot are solely for aesthetics and are not functional. Also, they are all imaginative and original.
Moreover, another tree has been graphically enhanced. See that tree below:
Tree1
The appearance of this tree has been crafted distinctively to distinguish it from all other trees by its coloration and slender trunk.
Final Evaluation
I believe that this project has been a profound success for an experimental production though there were a few uncertainties and mishaps. However, uncertainties and mishaps were foreseen considering the experimental factor of this development.
My performance in this project was exactly how I anticipated it to be before commencing development: incompetence in coding and competence in pixel art. Constructing the coding of the game's mechanics was in demand of much skill and knowledge from me which were largely absent. The reason was because of my ignorance of the provided coding elements and their functions: I was informed how the system was constructed but not the functions of its building blocks. Fortunately, I was mostly able to assign the correct variables by judging term usage. For instance, if I were in search of a condition that processes the actions every specified second, I would search for terms such as "every" and/or "second" and from that deduce a condition with either both or one of those terms as the condition needed.
Furthermore, I was unsure how to animate the sprites as intended. Therefore, I devised my own approach to do so and that was coding the animations in the script by coding one frame of the sprite to be visible and the other invisible, and reverse. I did doubt whether the performance of this system would be faultless but, astonishingly, it functioned exactly as I hoped it would and no faults arose.
On particular occasions, I sought to be assisted by expertise when I encountered uncertainty. Two such occasions were when I hassled coding the "Cut tree down" mechanic and when I was uncertain how to set the HUD elements to align themselves with the player. Regarding the "Cut tree down" mechanic, there were issues with the progress bars that render when the "Cut tree down" system entry detects input: the bars would not set their width according to the player's progress. I am not sure as to why exactly this was the case but I presume the cause to have been an integration of irrelevant parameters. Whatever the cause was, this issue was resolved by a few script refinements. As for the HUD struggle, the diagnosed cause was that the HUD elements were in the wrong layer. This issue was resolved by adding a new layer and then transferring the elements into that layer and setting their parallax value to zero so their motion was parallel to the player's motion.
As for pixel art, considering my unarguable proficiency in illustration, I was able to creatively illustrate the game's sprites almost effortlessly; I encountered no problems with illustrating the game's graphics. Despite my presumption before development that I would need some doses of inspiration, all products stemmed from within my mind without any inspiration at all.
As a final statement, I am pleased with how the project has progressed and where it has led. Despite the difficulties that I encountered, I do not at all regret undertaking this challenge. I am glad that I have challenged myself and have undertaken something I did not consider myself to be competent in.
Final Product
No comments:
Post a Comment