Author Topic: Cars in a roguelike  (Read 7184 times)

BrightBit

  • Acolyte
  • *
  • Posts: 16
    • View Profile
    • My artwork gallery
Re: Cars in a roguelike
« Reply #15 on: May 06, 2012, 10:17:36 AM »
@Game Hunter:
Sorry for the tardiness of my reply. You're right. The mockup doesn't show all possibilities and it's not very acurate. I focused on the left side and therefore I simply forgot the right one. The main purpose for me doing this mockup was to check how the visual style of the indicators would fit to the rest of the graphics, to get a feeling for how many indicators would be visible and how I might be able to implement them (creatures will be shown on top of the indicators, so I can't just use my GUI library to do the job). This way I also noticed that it would help to see a preview of the car's position and orientation. BTW: You're idea of only showing indicators for a certain speed sounds reasonable.

Regarding driving cars in reverse: They will definitely need to hit zero before moving into negative speeds.
Regarding sub-turn rendering: I'm not sure about this one. I don't want to avoid it just because of its complexity but it needs to pay off so I will only go for it if the other approaches don't work.


Thanks again for your feedback. I wish several other forums I am using would be so energetic.

requerent

  • High Priest
  • ****
  • Posts: 355
    • View Profile
Re: Cars in a roguelike
« Reply #16 on: May 06, 2012, 11:19:58 AM »
Quote
Regarding driving cars in reverse: They will definitely need to hit zero before moving into negative speeds.

Aww... player cant flip a 180 and switch to reverse?

BrightBit

  • Acolyte
  • *
  • Posts: 16
    • View Profile
    • My artwork gallery
Re: Cars in a roguelike
« Reply #17 on: May 06, 2012, 11:57:16 AM »
Quote
Regarding driving cars in reverse: They will definitely need to hit zero before moving into negative speeds.

Aww... player cant flip a 180 and switch to reverse?

Hmmm... interesting point. I didn't think of that. Maybe there will be some exceptions (this could be some skill you need to unlock first or something like that). :)

BrightBit

  • Acolyte
  • *
  • Posts: 16
    • View Profile
    • My artwork gallery
Re: Cars in a roguelike
« Reply #18 on: May 25, 2012, 04:05:06 PM »
Here you can download a very, very, very, VERY early version of my game:

[link removed]

Right now it's only purpose is to test the car movement ideas we were discussing in this thread.

You can move by using the W, A, S, D keys and enter the vehicle by pressing E. I don't want to tell you more about the contols because I would like to see if you can find it out on your own, i.e. if it's somewhat intuitive.

It requires Windows and the movement isn't ready yet but I thought getting critiques as soon as possible is a good thing.

BTW: Which operating systems are you using? I might be able to create a Linux version, too.
« Last Edit: May 30, 2012, 04:09:59 PM by BrightBit »

BrightBit

  • Acolyte
  • *
  • Posts: 16
    • View Profile
    • My artwork gallery
Re: Cars in a roguelike
« Reply #19 on: May 30, 2012, 01:19:08 AM »
Here's a small update:

[link removed, see below for updated version]

I made the walls look better and added doors. It's still very rough and still a very, very, very early version.

Since noone replied I have to ask you:

Are you afraid of me uploading malicious software? Should I move this topic to the thread "Early Development Feedback"? Can't you "play" it because you are using a different OS? Did you have problems running this app? A friend of mine said he couldn't run it because of a missing DirectX DLL. I now changed my app to use OpenGL by default instead. So this problem shouldn't happen anymore.
« Last Edit: May 31, 2012, 08:00:43 PM by BrightBit »

BrightBit

  • Acolyte
  • *
  • Posts: 16
    • View Profile
    • My artwork gallery
Re: Cars in a roguelike
« Reply #20 on: May 30, 2012, 03:12:50 PM »
I created a small video of my game for all the people who don't want to invest their time in downloading and testing the game I supplied in my previous post for whatever reason:

https://www.youtube.com/watch?v=_TgYs6yBMZM

I know that this isn't much but I want to get feedback as early as possible in my development process.

EDIT: The video was done with software I didn't really know how to handle or they were crappy (or both), so the video runs a bit faster than the real recording was.
« Last Edit: May 30, 2012, 03:18:03 PM by BrightBit »

Game Hunter

  • Priest
  • **
  • Posts: 92
    • View Profile
    • Channel, the Roguelike
    • Email
Re: Cars in a roguelike
« Reply #21 on: May 31, 2012, 02:02:43 PM »
I created a small video of my game for all the people who don't want to invest their time in downloading and testing the game I supplied in my previous post for whatever reason:
Often I have more time to simply comment on things and less time to actually work at something. I tried downloading and running your prototype last night but received an error regarding some DLL (which sounded related to Ogre). I'll give you an exact copy of the error when I can.

Looking at the video, however, I REALLY like the aesthetic of the car movement design. It would appear to be fluid enough to use without slowing down the player significantly.

Some of the controls appear limited, however, at least based on what you use in the video: changing velocity appears to be key-based while selecting a direction appears to be mouse-based. Ideally you'll want to be able to control all movement in the car with either or.

I also noticed that there are a rather large number of options to move, which could potentially make key-based movement rather convoluted. At the most, I was expecting seven distinct motions per velocity: forward, lean left/right, soft-turn left/right, and hard-turn left/right (where soft-turn is the full motion and soft-turn is for roads), which the exception of moving backward instead of forward when the car is in reverse. For some reason there's always two squares for forward, which isn't necessary if speed changes are handled separately; there are also some rather sharp leans, which I wouldn't expect a car to handle very easily; for soft/hard turns at speed 1 there's no noticeable difference, but when including leans, you have spaces that act differently depending on the orientation of the car. All of this depends on how you want the cars to move, though, so take it only as a consideration.

I'll try to give better feedback once I can get the prototype to run myself.
2012 7DRL Challenge blind-runs!
2013 7DRL Challenge blind-runs too!
I do roguelike LPs, usually blind. I'm always looking for criticism!

BrightBit

  • Acolyte
  • *
  • Posts: 16
    • View Profile
    • My artwork gallery
Re: Cars in a roguelike
« Reply #22 on: May 31, 2012, 07:44:28 PM »
Thank you for your comments.

First things first: There are some *.log files within the bin directoy of my game. You just can attach these to your post and I should be able to see what went wrong. BTW: A friend told me that my app crashes if no DirectX is installed, so I tried to fix it:

fixed BNB 0.0.1 [Rev. 61] version

The car movement isn't final. I agree that the amount of movement options is way too high. Right now all these options are calculated and therefore there are some inaccuracies. For the final draft I probably will create the options by hand and of course I will add the ability to select an option with the keyboard, too.

I was expecting seven distinct motions per velocity: forward, lean left/right, soft-turn left/right, and hard-turn left/right
Sounds reasonable. I will try this. By "lean left" you mean keeping the orientation but still putting the car a bit to the left?

(where soft-turn is the full motion and soft-turn is for roads)
I guess here's a typo? ;) What degree/angle should a hard turn have in your opinion?


I really appreciate your help! Thanks in heaps!
« Last Edit: May 31, 2012, 10:47:14 PM by BrightBit »

Game Hunter

  • Priest
  • **
  • Posts: 92
    • View Profile
    • Channel, the Roguelike
    • Email
Re: Cars in a roguelike
« Reply #23 on: June 02, 2012, 12:41:51 AM »
This is the error I received, even with the latest update:
Code: [Select]
Fatal: OGRE EXCEPTION(7:InternalErrorException): Could not load dynamic library
RenderSystem_GL.  System Error: The specified module could not be found.
 in DynLib::load at C:\Programming\ogre\OgreMain\src\OgreDynLib.cpp (line 91)
I installed the OGRE source just in case it was necessary, but it didn't help. Attached are the bnb/ogre logs as well.

By "lean left" you mean keeping the orientation but still putting the car a bit to the left?

(where soft-turn is the full motion and soft-turn is for roads)
I guess here's a typo? ;) What degree/angle should a hard turn have in your opinion?

I'll just state explicitly how I'd expect the turns to go, given the direction of the discussion (and assuming X is the current velocity):
  • Leans are one space to the left/right, X spaces forward, with a maintained directional orientation.
  • Soft turns are are X spaces left/right, X spaces forward, with a 90-degree rotational change in orientation.
  • Hard turns are one space to the left/right, X-1 spaces forward, with a 90-degree rotational change in orientation. (The X-1 accounts for the difficulty of the turn at higher speeds.)
Some of this could be scaled (perhaps once you're at speed 4-5 you'll lean two spaces over) but this is the general idea. The player should understand that faster cars have less control and get used to the idea of slowing down when maneuvering sharply: given the smoothness of the GUI, I don't think it'll end up clunky at all.

The required "space" necessary to make those turns depend on how much leeway you want to give the player. Leans should take up most of the two-width box from point to point; soft turns take up a lot of room due to the motion involved; hard turns should be fairly minimal in space to make them useful. You could consider adding a "line of motion" that projects how the car will move during a given action, so it's more obvious to the player when they can or can't move in a particular direction. (Maybe even go a step further and allow the player to drive through obvious collisions but requiring confirmation. This radically changes how you set up the motion, however, since you'd want to factor in objects of varying momentum to know how the car is affected.)

EDIT: For whatever reason the forum doesn't seem to like attachments at all, so I've included the logs directly:
Code: (bnb.log) [Select]
20:20:44: Info : Start of Basements & Bosses Version 0.0.1 | Rev. 61
20:20:44: Info : Initialising Graphics (OGRE)
Code: (ogre.log) [Select]
20:20:44: Creating resource group General
20:20:44: Creating resource group Internal
20:20:44: Creating resource group Autodetect
20:20:44: SceneManagerFactory for type 'DefaultSceneManager' registered.
20:20:44: Registering ResourceManager for type Material
20:20:44: Registering ResourceManager for type Mesh
20:20:44: Registering ResourceManager for type Skeleton
20:20:44: MovableObjectFactory for type 'ParticleSystem' registered.
20:20:44: OverlayElementFactory for type Panel registered.
20:20:44: OverlayElementFactory for type BorderPanel registered.
20:20:44: OverlayElementFactory for type TextArea registered.
20:20:44: Registering ResourceManager for type Font
20:20:44: ArchiveFactory for archive type FileSystem registered.
20:20:44: ArchiveFactory for archive type Zip registered.
20:20:44: FreeImage version: 3.13.1
20:20:44: This program uses FreeImage, a free, open source image library supporting all common bitmap formats. See http://freeimage.sourceforge.net for details
20:20:44: Supported formats: bmp,ico,jpg,jif,jpeg,jpe,jng,koa,iff,lbm,mng,pbm,pbm,pcd,pcx,pgm,pgm,png,ppm,ppm,ras,tga,targa,tif,tiff,wap,wbmp,wbm,psd,
cut,xbm,xpm,gif,hdr,g3,sgi,exr,j2k,j2c,jp2,pfm,pct,pict,pic,bay,bmq,cr2,crw,cs1,dc2,dcr,dng,erf,fff,hdr,k25,kdc,mdc,mos,mrw,nef,
orf,pef,pxn,raf,raw,rdc,sr2,srf,arw,3fr,cine,ia,kc2,mef,nrw,qtk,rw2,sti,drf,dsc,ptx,cap,iiq,rwz
20:20:44: Registering ResourceManager for type HighLevelGpuProgram
20:20:44: Registering ResourceManager for type Compositor
20:20:44: MovableObjectFactory for type 'Entity' registered.
20:20:44: MovableObjectFactory for type 'Light' registered.
20:20:44: MovableObjectFactory for type 'BillboardSet' registered.
20:20:44: MovableObjectFactory for type 'ManualObject' registered.
20:20:44: MovableObjectFactory for type 'BillboardChain' registered.
20:20:44: MovableObjectFactory for type 'RibbonTrail' registered.
20:20:44: *-*-* OGRE Initialising
20:20:44: *-*-* Version 1.7.4 (Cthugha)
20:20:44: Loading library RenderSystem_GL
20:20:44: OGRE EXCEPTION(7:InternalErrorException): Could not load dynamic library RenderSystem_GL.
System Error: The specified module could not be found. in DynLib::load at C:\Programming\ogre\OgreMain\src\OgreDynLib.cpp (line 91)
20:20:44: *-*-* OGRE Shutdown
20:20:44: Unregistering ResourceManager for type Compositor
20:20:44: Unregistering ResourceManager for type Font
20:20:44: Unregistering ResourceManager for type Skeleton
20:20:44: Unregistering ResourceManager for type Mesh
20:20:44: Unregistering ResourceManager for type HighLevelGpuProgram
20:20:44: Unregistering ResourceManager for type Material
2012 7DRL Challenge blind-runs!
2013 7DRL Challenge blind-runs too!
I do roguelike LPs, usually blind. I'm always looking for criticism!

BrightBit

  • Acolyte
  • *
  • Posts: 16
    • View Profile
    • My artwork gallery
Re: Cars in a roguelike
« Reply #24 on: June 02, 2012, 11:10:10 AM »
Thank you very much Game Hunter. I can't put in words how valuable your help, your input and your patience is to me.

The RenderSystem_GL error took me by surprise. I didn't expect OpenGL to cause errors and I am still not sure why it can't load the lib on your system. Right now I just can make some guesses. Maybe some OpenGL libs are missing on your system, so the RenderSystem_GL can't be loaded properly. I also checked how Ogre is loading Plugins and it seems that the LoadLibraryEx function is called with the parameter LOAD_WITH_ALTERED_SEARCH_PATH whos behaviour is undefined if the filename contains a relative path (which is strange because it's Ogre's default).

I again changed the way how the plugin is loaded, so here's another try to fix this error:

fixing approach #2

If the error still isn't gone and you still want to help me, you could download the dependency walker for windows and open the RenderSystem_GL.dll with this program to see missing dependencies/libs. (Note: As far as I know you'll need the x86 version even if you got a 64 bit system.)

As for your movement suggestions, for the speed X=3 these would be the possible options and their corresponding orientations:



Actually this looks really good. The amount of options seems straightforward and manageable. I will definitely give this a try.


Thanks again Game Hunter. I really appreciate your help.