Posts

Game Engines - Roboy Phyre Engine 6

    An  important aspect of the efficiency of our project is to further develop on the implementations of scripting. Ideally we need to use scripting efficiently to save a lot of overall time on compiling and tweaking, as well as implementing a proper design pattern for handling various monotonous updates, for example, different AI’s or simple door triggers and placements.      Working on understanding how Phyre works with scripts, we used the build in importer to track how .lua scripts were passed in from a reference in some pre-made XML, to being compiled and working in the engine provided a great foundation for the knowledge of scripting handles. Luckily there was a perfect sample for scripting, and a lot of the manual script compiling and linking that we were trying to do manually, was actually handled within a scripting component that was much easier to initialize.      The documentation provided little detail regarding setting up sc...

Game Engines - Roboy Phyre Engine 5

     For our game using Phyre, we are working with the Bullet physics library. Going over the various samples for setting up and managing physics worlds, we were able to implement dynamic layouts and all dynamic set ups.      We found through trial and error how everything needs to be set up, managed, and handled. Given the design concepts in mind, we understand how we should set up different groups for physics bodies as the project grows larger. Going over samples closely and monitoring source code was essential, since the documentation does not give a much useful description.     Working with the physics engine, and attempting to handle everything dynamically, we found what exactly was needed for each step of set up. First, we need to associate the current media asset’s mesh with the Physics rigid body.     Using the Collada exporter when handling our models, we can easily get the mesh instance of our object file from...

Game Engines - Roboy Phyre Engine 4

Image
    On a positive note regarding our progress, this blog is the fourth iteration of our adventures with Phyre and will go over how gameplay is starting to shape up now that we understand the new ideas and concepts required for Phyre, and now that we understand a lot better what is happening at lower level fundamentals of the engine.      At this point we have become extremely familiar with the samples, and handling the project and performing mundane tasks that previously were not known at all how to implement, has become a breeze. Getting a lot more comfortable with the engine means that we can focus on building our prototype and trying to polish some of the dirty code we wrote up to get things working. This blog I will go over how we started to flesh out our game prototype given our accumulated understanding of the Phyre engine as a whole.    Staring off, I would also like to state that gettin...

Game Engines - Roboy Phyre Engine 3

Image
    Going over the third installment of our Phyre engine adventures, this one will be go over a few and little outdated notes about our development, since we got caught up in all the work that needed to be done for the game. First of all, at this point we were focusing on adding and instantiating components in Phyre properly, as we needed to utilize our own editor and importer.      We were also focusing on understanding how Phyre actually handles the importing of their own editor type, and with limited documentation and tons of work trekking through the source we were able to learn enough about how the engine works to continue development on our game with our own tools.     Starting off, we did a lot of reading about and trial and error tests on the physics component for Clusters in Phyre. This was part of looking into adding dynamic properties to components, we first needed to understand how ...

Game Engines - Phyre Engine Audio

Image
    So we've been working on our game with the Phyre engine, picking away at points we needed at the time from the documentation and trying our best to understand the inner workings of Phyre through the documentation and trial and error, when we realized we needed to have an important GDW milestone with audio in it. So we thought that since there is supposed working audio examples included with the engine documentation, it shouldn't be too bad. This would be the case if the samples actually worked and there was actual documentation about the tools needed when managing audio assets.      When we first began tackling the audio problem, we were making sure that the audio sample was actually set up properly. Cleaning the assets Phyre assets, reprocessing them, and rebuilding the solution all had no effect on the situation. So we took to deeply analyzing the assets that were being loaded in.     First we made sure that all the FMOD depend...

Game Engines - GDC: Scripting

Image
    Last class we watched a GDC '11 presentation regarding proper uses and techniques of scripting systems and the concepts of the proper architecture required. I'll be going over the information in the presentation, as well as my thoughts and approach to implementing this in our GDW game.    The beginning of the slides started off by distinguishing the main difference between implementing features and core mechanics directly into the main project, as opposed to developing the main project to parse and interpret external commands. The presentation stated that making the game in code is not any different as making the game in scripts, regarding the proper way of implementing mechanics and developing games. Example lua game trigger script    The idea that scripting is "Faking it" is referring to how scripting is not properly implemented in some projects, and that the engine is set up to handle most of the mechanics regardless of the script. They are...

Game Engines - Roboy Phyre Engine 2

Image
    During the development of our GDW game, Roboy in the Hood, I came across some intense movement and camera controlling code in one of the Phyre engine samples, Space Station Demo. During the phase where we were planning and mapping out how our character would move and the camera would be controlled, we decided on the key design implementations, but overlooked the actual mechanics and details that would need to go in. More specifically, I found a piece of code in the sample that implements proper movement and easing given the 2 vector inputs of the controller and outputting the proper direction to move in, in relation to the current camera position. Space Station Demo with 3rd person movement and camera     Looking through a lot of samples and reading the Phyre documentation, we found that a lot of Phyre classes and components already implement movement physics and camera handling, it was just a matter of stitching them togethe...