Wolfenstein 3D for Nintendo 64

Discussion in 'Nintendo Game Development' started by jnmartin84, Nov 11, 2013.

  1. jnmartin84

    jnmartin84 Robust Member

    Joined:
    Nov 11, 2013
    Messages:
    236
    Likes Received:
    31
    LATEST V64 FILE POSTED @ 2013-11-26 01:11 EST -- http://www.mediafire.com/download/d7oc3gb528575fo/wolf64_v64_share_20131126_0111.7z
    Wolfenstein 3D built with the shareware data files.

    SOURCE CODE/MAKEFILE POSTED @ 2014-06-10 00:57 EST -- http://www.mediafire.com/download/nakm2a3n9f5v33m/wolf64_source_release.7z

    Latest changes:
    1) Added a new control menu (select "MAP CONTROLLER" from the Main Menu and follow on-screen directions)
    2) Added the classic DOS exit screen, seen when exiting game from Main Menu

    This first post will always have a link to the newest upload.


    [HR][/HR]

    Hello all,

    Long time lurker, first time poster.

    I have been a software developer for the last 15 years, professionally since 2007.

    I originally started doing Nintendo 64 development around the year 2000. Dev tools at the time consisted of the PsyQ kit or GCC cross compilers with no libraries. I used the available documentation from dextrose.net and other similar resources. My first big project was going to be porting Doom to the N64 (loved Doom 64 but wanted to play the original). Never got very far on that front.

    Started college in 2002 and switched focus to Dreamcast homebrew using Kallistios. I developed a Bomberman clone and worked with a partner on a Genesis emulator written in a combination of C and SH4 assembly. I also did a half-assed port of the Wolfenstein 3D code which ran and was playable without sound or the ability to save games.

    Fast-forward a decade and I decided to take another shot at Doom, thinking that there may be better open development tools available for the Nintendo 64.

    I did some googling and found libdragon (and its wonderful toolkit build script) and got re-started about 10 days ago.

    Ran into some issues with memory allocation and filesystem in Doom, so I decided to take a shot at something simpler.

    I dusted off the Dreamcast port of Wolf3D I did and replaced the system-specific pieces.

    Took me 4 nights, but I have it running (albeit only tested in MESS at the moment).

    Here are some screenshots
    0017.png 0018.png 0019.png 0020.png 0021.png

    I am pretty happy with the progress I've made so far. It is playable so far without sound or saving.

    I will gladly post my working copy of source+makefile as soon as I clean it up a little more for public consumption. I can also provide a ROM with the shareware data files baked in.

    Thanks for reading and I hope to contribute more soon. :)
     
    Last edited: Jul 6, 2014
  2. jnmartin84

    jnmartin84 Robust Member

    Joined:
    Nov 11, 2013
    Messages:
    236
    Likes Received:
    31
    Now that my post got approved, I'll post my updates here.

    I have a source archive with Makefile and filesystem layout attached to this post, it is set up to play the full version Wolf3D game right now, so you need the 8 WL6 files to build and run it. Filenames must be all uppercase. Control mapping can be found in vi_xlib.c .

    I am still working on sound, ran into an issue with reading a null pointer in the main sound output function, so it is not enabled at the moment.

    Fixed glitches in high score and title menu screens, was a bad implementation of strdup.

    0034.png
    0035.png
     
    Last edited: Nov 12, 2013
  3. jnmartin84

    jnmartin84 Robust Member

    Joined:
    Nov 11, 2013
    Messages:
    236
    Likes Received:
    31
    If anyone has a pointer to the shareware data files, I can throw up a compiled V64 at some point today.
     
  4. jnmartin84

    jnmartin84 Robust Member

    Joined:
    Nov 11, 2013
    Messages:
    236
    Likes Received:
    31
    Another note, the palette being displayed on the bottom of the screen can be disabled by setting a boolean value in vi_xlib.c .
     
  5. splith

    splith Resolute Member

    Joined:
    May 2, 2010
    Messages:
    997
    Likes Received:
    4
    That's probably one of the best homebrew ports for the N64 I've seen! Good work.
     
  6. keropi

    keropi Familiar Face

    Joined:
    Feb 2, 2011
    Messages:
    1,068
    Likes Received:
    64
  7. jnmartin84

    jnmartin84 Robust Member

    Joined:
    Nov 11, 2013
    Messages:
    236
    Likes Received:
    31
    thanks for the link, I will put something up a little later tonight
     
  8. jnmartin84

    jnmartin84 Robust Member

    Joined:
    Nov 11, 2013
    Messages:
    236
    Likes Received:
    31
    My virus scanner freaked out on that download. I will try to find it myself and work on it soon.
     
  9. jnmartin84

    jnmartin84 Robust Member

    Joined:
    Nov 11, 2013
    Messages:
    236
    Likes Received:
    31
  10. jnmartin84

    jnmartin84 Robust Member

    Joined:
    Nov 11, 2013
    Messages:
    236
    Likes Received:
    31
    I tried rebuilding with the version set to shareware and the wl1 files and it doesn't run. So I will need more time to figure it out.
     
  11. jnmartin84

    jnmartin84 Robust Member

    Joined:
    Nov 11, 2013
    Messages:
    236
    Likes Received:
    31
    Looks like I had hard-coded some significant changes to some files when I worked with it a few years back. I was able to make a v64 with the shareware data files. (see newest post for download)
     
    Last edited: Nov 13, 2013
  12. jnmartin84

    jnmartin84 Robust Member

    Joined:
    Nov 11, 2013
    Messages:
    236
    Likes Received:
    31
    I have no idea how well this works on real hardware, so if anyone gets a chance to try it out, let me know.
     
  13. MasterOfPuppets

    MasterOfPuppets Site Supporter 2013

    Joined:
    Apr 6, 2010
    Messages:
    549
    Likes Received:
    5
    Game boots and plays fine with my 64drive! Great work! A couple points. The palette is still visible and the top half of "WolfMain" never goes away. Also, as a suggestion, it would be nice to have selection mapped to A as well (or in place of) start.
     
    Last edited: Nov 12, 2013
  14. jnmartin84

    jnmartin84 Robust Member

    Joined:
    Nov 11, 2013
    Messages:
    236
    Likes Received:
    31
    Yeah, I threw it together pretty quick and didn't turn off the console output or palette.

    If you have a suggestion for a full control mapping, let me know and I will implement it and rebuild.

    How is it as far as speed? Does the timing ever jump around / speed up rapidly at some points? I've seen some weird stuff like that in MESS.
     
  15. jnmartin84

    jnmartin84 Robust Member

    Joined:
    Nov 11, 2013
    Messages:
    236
    Likes Received:
    31
    Here is another v64 file, this one should remove both the console output that didn't clear, and the palette displayed at the bottom.

    I didn't modify the controls though. (see newest post for download)
     
    Last edited: Nov 13, 2013
  16. Moiboi

    Moiboi Site Supporter 2015

    Joined:
    Feb 17, 2006
    Messages:
    67
    Likes Received:
    8
    Neat, just gave it a run with my 64drive. The timing seemed to be consistently too fast, couldn't really tell if it was jumping faster/slower because the whole time it's running at at least 2x speed.
     
  17. jnmartin84

    jnmartin84 Robust Member

    Joined:
    Nov 11, 2013
    Messages:
    236
    Likes Received:
    31
    Is it possible for you to take video of it so I can see the timing? Also, are you running on a PAL N64 console or NTSC? I am not familiar with region issues like that for the console, so I do not know if that could be part of the problem. I do not have the ability to run on real hardware so it is kind of a shot in the dark for me to resolve that kind of issue.
     
  18. jnmartin84

    jnmartin84 Robust Member

    Joined:
    Nov 11, 2013
    Messages:
    236
    Likes Received:
    31
    When I get out of work I'll try changing the way I did timekeeping and see if it results in a more consistent experience.
     
  19. MasterOfPuppets

    MasterOfPuppets Site Supporter 2013

    Joined:
    Apr 6, 2010
    Messages:
    549
    Likes Received:
    5
    The updated game fixes those two points perfectly.

    I agree with this. I don't know what the real speed is meant to be, but it seems too fast all the time. Here's a video, NTSC N64.

    http://youtu.be/4nk-xnXpBRc
     
    Last edited: Nov 13, 2013
  20. zstandig

    zstandig Active Member

    Joined:
    Oct 3, 2012
    Messages:
    40
    Likes Received:
    0
    It works on Everdrive 64 v1, animations are a little fast.
     
sonicdude10
Draft saved Draft deleted
Insert every image as a...
  1.  0%

Share This Page