[Proof of Concept] Isometric Camera for ZDoom

Projects that have specifically been abandoned or considered "dead" get moved here, so people will quit bumping them. If your project has wound up here and it should not be, contact a moderator to have it moved back to the land of the living.
Locked
User avatar
Josh771
Posts: 676
Joined: Wed Apr 03, 2013 11:36 am
Location: Elsewhere.

[Proof of Concept] Isometric Camera for ZDoom

Post by Josh771 »

I had this crazy idea of adding a Diablo-esque camera to ZDoom, perfect for top-down RPGs or even squad-based strategy shooters. It doesn't really work, of course, because I can't spawn the camera position beyond the nearest ceiling. However, if you're so inclined, you can make maps specifically for this camera setup so that there is always ample ceiling height. As far as I know, this works in multiplayer (i.e. I haven't tested that at all, but I can't imagine why it would fail).

Anyway, I've included a test map (isotest.wad) that can be loaded if you want to see what sort of potential this has in a mapset/mod designed specifically for it. I know the mouse controls are a little bit buggy and the player doesn't move his legs when he walks. Frankly, it could use quite a lot of improvement.

Download isocam.7z (7.28 KB)

Screenshot of earlier prototype in test map (w/ Brutal Doom and Droplets)

Give me your impressions and thoughts, but I'm probably not going to be able to improve this meaningfully unless the relevant engine limitations were removed.
Endless123
Posts: 1560
Joined: Wed Aug 28, 2013 1:36 pm

Re: [Proof of Concept] Isometric Camera for ZDoom

Post by Endless123 »

Not a bad concept. Could be used to make a Diablo-like mod.

However there is some stuffs that need to be fixed before being of some use in a mod

1 - The camera is too far and doesn't adjust itself while inside a building making navigation impossible
2 - The player can only aim at a 180 degree downward and can't aim upward making fighting monsters a lot more difficult
3 - The camera doesn't turn to facilitate navigation and aim
4 - There is no configurable keys in the option menu to help adjusting the camera

Conclusion, it's not fit for any indoor maps. However if some maps were to be made for a Diablo-like megawad with mostly outdoor maps this mod could be put to good use. As you mentioned, the engine is what limits the possibilities unfortunately. It's a good start though even if it needs improvements.
User avatar
Josh771
Posts: 676
Joined: Wed Apr 03, 2013 11:36 am
Location: Elsewhere.

Re: [Proof of Concept] Isometric Camera for ZDoom

Post by Josh771 »

Did you try using the included test map? That demonstrates the ideal function. Also, what do you mean by point 3 there? I admit you can't aim up or down, but he should aim straight ahead. You must have auto-aim turned on to play with this, yes. My script forces the player's pitch to lock at 0, so that pitch input can be converted to mouse control for facing North/South.

Now, I did make a little version of this at one point that made the camera turn to remain behind the player. The thing is, it felt like just a distant chasecam, and I wanted to drive the point of making a legitimate isometric perspective as best as I could. It could only be better if I had access to an orthographic rendering mode.

I might add configurable keys at some point for camera zoom and position, maybe even a toggle to first-person. I don't think there will be very many places in the original Doom and Doom 2 maps where this thing behaves "correctly."
User avatar
Sinael
Posts: 244
Joined: Tue Oct 18, 2011 8:57 am

Re: [Proof of Concept] Isometric Camera for ZDoom

Post by Sinael »

This is really great!

My few bits:
1)The camera distance should be configurable (mouse scroll ftw)
2)The aiming itself is a bit awkward - like when you turn the mouse in the direction you want, Doomguy only turns partially because of the smooth turning. When you move your mouse to make a down-left 45 degree aim (aim in the lower left corner) for example, doomguy makes a 30-35 degree aim (above the point where he should aim relatively to the camera).

If you could make a point-crosshair controlled by mouse - that would really diablo-ify the game. That way of control was used in Nox and Revenant games and was reallly cool. I think it can be made by making aim crosshair a part of the hud, that shoots "pointers" from the cam, and then through ACS make Doomguy face those pointers. I'm not too proficient in this, so I may be mistaken.
User avatar
Nash
 
 
Posts: 17494
Joined: Mon Oct 27, 2003 12:07 am
Location: Kuala Lumpur, Malaysia
Contact:

Re: [Proof of Concept] Isometric Camera for ZDoom

Post by Nash »

Unfortunately suffers from the same common jerkiness/35-FPS stuttering that happens in every single mod that attempts any kind of camera modding. :/

(Player jitters horrendously as he moves around, camera's scrolling/updating seems to be locked at 35 FPS)
User avatar
Dancso
Posts: 1906
Joined: Wed Oct 11, 2006 10:39 am
Location: at home.. Status: lazy like hell

Re: [Proof of Concept] Isometric Camera for ZDoom

Post by Dancso »

It's not really isometric, just top-down view :P
I've had this idea before but the fact it can't be made to work well with maps not specifically designed for it was a bit of a turnoff.

You can fight some of the jerkyness if you don't just set the location of the camera each tic, but instead apply a gentle velocity to it.

The crosshair idea is pretty much mandatory to have unless you "lock" the player to 45 degree angles, like through an ACS script that checks for turning input and adds to a variable until it reaches a maximum or minimal value at which point it'll rotate the player all at once.

It would be best if you could have a cursor on screen that the player is turned towards. I attached this old proof of concept I had lying around made by some ACS god on the forums (I'm sorry I really don't remember who), it can basically spawn an object in the game world relative to screen coordinates. (check map02) You could probably make the player face the spawned object this way.

From what I remember, the script takes a distance parameter though, so you'd probably need to rewrite parts of it, or calculate the distance based on pitch and height level so it lands where you visibly point the cursor at.
Attachments
CursorSpawnerExample.pk3
(83.35 KiB) Downloaded 139 times
User avatar
Nash
 
 
Posts: 17494
Joined: Mon Oct 27, 2003 12:07 am
Location: Kuala Lumpur, Malaysia
Contact:

Re: [Proof of Concept] Isometric Camera for ZDoom

Post by Nash »

CursorSpawnerExample was made at my request by my good buddy carlcyber. :) Do note that the math used in it only works with the OpenGL renderer (the results will be inaccurate in the software renderer due to the planar nature of the software renderer).
mallo
Posts: 1112
Joined: Sat May 22, 2010 12:49 pm

Re: [Proof of Concept] Isometric Camera for ZDoom

Post by mallo »

Rotating in this sucks Dx
User avatar
Josh771
Posts: 676
Joined: Wed Apr 03, 2013 11:36 am
Location: Elsewhere.

Re: [Proof of Concept] Isometric Camera for ZDoom

Post by Josh771 »

Sinael wrote:1)The camera distance should be configurable (mouse scroll ftw)
2)The aiming itself is a bit awkward - like when you turn the mouse in the direction you want, Doomguy only turns partially because of the smooth turning. When you move your mouse to make a down-left 45 degree aim (aim in the lower left corner) for example, doomguy makes a 30-35 degree aim (above the point where he should aim relatively to the camera).
Yeah, I've been thinking about adding some key definitions for zooming the camera in and out. I also know the aiming is quite awkward, and I know why, but it's rather difficult for me to interpret pitch+turn input from the mouse as a distinct angle. I worked with what I could; anyone who knows a formula/algorithm for that should let me know.
Sinael wrote:If you could make a point-crosshair controlled by mouse - that would really diablo-ify the game. That way of control was used in Nox and Revenant games and was reallly cool. I think it can be made by making aim crosshair a part of the hud, that shoots "pointers" from the cam, and then through ACS make Doomguy face those pointers. I'm not too proficient in this, so I may be mistaken.
This was the idea I had in my head when I first set out to make this. As many things in ZDoom are, though, it did not turn out like I had initially planned. I could definitely use VectorAngle() to give Doomguy his appropriate heading, though, if I could spawn a cursor on-map.
Dancso wrote:It's not really isometric, just top-down view :P
Yeah, yeah, I had that thought when I was making it, but the perspective is at least inspired by truly isometric games like Diablo and Ultima Online.
Dancso wrote:It would be best if you could have a cursor on screen that the player is turned towards. I attached this old proof of concept I had lying around made by some ACS god on the forums (I'm sorry I really don't remember who), it can basically spawn an object in the game world relative to screen coordinates. (check map02) You could probably make the player face the spawned object this way.

From what I remember, the script takes a distance parameter though, so you'd probably need to rewrite parts of it, or calculate the distance based on pitch and height level so it lands where you visibly point the cursor at.
I will definitely give this a look. :) If I can get a Diablo-esque cursor system working, that'd be fantastic! I'd like the on-map element of the cursor to be invisible (multiplayer-compatible) and display the cursor on the HUD, but I have very little experience with drawing to the HUD (I'd use ACS, right? SBARINFO wouldn't help much with something that dynamic, iirc).

Thanks for all the input! Yes, the rotating does suck and the camera likes to go awkward places on basically every map ever. I had been experimenting with a version that places the camera as a bullet puff using LineAttack(), and I have a question: is it possible to make LineAttack() not produce a bullet chip decal?
Kostov
 
 
Posts: 2020
Joined: Thu Dec 26, 2013 3:26 pm

Re: [Proof of Concept] Isometric Camera for ZDoom

Post by Kostov »

The 35fps is the only thing that bothers me, though I did not test it much.

This is quite ambitious though.
User avatar
EinhanderZwei
Posts: 17
Joined: Tue Jan 10, 2012 2:43 pm
Location: Ukraine

Re: [Proof of Concept] Isometric Camera for ZDoom

Post by EinhanderZwei »

Thank you for such a cool little mod! :D I've tested it with my OCEAN wad today; wanted to make a series of isometric screenshots as a tribute to Crusader: No Remorse. Looks pretty sweet if you ask me: http://fc06.deviantart.net/fs71/f/2014/ ... 7x3vi1.png
Locked

Return to “Abandoned/Dead Projects”