1. Having trouble staying logged in? Note: We are rpgcodex.NET not .COM. Trying to login via .com will cause issues. Make sure you are on rpgcodex.net to login and all will be fine.

    And if the Password Recovery doesn't work (there was an error transitioning accounts during the upgrade), use the "contact us" link right down the bottom right of the forums and harass us about it. Include your account name and its e-mail address (or whatever parts of it you remember).

    "This message is awaiting moderator approval": All new users must pass through our moderation queue before they will be able to post normally. Until your account has "passed" your posts will only be visible to yourself (and moderators) until they are approved. Give us a week to get around to approving / deleting / ignoring your mundane opinion on crap before hassling us about it. Once you have passed the moderation period (think of it as a test), you will be able to post normally, just like all the other retards.

Underworld Gold

Discussion in 'Codex Workshop' started by Charles-cgr, Jan 4, 2012.

  1. Elwro RPG Codex Staff Patron

    Elwro
    Joined:
    Dec 29, 2002
    Posts:
    10,083
    Location:
    Krakow, Poland
    Wasteland Ranger
    Divinity: Original Sin
    Click here and disable ads!
    Installed 2.0.1 at home. Everything displays properly, corners and all :D

    But my initial impression is that the combat UI needs a redesign -- the new tactical options shouldn't have a separate menu because I think I'll be using them all the time and pressing "t" each time is tedious!
  2. Charles-cgr Savant Patron

    Charles-cgr
    Joined:
    Mar 13, 2010
    Posts:
    665
    Race Traitor
    Morkar Sorry, test is inconclusive. I see no improvement. As of now I don't see how I can gain any more performance... Maybe I'll find something along the way...

    Elwro Use mouse to open menu, then keyboard to select the option. ;) I honestly don't see myself changing that screen... This has to end at some point.
  3. Morkar illiterate

    Morkar
    Joined:
    Dec 9, 2008
    Posts:
    2,380
    Location:
    Germany
    Damn, that's unfortunate. Fallout and the like run very well and I have a hard time to believe that your game should be that performance heavy. I suppose it's mostly a cpu problem than. It seems I have to wait till the game is released and give it another go with a different rig.
  4. Charles-cgr Savant Patron

    Charles-cgr
    Joined:
    Mar 13, 2010
    Posts:
    665
    Race Traitor
    I found a way to gain some performance. It's unlikely it'll be enough though, but I'll see. Those are my tasks for the day: performance fix, finish apostrophes and text centering.
  5. GuideBot Novice

    GuideBot
    Joined:
    Jun 25, 2005
    Posts:
    27
    Hey, you have a couple options here. One is, as you say, to do: draw_text(x,y,"this text to draw") but you can also do: draw_text(x,y,'It' + chr(39) + 's easy to have apostrophes.') - 39 being the ASCII for an apostrophe. You can also do chr(34) for a double quote (") if you want to use double quotes for the entire string.

    I'm looking forward to trying this new version. Like some others, I found the interface a little too unfriendly in the first one to give it a serious shot but this new version has a much better personality.

    Regarding performance, I've noticed a few things with GM that have a huge impact on performance:

    • You're using d3d commands now, yes? There's a real overhead to each d3d_draw_wall or d3d_draw_floor command. If you use models instead and add all walls with the same texture to the model (using d3d_model_wall, for instance) then you can use a lot fewer draw calls.
    • GM also has a real problem with numbers of instances - if you could use a ds_grid instead of instances, or even deactivate far instances every time the player moves. For instance, here's a script you could run every time the player moves:
    Code:
    instance_deactivate_all(true); //deactive everything
    instance_activate_region(player.x-1000,player.y-1000,2000,2000,true) //active everything in a 2000 box around the player
     
    instance_activate_object(Camera); //because it should always be enabled
    instance_activate_object(Sky); //because it should always be enabled
    
    • Are you using the latest version of GM 8.1? I noticed about a 50% FPS increase when I went from GM 8.0 to GM 8.1
    • What room speed are you using? If you set it really high but have the program not refer to steps anywhere (use timer based movement instead - that is, in the begin step of some object, calculate the real-life time difference between this time and the last time you ran the script) then it should be more slow-down resistant. For example, in a first person shooter I'm making, I have the room_speed set to 500, and the actual FPS is generally around 250 (depending on level complexity), but the gameplay is identical whether the FPS is 500 or 250, and should gracefully scale down to 30 FPS or so before becoming rubbish. This does mean you can't use alarms or rely on steps being a certain time apart.
    • How many rooms and objects do you have? If you can have just one room and clear and load the details of it from external files I've noticed games both load and run much more quickly. Same thing with objects. Frustratingly, the less you use GM's built in advantages the better the performance.
    If you have any questions about GM, while I'm not an expert, I have struggled with its quirks for long enough now that I may be able to help, so feel free to ask!
  6. Charles-cgr Savant Patron

    Charles-cgr
    Joined:
    Mar 13, 2010
    Posts:
    665
    Race Traitor
    Hi Guidebot,

    Hey I remember you from the rampant forums. I didn't know you lurked around here as well :)

    Unfortunately none of these apply (unless I misunderstood something). I generally only have one object and yes one room for maps already. I code coordinates for walls, signs... Then have them drawn according to those coordinates and the player's heading.

    Maybe the wall model can help reduce a little... I'll look into that. Also I use 15 room speed to lighten the load on the processor, at least in the world view.

    You're saying 8.1 has better performance than 8.0 right? Increased fps sounds like a good thing for an FPS :) I upgraded yesterday but didn't find any noteable improvement, nor did it get worse that I can tell.

    Right now I'm externalizing the last few files, those that were the most complicated because they appear in various places under specific circumstances. There are about a dozen images that I can remove from the permanent load. It'll help but I'm not sure how much.

    Thanks!
  7. GuideBot Novice

    GuideBot
    Joined:
    Jun 25, 2005
    Posts:
    27
    Yeah, I do a lot of lurking (and not much posting)! I haven't been able to post under the "Making Games" subforum at the Rampant forums for some reason lately - says I don't have permission.

    It's a bummer none of my suggestions that I made with no actual evidence panned out :) For that reason, I gave the demo a quick go to arm myself with some actual knowledge!

    Good stuff
    1. I really like the new graphics. Just having new interface graphics and little graphics describing the classes and races really makes the game a lot "friendlier". The in game graphics are great, too.
    2. Pre-generated characters! Makes it much easier to get in to the game to work out if it's your sort of thing. Rolling six characters (although I'm sure I'll do it eventually) just to try the game out was a bit of an impediment.
    3. The new full screen graphics (e.g. the demon as you leave the first hallway) are great!
    4. I like the little bits of polish, how pressing the up arrow key also lights up the "move forward" button briefly, how movements are registered on the button being released, not being pressed.
    5. I enjoyed the combat system, although for some reason I could only shoot and not attack with all my characters. That is, enjoyed it until I encountered a prankster and a bunch of jacks-in-the-box and was promptly slaughtered! :)
    6. It's really good to see you take on feedback and work so hard to improve your game - Underworld Gold looks like a huge improvement over the original.
    Possible Improvements
    1. It took me a bit of time to work out how to start the game. I liked that there were pre-created characters, but was confused as to why I couldn't start the game. I went in to a character and tried to "add" it to the party but didn't notice the asterisk next to the name so I didn't realise what I was doing wrong. I worked it out eventually, but is there a way to make this more obvious? Perhaps have all 12 slots on the left as "At the Inn" and 6 new slots on the right as "In the Party"?
    2. The mouse cursor in game is pretty jerky, due to the room_speed being set to 15, I bet. Perhaps you could have room_speed set as an option so if a player has a faster computer they can go for a higher FPS (30 or 60)? Assuming you have no code dependent on a specific room_speed, of course...
    3. Pedantic complaint - when you first enter the game the roof has a beam going directly towards and away from you. If you rotate 90 degrees, it still has a beam going towards and away from you. Shouldn't it then go from left to right? :)
    4. Trying to enter a locked door shows a "locked" message and the only way to get rid of it seems to be to click the mouse button. But doing this rotates the player 90 degrees to the left (due to the normal mouse rotation code).
    5. You seem to be using get_string for character names, save slot names and so forth. A textbox object that is part of the normal interface could be nicer. I need to make one for my own game so if you'd like I can whip one up and send you the code.
    6. Is there a way to quit the game while in combat? I had to run and then quit.
    7. When you enter a shop (Meyer's wares, at least) you see an empty room, step forward, then get the nice shop graphics. Once you leave the shop, you find yourself in the empty room again and have to walk out. Could you have the shop trigger as soon as you go through the door, and then once you quit the shop put the player outside the front door, again? Seeing the empty spaces inside the shop isn't necessary.
    8. Is there a way to cast spells out of combat? When I tried to access the "magic" menu for my priest I was told that Therein had not learned any skills yet, but in combat he was able to cast "First Aid" fine.
    Possible Optimisations
    1. I saw you're using clean_mem.dll - how often are you calling it? If you're calling it every frame it might be causing the slowdown that was reported - could you make this run once per second or once every ten seconds instead?
    2. The graphics used in the 3d section (wall_thick.gmspr and so forth) have dimensions that are not a power of two. Some or many graphics cards will have issues with this and draw unpredictable things. Could you make it 256x256 instead? The sign images are also really large (one is 966x654) which might be contributing to the speed problems, especially on older graphics cards with a much smaller max texture size (which may be Morkar's problem). I notice most of the graphic is transparent so I suspect you made them this size to ensure the sign was in the "correct" position for the wall on which it is to be displayed. Could you make these images smaller and store the correct "draw offset" in another file somewhere so the signs are still displayed in the correct position?

    Bugs
    1. When you close a menu the walls in the 3d world flash yellow, briefly. Given that the text of the button you have just clicked is yellow, it's possible this is because the draw_set_color is set to yellow for the button but then is not set back white to draw the walls. The enemy sprites and sky do not flash. Is this because the walls are drawn first?
    2. In windowed mode, the game doesn't respond to clicking the "X" button in the top right corner. You could have this call the same code that F10 does.
    Keep up the good work, and I look forward to the release of the game (even though it's competition for my eventual turn based pseudo-3d RPG! :))
  8. Charles-cgr Savant Patron

    Charles-cgr
    Joined:
    Mar 13, 2010
    Posts:
    665
    Race Traitor
    First off, thanks for the positive points. I'll now focus on the rest now :)

    I'll see how I can make it visually more obvious a character is in the party. Of course there's always the manual or online instructions but few people read that.

    I don't get that effect... Perhaps I can increase the FPS if I manage to optimize the rest more.

    Nope. It is over your head so you don't see it ;) And after turning, the one you see going away from you was previously over your head so you didn't see it then.

    I meant for it to stay there until you either attempt to (u)nlock the door or walk away. Left-clicking on the view is one of the ways to start walking away. The reason for this is if an encounter happens I want it to still be there at the end of a fight.

    I'd be curious to see what that is like, thanks!

    There was one, but I haven't though of trying it in a while. It turns out it is broken so I'll keep it quiet for now...

    I could but isn't that a question of taste? I stuck with the MM way, even though the store presentations didn't take up the whole view then. In some stores there could be back rooms, secret closets with skeletons... How would I apply that for the inn, for instance? No more access to the rooms ;)

    Yes, that is a bug that commie reported above. The problem isn't combat or non-combat, but that using the mouse triggers the wrong script (it was missing a variable check and they use the same hotzone). It shows the one for the s(k)ills (which shows up on the same spot for non-casters). Using the keyboard works though, since they have distinct key commands (M) & (K). I fixed this but haven't uploaded a new file yet. I have other fixes to finish first & don't want too many different versions out there without numbers.




    I call it every 20 frames. That might still be too much though, but probably not enough to cause a real slowdown.

    This could be the cause for the corner problem Elwro had... But there are so many signs and walls it would take... I don't know how long, but long... Also making them square but appear different on the screen: wouldn't that hinder image quality?

    I only get this effect in combat, when an enemy gets first go. I never though much of it though. What menues do you close in the world view to get this effect?



    I only get this quirk in combat when an enemy gets first go. I never thought much of it. It seems to be the combination of a draw_set_color and screen_refresh. I never saw it in the world view though. What menus caused that effect for you?


    I missed this... Where is the keycode for that button? I always figured it was windows and unaffected by any game commands.

    Thanks Guidebot, for all the time put in gathering all the feedback :)
  9. GuideBot Novice

    GuideBot
    Joined:
    Jun 25, 2005
    Posts:
    27
    I did resort to reading the manual, but because it was for the classic version of Underworld I didn't know if it still applied.

    It's not a huge problem, by any means, but mouse movement at a low framerate "feels" a bit sluggish - it's generally the best way for me to determine if framerate is 30fps or 60fps in other games.

    But then, shouldn't you see the cross-beam that was over your head when you move one step away and look back at the square you were in? ;)

    I get you. I didn't expect keyboard movement to work immediately while the locked screen was up. It makes perfect sense now that I know you can just turn away and that it gives you a chance to unlock.

    Hmm. You could have "hot spots" in the inn/shop image that let you go in to back rooms or upstairs or things like that. For the world data you could have:

    Code:
    outside <d> shop <d> upstairs
    
    When you enter the shop from outside, the shop triggers - when you click on the back room, you are teleported to the "upstairs" or "back room", room, with a door blocking your way out. If you pass through that door, you get the shop graphics again as usual.

    Aah, yes, the problem of me having days between reading the rest of the thread and typing something up!

    Shouldn't be causing too much issue, then. The best way for me to discover speed improvements was to unlock the room speed from the game mechanics so I could set a ridiculous room_speed (say, 500) and see how close the game was to running that (using the built in FPS variable or your own one - I used the "hi res timer" extension). You could then try disabling it entirely for one run and see if the FPS changes.

    It would take a while. Things like monster graphics, which are currently 468x468, could simply be upsized to 512x512 and centred with no loss in quality. Skies, which are currently 685x666 would need to be resized down - I did a bicubic resample in Paint Shop Pro to 512x527 and the image looked indistinguishable from the original - you'd then just need to cut 15 pixels off the side. Because it doesn't loop (I assume) this shouldn't be a big deal.
    Signs, because they have a transparent background, should just be made the closest size that fits the whole sign in without any resizing, so there won't be any need to lose quality there.
    Walls will be the hardest, but you could resample the wall up to 512x391, then resize the canvas to 512x512, leaving a transparent area down the bottom. You could then alter the wall drawing code in the game to partially draw the wall under the floor, leaving the transparent area not visible. But because you seem to use the wall graphics for floors, I don't know how to fix that problem as they need to wrap in two dimensions.

    The O(p)tions menu, either in combat or out. It doesn't occur with the tactical menu or any other so far as I can see.

    It's an event - select "Other" (green diamond) then "Close Button". In that you could have the code "keyboard_key_press(vk_f10);" to duplicate the F10 code.

    No problem at all!
  10. DwarvenFood Cipher Patron

    DwarvenFood
    Joined:
    Jan 5, 2009
    Posts:
    4,036
    Location:
    Atlantic Accelerator
    Race Traitor
    Wasteland Ranger
    Dead State
    Divinity: Original Sin
    Hey, so how does UW compare to Legends of Grimrock ? :)
  11. Charles-cgr Savant Patron

    Charles-cgr
    Joined:
    Mar 13, 2010
    Posts:
    665
    Race Traitor
    UW is based on Might and Magic 2 and LoG is based on Dungeon Master.

    Main differences being:

    -Turn-based combat vs real time.
    - More text heavy.
    - No 3D (well, actually the world view in UW is rendered by a very basic 3D engine).
    - No animations.
    - UW is probably a bit more loot-heavy from what I've seen of LoG so far.

    How is it better? It isn't, just different. Those that prefer more combat choices, probably more tactical depth vs reflexes and coordination and turn-based might have a preference for UW. Puzzles also have a different approach. There was only one in previous versions of UW but a few more now.

    Main similarities:

    - In both you start at the top of a mountain and work your way down. Which kind of made me wonder if one of them didn't have a crack at an early version of UW, those thievin' bastards :D
    - Grid based movement, although mine isn't an animated transition (some people complained about that, while others actually expressed a preference for it).

    That pretty much covers it I think.
  12. DwarvenFood Cipher Patron

    DwarvenFood
    Joined:
    Jan 5, 2009
    Posts:
    4,036
    Location:
    Atlantic Accelerator
    Race Traitor
    Wasteland Ranger
    Dead State
    Divinity: Original Sin
    Thanks man you are a bro.
  13. Jaesun Fabulous Moderator Patron

    Jaesun
    Joined:
    May 14, 2004
    Posts:
    17,831
    Location:
    Seattle, WA USA
    Race Traitor
    Dead State
    Brian Fargo
    Divinity: Original Sin
    Have you approached GOG or Steam for this Charles-cgr (as in make it available there)?

    Just curious.
  14. commie Magister Patron

    commie
    Joined:
    May 12, 2010
    Posts:
    4,264
    Location:
    Where one can weep in peace
    Race Traitor
    Divinity: Original Sin
    Charles said that GoG told him to get fucked...actually they said they were 'busy'. Not busy enough to put on pixel art platform crap or Ass fucking Creed though, eh?
  15. Charles-cgr Savant Patron

    Charles-cgr
    Joined:
    Mar 13, 2010
    Posts:
    665
    Race Traitor
    Yes, Gog turned it down (politely commie, they did it politely :)) saying they had their plate full for 2012. I haven't contacted Steam yet because that demo I put up has too many bugs. I'm uploading a fix this weekend and then contacting them.

    I'm very wary of these platforms though. The only guarantee is that they'll force me to lower the price, then take 30%. But there is no guarantee the game will be visible on their catalog (UW is on GG, but they stayed very silent about it). Success stories on Steam / Gog (Dredmoor, Vogel, Grimrock) may not be due to Steam or Gog, but the game press hyping them before release. One might argue that these games helped the platforms more than the platforms helped them.

    I'll base my positionning on RPS and the like's responses, or lack thereof, to my emails which I'll send once the fixed demo is up. If I can count on some noise I don't mind lowering the price & going on steam (if they'll have it). If no one answers, I'd rather advertise & keep a price that'll make that possible.
  16. Jaesun Fabulous Moderator Patron

    Jaesun
    Joined:
    May 14, 2004
    Posts:
    17,831
    Location:
    Seattle, WA USA
    Race Traitor
    Dead State
    Brian Fargo
    Divinity: Original Sin
  17. Jack █▓▒░

    Jack
    Joined:
    May 5, 2010
    Posts:
    3,097
    Location:
    Logislet
  18. Peter Arbiter

    Peter
    Joined:
    Jun 11, 2009
    Posts:
    1,304
    Location:
    Riga/Tallinn
    Please please change this if you can. This is the reason I get can't go back and play classic blobbers, but can play, say, Grimrock. Navigation is very disorientating without the transition, as you don't have a point of reference when you're turning. This might not be something most people on the 'Dex are asking for or anything too important from a gameplay perspective, but it's little touches like these that net developers more sales, press attention, a spot on Steam etc.
  19. Jack █▓▒░

    Jack
    Joined:
    May 5, 2010
    Posts:
    3,097
    Location:
    Logislet
    I would prefer that the current way of transition stayed, but yeah, I understand that it must be disorienting for some. A togglable setting if it's not too much effort and time involved maybe?
  20. Charles-cgr Savant Patron

    Charles-cgr
    Joined:
    Mar 13, 2010
    Posts:
    665
    Race Traitor
    Do you mean you're having performance problems too? I just cracked something which might be interesting but don't have my old xp here to test the impact. Hopefully it'll be significant enough.

    Ohhh this so isn't the right time to be reading this. 6AM, just finished optimizing... (I hope). It is probably possible. I just don't know how to do it yet. I'd have to study the problem and see, like I just finished doing for optimizing. I'll take a deep breath first though ;)

    I still don't see how orientation is affected by this when you're playing though. Watching a gameplay video, I definitely get it. But playing and controlling the turns...

    I'll try to figure something out, but I feel kind of out of my league at this point.
  21. Humanity has risen! Magister Patron

    Humanity has risen!
    Joined:
    Mar 29, 2010
    Posts:
    6,232
    Location:
    Ottawa, Can.
    Yeah it would be a miracle if you were accepted on Steam Charles, sadly. They refuse a lot of truly great indie games from decent indie developers for obscure reasons, so a 3D blobber with simple graphics like Underworld stands little chance.

    Don't hesitate to keep the price high and sell it on your website if necessary. Like Jeff Vogel said, the people you're catering to will be glad you're catering to them in the first place, and will be willing to pay more.
  22. SuicideBunny tastier with special sauce

    SuicideBunny
    Joined:
    May 1, 2007
    Posts:
    5,077
    Race Traitor
    Dead State
    Server Slush Fund 2012
    Brian Fargo
    Divinity: Original Sin
    having two or three versions of each floor (or wall if floor is barely visible) texture that are mirrored or colored slightly differently and have them alternate when a larger area is filled with the same kind of tile generally achieves the same effect as far as orientation goes without being annoying to people who dislike animated transitions for the huge waste of time that they are.
  23. Jack █▓▒░

    Jack
    Joined:
    May 5, 2010
    Posts:
    3,097
    Location:
    Logislet
    Yepperoni, it's not gamebreaking or anything but it's kinda annoying. Glad to hear that you're working on it. :D

    I also have to echo what others have said about the UI, the text on the buttons would look much better if it were centred and stuff like that. Other than that the game is great, especially the visuals after the facelift you've given it.
  24. Charles-cgr Savant Patron

    Charles-cgr
    Joined:
    Mar 13, 2010
    Posts:
    665
    Race Traitor
    Almost three more months and still not done. I wrote a blog entry to summarize the situation. Basically I addressed everything in this thread except the animated transitions (leaving that for last, and still not making promises).

    http://www.olderbytes.com/bombed-deadline-and-new-url.html

    Other than that it has more content & features. I thought some might like to know. No demo update yet because I have to finish all engine related stuff to then strip down and this time I'll be testing it more first.

    Oh and I changed the URL.
  25. commie Magister Patron

    commie
    Joined:
    May 12, 2010
    Posts:
    4,264
    Location:
    Where one can weep in peace
    Race Traitor
    Divinity: Original Sin
    Yeah was wondering where the fuck you had gotten to Charles...Was about to send some funds your way as I thought the game was long finished and imagine my surprise when checking out your webpage, finding you had changed the URL and seeing the same old shit. I began to think you had committed suicide after you realised what you did with the Wasteland pledge.

(buying stuff via the above links helps us pay the hosting bills)