uchicago-cs / chiventure

A text adventure game engine developed in UChicago's CMSC 22000 - Introduction to Software Development
40 stars 13 forks source link

Writing Lua scripts and C files that will help modify certain elements inside the NPC struct #525

Closed suday18 closed 4 years ago

suday18 commented 4 years ago

Description: Our goal for this issue is to start writing LUA scripts and C files that will able to adjust NPC structs specifically such as the "health" variable. To do so, we will be working with the other NPC team about how to integrate LUA into their existing codebase. Most specifically, we are trying to use the custom types that @hugo-chan and @tammytran134 have created in #594 into the NPC to change the way that they get and change variables inside the NPC struct such that now LUA scripts can be passed which make those changes instead.

suday18 commented 4 years ago

We added stuff to the our Chiventure custom scripts branch, having created a C file and a Lua file which modifies the health variable inside the npc struct. Now, we are trying to figure out how to actually integrate this code in the NPC teams code and are trying to figure out a time to meet.

suday18 commented 4 years ago

We've had conversations with the npc-rpg team as well as the npc-team, specifically having spoken to @shayna-k, @anshikab from the npc-rpg team and @lilyehsani from the npc-team about the npc struct and the ways in which it can be modified with the custom_types struct that we've created. We are currently in the process of making these changes in their npc module so as to modify their struct and build a greater level of abstraction that allows for Lua scripting.

DINO-ADV commented 4 years ago

We had a conversation with @dwahme, which led to us changing our strategy a little bit, regarding modifying NPCs. We now started building off @hugo-chan and @tammytran134 work, in Issue #594, we used the pseudo-types they created to replace the variables in npcs-rooms struct to build off the previous work of rpg-npc teams in allowing npc movement in room.

suday18 commented 4 years ago

Specifically, we modified the room id variable inside their npcs_in_room struct to now work with an object_t struct that our other team members had created. The purpose of this object_t struct is to be able to hold different types of data types and allow for the game author to also implement their own types of Lua files which can be used to make changes to the existing structs in the game.

suday18 commented 4 years ago

Here is the link to our branch which has the modified files: https://github.com/uchicago-cs/chiventure/tree/custom-scripts/npc

suday18 commented 4 years ago

Closing Comment: In closing, we are planning to open up a pull request for this issue and for the code that has been written which makes changes to the structs created by the npc-rpg team. The npc-rpg team (@shayna-k , @philipchenaux) and the other members of our own custom scripts team (@hugo-chan and @tammytran134 ) have opened up pull requests of their own. Since our own code also has some dependency on their code. We thought it made sense to close this issue for now and open up the pull request and start to go through the process of understanding the dependencies and how changes can be made.

firatciftci commented 4 years ago

Issue Score: ✔️+

Comments: Great work on this issue! The only thing I will point out is that there should have been more detail put into the meeting update comment; ideally, it should include who the meeting was between, what topics were discussed, and what are the exact outcomes.