Jury's Game Thread
Jury's Game Thread
Well I decided to start one of these.
First a Recap of what I've posted!
===RECAP===
New Features: Menu System!
I decided to go with a simple classic feel for nostalgia, but I'm not done tweaking yet.
- Has 3 levels, Categories, Subcategories, and Items
- Categorizes items by type, and will display the appropriate categories
- Can get item properties of the current selected item (and any other item on the menu page) as illustrated by the descriptions
- Can scroll when the window fills!
- Can warp from one end of the list to the other
- Items that have a quantity of zero are not listed (however, I haven't tested if this works bug-free)
- Fields for gold and time have been set up but haven't been coded to work yet
Here's the vid!
http://www.prism.gatech.edu/~gtg340i/Other/Menu.avi
I think that's about it for now
Time to take a break and play some games instead of coding one, I want to finish Persona 3 first, and then I'll start on another part of the project
Old Version Features:
- Double jump! It's hard to tell he's doing it because of the video quality, but I assure you, there are two distinct jumps possible! Just two tho, until you fall. And if you fall of an edge without jumping, you only get one. Got to keep things fair!
- Levitation! You can levitate, and you will bob up and down in a nice sine wave. Also, notice how eventually the camera drops (you can't see his head!) as I posted earlier Help if you can Note that this is not a flight system, you cannot move up and down while levitating. Well, you can move down by letting go of the levitation key, and then pressing it again to only fall a short distance. This is like this by design. Flight is hard to design a game around, with all the power it gives to the player.
- Targeting system! Oh god, this seemed like an easy thing to code, but dealing with the 'boundary' conditions without a break function or a wildcard character to go with my original logic made me have to come up with workarounds that took forever to get working right... but now they are! The system basically scrolls through all enemies present on the screen, based on a number assigned to them in their szEntityName. One key goes through in increasing order and one in decreasing order. Notice that only enemies on the screen at the time are counted, and not off screen enemies.
- New camera view. I'm sure this one's been done before somewhere, but, well, I did it too You can rotate around your character, and the WASD keys always move relative to where the camera is facing, and not where your character is facing. This is typical in adventure games and action RPGs.
Additional Notes: It appears as frame rate lowers, falling speed is decreased, at least when using a scripted player and the HighLevel Jump function. I'm going to bug report this, as it is really bad. It means on slower computers the player can jump farther (yes, I tested this, by deliberately reducing my FPS to 20, and I could jump all the way across the room and then some).
Well, that's enough description, the vid is here:
http://www.prism.gatech.edu/~gtg340i/Ot ... tory_2.avi
===RECAP END===
New stuff in the following posts!
First a Recap of what I've posted!
===RECAP===
New Features: Menu System!
I decided to go with a simple classic feel for nostalgia, but I'm not done tweaking yet.
- Has 3 levels, Categories, Subcategories, and Items
- Categorizes items by type, and will display the appropriate categories
- Can get item properties of the current selected item (and any other item on the menu page) as illustrated by the descriptions
- Can scroll when the window fills!
- Can warp from one end of the list to the other
- Items that have a quantity of zero are not listed (however, I haven't tested if this works bug-free)
- Fields for gold and time have been set up but haven't been coded to work yet
Here's the vid!
http://www.prism.gatech.edu/~gtg340i/Other/Menu.avi
I think that's about it for now
Time to take a break and play some games instead of coding one, I want to finish Persona 3 first, and then I'll start on another part of the project
Old Version Features:
- Double jump! It's hard to tell he's doing it because of the video quality, but I assure you, there are two distinct jumps possible! Just two tho, until you fall. And if you fall of an edge without jumping, you only get one. Got to keep things fair!
- Levitation! You can levitate, and you will bob up and down in a nice sine wave. Also, notice how eventually the camera drops (you can't see his head!) as I posted earlier Help if you can Note that this is not a flight system, you cannot move up and down while levitating. Well, you can move down by letting go of the levitation key, and then pressing it again to only fall a short distance. This is like this by design. Flight is hard to design a game around, with all the power it gives to the player.
- Targeting system! Oh god, this seemed like an easy thing to code, but dealing with the 'boundary' conditions without a break function or a wildcard character to go with my original logic made me have to come up with workarounds that took forever to get working right... but now they are! The system basically scrolls through all enemies present on the screen, based on a number assigned to them in their szEntityName. One key goes through in increasing order and one in decreasing order. Notice that only enemies on the screen at the time are counted, and not off screen enemies.
- New camera view. I'm sure this one's been done before somewhere, but, well, I did it too You can rotate around your character, and the WASD keys always move relative to where the camera is facing, and not where your character is facing. This is typical in adventure games and action RPGs.
Additional Notes: It appears as frame rate lowers, falling speed is decreased, at least when using a scripted player and the HighLevel Jump function. I'm going to bug report this, as it is really bad. It means on slower computers the player can jump farther (yes, I tested this, by deliberately reducing my FPS to 20, and I could jump all the way across the room and then some).
Well, that's enough description, the vid is here:
http://www.prism.gatech.edu/~gtg340i/Ot ... tory_2.avi
===RECAP END===
New stuff in the following posts!
Re: Jury's Game Thread
Ok I've been busy doing interviews for a while but now I'm back. I decided to find a low poly model and reskin it because although I love to do environmental and object modeling I hate doing people. Below are the before and after shots! The green ninja is the original. The red/blue guy is my skin. I know the files are called 'juryninja' etc but he's not really a ninja, more of a mysterious hero kind of guy. I'm planning for multiple classes, and this skin was designed for my sorcerer (fire based class) but I think I'm too lazy to make any more and I'll just use this for all of them The model is right around 900 polys so it should run smooth.
- Attachments
-
- juryninja.jpg
- (168.79 KiB) Downloaded 69 times
-
- origninja.jpg
- (144.52 KiB) Downloaded 37 times
Last edited by Juryiel on Fri Feb 29, 2008 2:58 am, edited 2 times in total.
Re: Jury's Game Thread
And from the back!
- Attachments
-
- juryninjaback.jpg
- (146.61 KiB) Downloaded 42 times
-
- origninjaback.jpg
- (130.65 KiB) Downloaded 25 times
- darksmaster923
- Posts: 1857
- Joined: Wed Jan 03, 2007 10:32 pm
- Location: Huntington Beach, California, USA
Re: Jury's Game Thread
Indeed! I realy love the menu! The models are also very well made. Gonna follow progress on this one for sure!
- vrageprogrammer
- Posts: 566
- Joined: Wed Oct 31, 2007 2:59 pm
- Location: On top of a tree
- Contact:
Re: Jury's Game Thread
Nice!! I really like your ninja models! Keep up the good work.
Jonas
Focused, hard work is the real key to success. Keep your eyes on the goal, and just keep taking the next step towards completing it. If you aren't sure which way to do something, do it both ways and see which works better. - John Carmack
Focused, hard work is the real key to success. Keep your eyes on the goal, and just keep taking the next step towards completing it. If you aren't sure which way to do something, do it both ways and see which works better. - John Carmack
Re: Jury's Game Thread
Just to clarify (again ) As I daid before, I didn't make the model itself, nor the green ninja uniform. I just reskinned it with the red/blue clothes. Glad you guys like them tho
- darksmaster923
- Posts: 1857
- Joined: Wed Jan 03, 2007 10:32 pm
- Location: Huntington Beach, California, USA
Re: Jury's Game Thread
but the ninja is just so awesome its incredible. so much detail....
how many polys?
how many polys?
Herp derp.
Re: Jury's Game Thread
Just few over 900 (like 904 if I remember correctly).
Re: Jury's Game Thread
I'm back! I've been working on stuff for a while and managed to finalize the item system including using items, obtaining items, adding and removing items from the menu based on quantity, etc. Basically usable item management is pretty much as I want it to be.
I've also written a simple level-up and stats system and integrated that display into the menu system as well. I don't plan on making it more complex because I always wanted transparent player progression without having to write out the equations in a game manual.
Finally, I've also almost finished the equipment system and how it interacts with the menu and the stats system.
No screenshots unfortunately since I'm on vacation and posting from an internet cafe.
====Problems, Help if you can====
Well I'm also stuck on a problem. When I scroll, I have to update the items I display each time which means I have to update the array of visible items using a loop that goes through the entire item array to search for 30 visible items (that's how many my menu shows at a time). If the 30th visible item is near the end of the menu, however, there is a 1/2 or 1 second pause to do this loop since I have a lot of items. This is rather irritating and I can't find a solution to making it run smoothly. One thing I thought of doing is preloading all of the visible items into an array so that the loading happens when the items are first loaded but not when scrolling. This would work better, however in order to do this I need to be able to create an array of indefinite length. Is there a way to do this? I can't seem to find it. Or if there is another solution to this problem I'm having let me know.
Another problem I ran into is that if I use a lot of ShowTexts I get significant slowdown. Up to 5-6 fps for some of the ShowTexts. I was wondering if/how this can be reduced since I use a bunch of them to display menu stuff. I use up to 10 for some menu pages (all of which are needed, some of their strings max out their 256 character limit even).
Of course these are happening on an old laptop I have here on vacation and were not showing up on my more up-to-date desktop I have at home. This thing has a Radeon 7500 as a card to put things in perspective. But still I don't want my game to be inaccessible to people. I mean, the 3d stuff (one square room with 3 characters and a couple of ramps) runs at 55-60 fps on this machine so the ShowText and menu management stuff should work with high FPS right?
Finally, is there a way to disable rendering 3d work and other such things when I'm in the menu? The menu covers the entire screen and I don't need anything else working in the background. I think this will also help improve performance significantly.
Any help is appreciated, and I'll let you all see what I've done in a couple of months when I'm done vacationing
I've also written a simple level-up and stats system and integrated that display into the menu system as well. I don't plan on making it more complex because I always wanted transparent player progression without having to write out the equations in a game manual.
Finally, I've also almost finished the equipment system and how it interacts with the menu and the stats system.
No screenshots unfortunately since I'm on vacation and posting from an internet cafe.
====Problems, Help if you can====
Well I'm also stuck on a problem. When I scroll, I have to update the items I display each time which means I have to update the array of visible items using a loop that goes through the entire item array to search for 30 visible items (that's how many my menu shows at a time). If the 30th visible item is near the end of the menu, however, there is a 1/2 or 1 second pause to do this loop since I have a lot of items. This is rather irritating and I can't find a solution to making it run smoothly. One thing I thought of doing is preloading all of the visible items into an array so that the loading happens when the items are first loaded but not when scrolling. This would work better, however in order to do this I need to be able to create an array of indefinite length. Is there a way to do this? I can't seem to find it. Or if there is another solution to this problem I'm having let me know.
Another problem I ran into is that if I use a lot of ShowTexts I get significant slowdown. Up to 5-6 fps for some of the ShowTexts. I was wondering if/how this can be reduced since I use a bunch of them to display menu stuff. I use up to 10 for some menu pages (all of which are needed, some of their strings max out their 256 character limit even).
Of course these are happening on an old laptop I have here on vacation and were not showing up on my more up-to-date desktop I have at home. This thing has a Radeon 7500 as a card to put things in perspective. But still I don't want my game to be inaccessible to people. I mean, the 3d stuff (one square room with 3 characters and a couple of ramps) runs at 55-60 fps on this machine so the ShowText and menu management stuff should work with high FPS right?
Finally, is there a way to disable rendering 3d work and other such things when I'm in the menu? The menu covers the entire screen and I don't need anything else working in the background. I think this will also help improve performance significantly.
Any help is appreciated, and I'll let you all see what I've done in a couple of months when I'm done vacationing
Re: Jury's Game Thread
How are you organizing the items? Do you store them in player attributes? If so, make the names of the player attributes something like slot_1, slot_2...
Then you don't have to update the visible items at all. Just use a function that uses the player attributes directly. Like
The SCROLLNUMER works like a pointer in C/C++.
Then you don't have to update the visible items at all. Just use a function that uses the player attributes directly. Like
Code: Select all
SCROLLNUMBER [1]
DisplayItems[ ()
{
DisplayItem(GetAttribute("slot_" # SCROLLNUMER));
DisplayItem(GetAttribute("slot_" # SCROLLNUMER+1));
...
DisplayItem(GetAttribute("slot_" # SCROLLNUMER+31));
} ]
Everyone can see the difficult, but only the wise can see the simple.
-----
-----
Re: Jury's Game Thread
I'm storing them in player attributes but I don't want them to show up in the menu when the player doesn't have any of them.
So it's like this. I have an array Item_Array of all items which includes the name, property, quantity, and description of each item. The names and quantities are also stored as attributes, but the rest of the fields aren't since they aren't numeric and don't change through the duration of the game.
Then I loop through Item_Array to create another array VisibleItem_Array which only includes the 30 first items that have a quantity greater than zero. This loop creates a pause when some items are at the start of Item_Array and others are near the end of it.
So the problem isn't updating the numbers but instead updating which items are listed. As the player scrolls the VisibleItem_Array needs to change to display new items that weren't visible before scrolling. For example first items 0 to 30, then 2 to 32, then 4 to 34, etc. (two columns so I scroll by 2 each time).
So it's like this. I have an array Item_Array of all items which includes the name, property, quantity, and description of each item. The names and quantities are also stored as attributes, but the rest of the fields aren't since they aren't numeric and don't change through the duration of the game.
Then I loop through Item_Array to create another array VisibleItem_Array which only includes the 30 first items that have a quantity greater than zero. This loop creates a pause when some items are at the start of Item_Array and others are near the end of it.
So the problem isn't updating the numbers but instead updating which items are listed. As the player scrolls the VisibleItem_Array needs to change to display new items that weren't visible before scrolling. For example first items 0 to 30, then 2 to 32, then 4 to 34, etc. (two columns so I scroll by 2 each time).
Re: Jury's Game Thread
Why do you need an array that stores which items are listed? Can't you just display them directly? Then you don't have to update the array and the problem is solved. (I have probelms understanding what your problem is)
Or why are you looping through the list of all items? In Towers of Trembolon, i have an attribute that is the number of an item, and the number represents the 'type'. When i want the attributes of one item i do:
Displaying the items is extremely easy, as the number is also the number in the flipbook of all item icons i have. (0 is the inventory background)
To draw an item of the character i would do: (this is a bit simplified, because in ToT there is more than one character)
To draw all items in all 9 slots of one character i just do
This is what i mean.
Or are you doing it differently? Do you have a player attribute for each 'slot' in the inventory (which then stores which type is in this slot) or do you have one player attribute for each type of items?
Or why are you looping through the list of all items? In Towers of Trembolon, i have an attribute that is the number of an item, and the number represents the 'type'. When i want the attributes of one item i do:
Code: Select all
GetItemStats[ (number)
{
CUR_ITEM_NUMBER=StringCopy(number);
CUR_ITEM_NAME=StringCopy(ITEMS_NAME[number]);
CUR_ITEM_TYPE=StringCopy(ITEMS_TYPE[number]);
CUR_ITEM_ATTRIB01=StringCopy(ITEMS_ATTRIB01[number]);
...
}
Code: Select all
DrawItem[ (number,x,y)
{
if(number=0)
{
return 0;
}
DrawFlipBookImage("Inventory", number,...);
return 1;
} ]
Code: Select all
DrawCItem[ (slotx, sloty)
{
return DrawItem(GetAttribute("inv_" # slotx # sloty, "Player", 196+64*StringCopy(slotx), 512+64*StringCopy(sloty));
} ]
Code: Select all
DrawCItem(1,1);
DrawCItem(1,2);
DrawCItem(1,3);
DrawCItem(2,1);
DrawCItem(2,2);
DrawCItem(2,3);
DrawCItem(3,1);
DrawCItem(3,2);
DrawCItem(3,3);
Or are you doing it differently? Do you have a player attribute for each 'slot' in the inventory (which then stores which type is in this slot) or do you have one player attribute for each type of items?
Everyone can see the difficult, but only the wise can see the simple.
-----
-----
Re: Jury's Game Thread
I think you may have the wrong idea or I'm not understanding you either. First of all I'm not trying to display items in character slots but instead in a general inventory. Think final fantasy (or any JRPG really) which has usable items. For example potions, berries, etc etc. So for example these items are displayed in a general menu page. But I don't want it to display something like "Potion 0" where 0 is the quantity. I only want the "Potion" item to appear if the quantity is larger than 0.
In other words I'm not talking about an equipment screen where a character has some items equipped in some limited number of slots. I'm talking about the main list of items available to the characters.
Let me give an example. You have a menu with 30 item slots. You open up your inventory when you start the game and the screen is empty. Then you go on to pick up a potion from a chest. Now you open up your inventory and it shows "Potion.........1" in slot 1. If you use the Potion the inventory becomes empty again. As you go on picking up items (thus making their quantity greater than zero) they appear in your inventory in the first available slot. But the thing is, they don't have dedicated slots. If you pick up a Item A the first inventory slot will have the Item A. But if you pick up Item B instead then the first slot will have Item B. As you go on using and getting items the items that need to be displayed and the slots they need to be displayed in change. Further, if all 30 slots are full and the character has more than 30 items picked up, then the character can scroll through items. If the character scrolls down then each slot needs to be updated to display the "one item ahead". So if slots 1-30 are displaying items 1-30 and I scroll down once, then slots 1-30 are now displaying items 2-31 respectively. Etc etc. I hope this helps clarify things.
I had a video up of how it worked (Menu.avi) but since I left school my school webspace was closed and the movie is no longer up But here's a video of FF
http://www.youtube.com/watch?v=9HBbvrMkS2s
See what the menu looks like when he clicks on "items"? Like that
In other words I'm not talking about an equipment screen where a character has some items equipped in some limited number of slots. I'm talking about the main list of items available to the characters.
Let me give an example. You have a menu with 30 item slots. You open up your inventory when you start the game and the screen is empty. Then you go on to pick up a potion from a chest. Now you open up your inventory and it shows "Potion.........1" in slot 1. If you use the Potion the inventory becomes empty again. As you go on picking up items (thus making their quantity greater than zero) they appear in your inventory in the first available slot. But the thing is, they don't have dedicated slots. If you pick up a Item A the first inventory slot will have the Item A. But if you pick up Item B instead then the first slot will have Item B. As you go on using and getting items the items that need to be displayed and the slots they need to be displayed in change. Further, if all 30 slots are full and the character has more than 30 items picked up, then the character can scroll through items. If the character scrolls down then each slot needs to be updated to display the "one item ahead". So if slots 1-30 are displaying items 1-30 and I scroll down once, then slots 1-30 are now displaying items 2-31 respectively. Etc etc. I hope this helps clarify things.
I had a video up of how it worked (Menu.avi) but since I left school my school webspace was closed and the movie is no longer up But here's a video of FF
http://www.youtube.com/watch?v=9HBbvrMkS2s
See what the menu looks like when he clicks on "items"? Like that