POP/TR style jump/hang/shimmy gameplay with Torquescript?
by John Waynick · in Torque Game Engine · 07/23/2008 (2:12 pm) · 4 replies
Hello,
Let me start out by saying that I am a game design student attending UAT. I guess that makes it pretty obvious my desired career path. The relevance of this note is that one of the things we have to do in order to graduate (similar to having a portfolio for an art school) is develop a presentable game project. I'm a sophmore and wanted to get a head start, so I've recently started gathering other students to build a team that I will be heading under the name Starcloud Games. I've played with many engine demos over the last year and every time I always end up coming back to Torque.
The thing is, I am an artist. Specifically, level design is my interest. I'm a professional graphic designer for a day job, so art just comes naturally. Due to the nature of my courses, the team I have been able to build so far consists of a few other people taking the art based game courses. So needless to say, we are programmerless at the moment.
Now I know, that as a level designer I need to be able to work the scripting language like I work my art, and I am comfortable with that. Even when I began playing with the Warcraft III editor I ended up mastering the scripting (not just triggers). I'm becoming increasingly more comfortable with Torquescript, but I will be flat out honest and tell you that I am not (and never will be) a programmer. I tried learning C++ once, but the mental capacity required to master the complexity of a full language was getting in the way of improving my artistic talents (however, script based languages are fine for me, such as HTML, CSS, Javascript, Lite-C, and even the almighty Torquescript).
So my question really comes down to the capabilities of what you can achieve through scripting. Until we recruit a full time C++ programmer, we are pretty much limited to what we can do with scripting. My team and I have discussed what type of game we would like to develop for this project and it seems we all share similar interests in favorite games. While most of us love our RPGs, all of us are fans of action/puzzle games like Prince of Persia and Tomb Raider. So we decided to go with an idea that utilized a system of controls for things like climbing, hanging from ledges, wall running, and other similar feats like you would see in a Prince of Persia game. We plan on recruiting a programmer as soon as we get the chance, but having a working sandbox prototype would really help convince them.
So, is it possible to implement a jumping/climbing/hanging system like this simply with script?
Let me give you an example:
I just started on this sandbox level yesterday, so only the first encounter is prepared. You enter the mission exiting a cave in a mountainside (you start in open terrain). There are some remains of ruins all around (mostly blocks at first, broken columns, etc). Upon rounding the corner of a mountainside, you come across a small set of ruins (these were designed as a .dif in Constructor). The only way beyond them is through them. You enter the ruins through an open door to the left to find you must go upstairs to the second floor to reach the other side. Unfortunately, the stairs have been destroyed with no way up. So you go outside and notice the remains of a way leading up. Scaling to the balcony of this second floor requires climbing a small set of steps, and then platform style jumping across stair remains and left over pieces of balcony. When you come to the final portion, there is a last step you can jump to and then just walk onto the outside portion of the second floor.
Now what I would like to do is to remove that final step. Instead, I would like the player to be on that second to last step, jump up and grab hold of the ledge, shimmy over to where the last step was (is currently), and pull himself up. That is the type of gameplay I am looking for. The question is, can this be accomplished in Torquescript? If not, will it be difficult to integrate it into the source code once we have a full time programmer?
Thank you for your time,
John
Let me start out by saying that I am a game design student attending UAT. I guess that makes it pretty obvious my desired career path. The relevance of this note is that one of the things we have to do in order to graduate (similar to having a portfolio for an art school) is develop a presentable game project. I'm a sophmore and wanted to get a head start, so I've recently started gathering other students to build a team that I will be heading under the name Starcloud Games. I've played with many engine demos over the last year and every time I always end up coming back to Torque.
The thing is, I am an artist. Specifically, level design is my interest. I'm a professional graphic designer for a day job, so art just comes naturally. Due to the nature of my courses, the team I have been able to build so far consists of a few other people taking the art based game courses. So needless to say, we are programmerless at the moment.
Now I know, that as a level designer I need to be able to work the scripting language like I work my art, and I am comfortable with that. Even when I began playing with the Warcraft III editor I ended up mastering the scripting (not just triggers). I'm becoming increasingly more comfortable with Torquescript, but I will be flat out honest and tell you that I am not (and never will be) a programmer. I tried learning C++ once, but the mental capacity required to master the complexity of a full language was getting in the way of improving my artistic talents (however, script based languages are fine for me, such as HTML, CSS, Javascript, Lite-C, and even the almighty Torquescript).
So my question really comes down to the capabilities of what you can achieve through scripting. Until we recruit a full time C++ programmer, we are pretty much limited to what we can do with scripting. My team and I have discussed what type of game we would like to develop for this project and it seems we all share similar interests in favorite games. While most of us love our RPGs, all of us are fans of action/puzzle games like Prince of Persia and Tomb Raider. So we decided to go with an idea that utilized a system of controls for things like climbing, hanging from ledges, wall running, and other similar feats like you would see in a Prince of Persia game. We plan on recruiting a programmer as soon as we get the chance, but having a working sandbox prototype would really help convince them.
So, is it possible to implement a jumping/climbing/hanging system like this simply with script?
Let me give you an example:
I just started on this sandbox level yesterday, so only the first encounter is prepared. You enter the mission exiting a cave in a mountainside (you start in open terrain). There are some remains of ruins all around (mostly blocks at first, broken columns, etc). Upon rounding the corner of a mountainside, you come across a small set of ruins (these were designed as a .dif in Constructor). The only way beyond them is through them. You enter the ruins through an open door to the left to find you must go upstairs to the second floor to reach the other side. Unfortunately, the stairs have been destroyed with no way up. So you go outside and notice the remains of a way leading up. Scaling to the balcony of this second floor requires climbing a small set of steps, and then platform style jumping across stair remains and left over pieces of balcony. When you come to the final portion, there is a last step you can jump to and then just walk onto the outside portion of the second floor.
Now what I would like to do is to remove that final step. Instead, I would like the player to be on that second to last step, jump up and grab hold of the ledge, shimmy over to where the last step was (is currently), and pull himself up. That is the type of gameplay I am looking for. The question is, can this be accomplished in Torquescript? If not, will it be difficult to integrate it into the source code once we have a full time programmer?
Thank you for your time,
John
#2
This will take some programming effort, but if the programmer is familiar with Torque then it should be little effort.
Jumping is already a part of the engine. Climbing can be easily implemented, as well as, hanging.
Although the climb ladders, trees, rocks, wall in TGE 1.5 resource is kind of cool. It requires that you put every climbable thing at a angle less then 90 degrees vertical.
As a bit of guidance on this issue, I have made a system for climbing that works similar to HL/HL2 climbing. It's trigger based and allows quick and easy placement of climbable items. I would suggest that path as a way to go.
Hope this helps.
07/24/2008 (2:08 am)
It is possible to have a jumping/climing/hanging system, but not in script.This will take some programming effort, but if the programmer is familiar with Torque then it should be little effort.
Jumping is already a part of the engine. Climbing can be easily implemented, as well as, hanging.
Although the climb ladders, trees, rocks, wall in TGE 1.5 resource is kind of cool. It requires that you put every climbable thing at a angle less then 90 degrees vertical.
As a bit of guidance on this issue, I have made a system for climbing that works similar to HL/HL2 climbing. It's trigger based and allows quick and easy placement of climbable items. I would suggest that path as a way to go.
Hope this helps.
#3
The good news is we found a new student to join our team who is switching majors from Game Art to Game Programming! Her skills are only that of personal learning and her intro to Programming course, but she has the drive so I'm sure she will develop into a confident programmer. I passed the demo her way and let her borrow my "Game Programmer's Guide to Torque" book so she can get a good start on learning Torquescript.
One question (and without posting any code into the public forums here): Are you aware of a way to designate something as a climbable object in a way that the player could jump and grab onto? Is this possible in your knowledge? While HL2 would be a decent start of a system, still not entirely what we are looking for. Like I said, a Prince of Persia style system is what we are hoping to build in order to give the game a feel of more interactivity with the environment.
07/24/2008 (10:12 am)
Thanks for the replies. Britt, I had previously checked out that link and while not really happy with it, I thought it might be worth checking it out.The good news is we found a new student to join our team who is switching majors from Game Art to Game Programming! Her skills are only that of personal learning and her intro to Programming course, but she has the drive so I'm sure she will develop into a confident programmer. I passed the demo her way and let her borrow my "Game Programmer's Guide to Torque" book so she can get a good start on learning Torquescript.
One question (and without posting any code into the public forums here): Are you aware of a way to designate something as a climbable object in a way that the player could jump and grab onto? Is this possible in your knowledge? While HL2 would be a decent start of a system, still not entirely what we are looking for. Like I said, a Prince of Persia style system is what we are hoping to build in order to give the game a feel of more interactivity with the environment.
#4
The easiest way is to create a trigger based system like the one I mentioned.
You could also create a climbable object type (w/ a base class), but that take more effort and be less flexible compared to a trigger based system.
The trigger based system (TBS for short - got tired of typing it all out) would allow you to easily designate anything in a level as climbable/hang-able without leaving the editor screen and no programming (aside from the initial system programming).
By HL/HL2 type system, I was merely referring to the system being trigger based (which HL is ... I believe HL2 is as well, but I could be wrong).
A POP type system of climbing/hanging is do-able. In the end it will come down to your programmer and their understanding of the torque game engine.
By Climbing, are you talking about regular climbing or wall climbing? If you are talking about wall climbing, then a TBS would NOT be the way to go for that particular 'action'. It a TBS would still work for regular climbing and hanging.
Hope this helps.
07/25/2008 (2:18 am)
Yes it would be possible.The easiest way is to create a trigger based system like the one I mentioned.
You could also create a climbable object type (w/ a base class), but that take more effort and be less flexible compared to a trigger based system.
The trigger based system (TBS for short - got tired of typing it all out) would allow you to easily designate anything in a level as climbable/hang-able without leaving the editor screen and no programming (aside from the initial system programming).
By HL/HL2 type system, I was merely referring to the system being trigger based (which HL is ... I believe HL2 is as well, but I could be wrong).
A POP type system of climbing/hanging is do-able. In the end it will come down to your programmer and their understanding of the torque game engine.
By Climbing, are you talking about regular climbing or wall climbing? If you are talking about wall climbing, then a TBS would NOT be the way to go for that particular 'action'. It a TBS would still work for regular climbing and hanging.
Hope this helps.
Associate Britt Scott