Stolfenwein 3-D - RayCast Engine for Construct2

  • Updated the original post with recent information, screenshots and initial download capx.

    Inception style link https://www.scirra.com/forum/viewtopic.php?f=180&t=197735

    Cheers!

    The plugins that are required that I can't find yet are 'Sprite Font+', 'MagiCam' and '3D Quad Deform FX'. I really want to try this out.

  • Released version 0.49. Check the initial post for download links. https://www.scirra.com/forum/viewtopic.php?f=180&t=197735

    Also added link to the Spritefont + plugin and removed depcrecated plugins and effects.

    I did some performance optimizations, should run fluid now. Issue is applying multiple shaders on the image stripes. Will have to think of something else there (probably two versions of the texture like original Wolf3D, for fake shading).

    Effectively rendering floors and ceilings is not possible with this method. I did some experiments with the 3D quad deform shader, but it's not there yet.

    Probably the natural evolution is to go to some kind of BSP style rendering. There we would have some expensive but few rendering passes (one per visible wall, floor and ceiling segment).

    Cheers!

  • Hey there, I'm currently trying to fix your Set'n'Get error occuring at the left mouse click. It's the plugin's spooky behaviour to throw an JS error when enabling the mouse lock. I am wondering if it is just me - or better my system - or has anyone else had the same problem?

    The game itself works well. Just to the point when it comes to hitting, shooting and finally dying.

  • This is happening in any project I came across with MouseLock. I didn't bother yet to look into the code to see why this is happening, so every hint is greatly appreciated

    Engine-wise some core mechanics are still missing. Dying, level change, etc.

    Also I'm going to elaborate the enemy shooting patterns, implementing hitscan, projectiles etc.

    Cheers!

  • Aw crap, can it be that posts randomly get deleted? Just posted the solution and a minute later the post was nowhere to see... might be that it suddenly may appear again. My post count is on two but the search just shows one?!? Schräg!

    Okay, got the quick fix. Just saw that they realized it as well in the MouseLock forum section and are working on an update. For us it's simple: Go to the the Construct 2\exporters\html5\plugins\MouseLock_Ver_0.5 Folder open runtime.js and at line 440 comment or delete the following lines:

    document.pointerLockElement =	/*document.pointerLockElement    	||
    										//commenting out the above line makes this work as intended. Don't know why.
    										document["mozPointerLockElement"]	||
    										document["webkitPointerLockElement"];[/code:u8ds4d4m]
    That does the trick! If you feel like tidying up you can set the MouseLock Object's property to single click and remove the left click event.   
    
    By the way, the RealDanyyy used the situation to his best and promoted his MouseLock plugin: [url]https://www.scirra.com/forum/new-simple-native-like-mouselocking-plugin_t199484[/url]
    Might be of interest to you?
    
    So now I feel like tinkering! Cheers!  
    
    -------
    
    Update: Didn't knew if it was me or was it just an illusion that you had hitting scenes in your screen shoots I thought. So I sought for the source of the missing hit. Don't know why you are setting the bullet's targets at the start of the layout and not at their creation time, but after changing it, the striking and shooting works again! Woot!   
    
    [img="https://3.bp.blogspot.com/-Kdg_N1ENIgg/WrAkYdj7C-I/AAAAAAAACFE/YlXo_Dj9qWEbu4bI-Nww5okTrjwPB-LzACLcBGAs/s640/bulletOnCreated.jpg"]
  • Hey, thanks for the fix! I'll try it out later this week (on the go right now). I tried theRealDanyyy's plugin but it shows the same error message, probably it uses the same code

    As Bullet is not a global object, it should have had these conditions from the start?

  • wow! I was actually thinking about how I could do a doom styled game! you beat me to the punch. can't wait to play with this!

    keep it up!

  • That does the trick! If you feel like tidying up you can set the MouseLock Object's property to single click and remove the left click event.

    That works like a charm. Thanks!

    wow! I was actually thinking about how I could do a doom styled game! you beat me to the punch. can't wait to play with this!

    keep it up!

    Thanks, will do so

    v0.50 is in the making, mostly performance improvements and look & feel.

    -Reverted texture slice rendering back to 1px sprite slices, eliminating the need of seamless shader

    -Therefore there's more room on the shader stack for texture slices

    -High quality, higher resolutions and linear sampling are now possible fps with 320 px wall rendering res

    -Implemented mouse look y-axis for looking up & down

    -plus more stuff

  • After quite some fiddling, implemented first shot of floor / ceiling rendering. And it works pretty well!

    Plus, added distance shading for walls, floor, ceiling and objects.

    Also, fixed the raycasting distortion artifact for walls as described in this StackOverflow post https://stackoverflow.com/questions/24173966/raycasting-engine-rendering-creating-slight-distortion-increasing-towards-edges

    I have yet to implement the math for the object positioning. When that is done I'll feel comfortable enough to release the next build.

    Thanks for your support and ... Cheerio!

  • Wow, I see you've been doing great work. Keep it up, can't wait to see more!

  • Big one here! Thanks for sharing this classic game as c2 version.

  • Update 0.5

    This ain't dead just yet!

    Features / useful additions

    • Particle system composed of billboard sprites
    • Sprite & wall world placement are now calculated from inverse transformation matrices - removes a couple of displacement issues
    • Floor & ceiling rendering
    • 3d bullets - projectiles can bounce in 3d space
    • 3d raytrace for hitscan weapons
    • Objects have height(depth) on Z-axis (collision detection)
    • Looking up/down + mouse aim
    • Texture precooking engine (set ambient, diff color, texture maps, then at level start the slicer will load the texture in the raycasting image banks)
    • Fake lighting using Tint / Tint Mask effects
    • Colored distant fog + weather effects
    • Post processing: Aiming motion blur

    Some eye candy

    Cheers!

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • Wow, really neat seeing this thread updated once again.. Looks like you've made lots of cool progress!

  • Wow, this looks amazing! Does it play like Wolfenstein as well? (I am too lazy to download all the plugins required)

  • Thanks!

    I'd say it is a mixture between Wolfenstein & Doom.

    Since the engine can't render different wall heights per level / semitransparent walls at the moment, there is this constraint. I'm right now looking into either faking it with different rooms per level with each room having different setups and then teleporting between rooms, or using shaders to do the wall distortion. I'm lacking a proper sorting / painter algorithm though to prevent unneccessary drawing.

    However the engine still utilizes ZYX axis, so there is an additional degree of freedom.

    The version currently for download is deprecated and doesn't include the recent features.

    I'm working heavily on a playable prototype to showcase the project. Aiming for a style like Hexen / Blood / Duke 3D since that are some of the titles I grew up with ;)

Jump to:
Active Users
There are 1 visitors browsing this topic (0 users and 1 guests)