QB64 Phoenix Edition
Roomjects: classic Ultima style RPG (WIP, v0.122) - Printable Version

+- QB64 Phoenix Edition (https://qb64phoenix.com/forum)
+-- Forum: QB64 Rising (https://qb64phoenix.com/forum/forumdisplay.php?fid=1)
+--- Forum: Prolific Programmers (https://qb64phoenix.com/forum/forumdisplay.php?fid=26)
+---- Forum: madscijr (https://qb64phoenix.com/forum/forumdisplay.php?fid=46)
+---- Thread: Roomjects: classic Ultima style RPG (WIP, v0.122) (/showthread.php?tid=1620)



Roomjects: classic Ultima style RPG (WIP, v0.122) - madscijr - 04-13-2023

It took a while but here is the latest version of this project.

In this current version you can:
  • Walk around and explore the world
  • T)alk command for simple character interaction
  • G)et command to pick up items (chests containing healing potion, weapons, armor, traps)
  • K)limb command to exit level (ladder down)
  • W)ear armor & R)eady weapons
  • Simple inventory to track objects/weapons/armor
  • Food comsumption and starvation if no food
  • Death if hit points fall to zero.
  • U)se item (healing potion)
  • L)ook to get descriptions of objects/terrain/characters.
  • Simple stats (not used for anything yet)

Some features under development:
  • D)rop item
  • A)ttack command and combat using weapons/armor/stats
  • Don't display things hidden behind walls (line of sight).
  • Display level # or place name on screen.
  • Improve dungeons.
  • Surface world with towns, castles, etc.
  • Shops where player can buy/sell items.
  • T)alk to with characters interactively.
  • More fully generated content?
  • Ways to win game?
  • Game editing tools
  • (and many more things listed at bottom of code)

Enjoy!


RE: classic Ultima style RPG (WIP) - bplus - 04-13-2023

Wow what a massive bunch of stuff. 15,247 lines. Loads and compiles but here is what I see in my screen (2 windows 1 blank and the other doesn't come close to fitting my tiny? laptop screen, 768 pixel height:
   

Just some feedback for what it's worth...


RE: classic Ultima style RPG (WIP) - madscijr - 04-13-2023

(04-13-2023, 01:38 PM)bplus Wrote: Wow what a massive bunch of stuff. 15,247 lines. Loads and compiles but here is what I see in my screen (2 windows 1 blank and the other doesn't come close to fitting my tiny? laptop screen, 768 pixel height:


Just some feedback for what it's worth...

Thanks, b! 

UPDATE: fixed the debugging window and added fullscreen option, I have attached the latest code to the main post

That second blank window is just a console for debugging. The variable m_bDebug at 193 is set to FALSE which should turn it off - see the IF statement a couple lines down (line 197). I'm not sure why the $Console line is still executing? The other option is to manually comment out all the console debugging lines to make the window disappear, but that shouldn't be necessary...? 

Yes the resolution is 1024x768 which I assumed would fit - you know what they say about ASSUME! - but I guess I never actually TESTED it on a screen that size, DOH! I originally programmed it using a big 4k TV, and have been running 1280x1024 for this most recent iteration, so of course I wouldn't notice if it didn't fit. Thanks for pointing that out and sorry for the frustration. 

A quick fix is: go to line 1331 which should be commented out:
Code: (Select All)
    '_FullScreen

and just replace it with
Code: (Select All)
    _FullScreen _SquarePixels

I just tested it with my resolution set to 1024x768 and no issues. 
(However I was using a cheapo Vizio TV for a display a couple weeks ago, which didn't play too well with Windows 10, and found that with that display I was having all sorts of display problems in QB64PE, including _FullScreen _SquarePixels not working. I went back go my trusty old 17" SVGA monitor and the fullscreen works again.)

What's the standard "correct" way to approach game resolution for a target system anyway? If I want my game to display -windowed- without issues on a 1024x768 display, is there some QB64PE command I can use to determine the size of Windows' taskbar in pixels, so I can subtract that from the overall height in my Screen _NewImage command (and for calculating how many tiles the game can display, etc.)? 

For now the _FullScreen _SquarePixels seems an easy way to make sure my program fits the display, any idea if running fullscreen works for most users? 

Thanks again for the feedback!


RE: classic Ultima style RPG (WIP) - bplus - 04-13-2023

Well 768 would just about be OK the exact height of my laptop screen except the title bar steals some of those pixels. Still, it seems I am missing more than 20 or so pixels in height? I will dig into code a little...


RE: classic Ultima style RPG (WIP) - madscijr - 04-13-2023

(04-13-2023, 08:08 PM)bplus Wrote: Well 768 would just about be OK the exact height of my laptop screen except the title bar steals some of those pixels. Still, it seems I am missing more than 20 or so pixels in height? I will dig into code a little...

Grab the updated version, which has a fullscreen option and now the console window is properly hidden when the m_bDebug is set to FALSE. Thanks!