xboxscene.org forums

Pages: [1] 2 3 ... 8

Author Topic: Odamex  (Read 2674 times)

Hyper_Eye

  • Recovered User
  • Sr. Member
  • *
  • Posts: 366
Odamex
« on: February 08, 2010, 05:10:00 PM »

This is a work in progress. I wanted to post about it here because posts in this section of the forum are far and few between. I hope some people will be happy to see something announced in here.

Anyway, I have been in this community for a long time and I love Xbox and everything about modding them. I have also been in the Doom community for a long time. One thing that Xbox has always lacked is a Doom port that could be considered complete. I know there are some projects that work but there are things that are lacking. Well I am a member of the Odamex development team. Ever since joining the team it has been my ambition to produce an Xbox port. Odamex is a perfect source port to use because its stated goals are to be open and portable. For anyone that doesn't know what Odamex is it is a classic Doom port with a particular focus on multiplayer. It is a client/server based port in the same vain as CSDoom or ZDaemon. It is highly portable and it utilizes SDL to achieve this. It currently runs on Windows, Linux, OS X, FreeBSD, Solaris, and pretty much any other SDL supported OS. It supports single-player, deathmatch, coop, and capture the flag. For more information on Odamex please visit the Odamex site: http://www.odamex.net.

I finally have found the time to start working on the port. While it is early I have achieved some major milestones and the game does start and run demos. What else it is able to do at the moment is hard to tell because Odamex does not have code to support joysticks so the controller does not work but I do have the console code compiling so I believe I could pull up the console but I'm not willing to speculate beyond that. I have ordered some adapters so that I can plug in a USB keyboard and mouse so if I don't have joystick code done by then I will be able to work with those.

The major tasks on my list are:

Joystick support using SDL (should work for all platforms including Xbox)
Possibly adding to the network code
An SDL launcher interface - This will allow you to pick wads for a single-player game or browse and connect to servers reported by the offical master servers.
Possibly add an on-screen keyboard
High-Definition resolution support

Anyway, on to the video footage:

Logged

ultimate509

  • Archived User
  • Full Member
  • *
  • Posts: 136
Odamex
« Reply #1 on: February 08, 2010, 08:00:00 PM »

This looks promising best of luck to you, Id love to remove my DoomX setup to replace with this.
Logged

Likklebaer

  • Archived User
  • Hero Member
  • *
  • Posts: 767
Odamex
« Reply #2 on: February 09, 2010, 10:56:00 AM »

This is exciting news. More Doom is always a good thing.  happy.gif

About the joystick code; Doom-X maps the mouse's x-axis to the right thumbstick (giving analogue turning) and all the other controls are mapped via the keyboard controls. So is joystick support even necessary?
Logged

Hyper_Eye

  • Recovered User
  • Sr. Member
  • *
  • Posts: 366
Odamex
« Reply #3 on: February 09, 2010, 11:34:00 AM »

QUOTE(Likklebaer @ Feb 9 2010, 11:56 AM) View Post

This is exciting news. More Doom is always a good thing.  happy.gif

About the joystick code; Doom-X maps the mouse's x-axis to the right thumbstick (giving analogue turning) and all the other controls are mapped via the keyboard controls. So is joystick support even necessary?


Well joystick support is good for a few reasons. First, we want to support joysticks on all platforms and since we use SDL_Input I can add joystick support through SDL API and tackle all platforms, including XBox, in one swoop. This will allow me to add a joystick menu where you can do a few cool things including changing the function of the analog axis (for example you could switch the option "Left Analog Y Axis: Move vs. Look", etc.), sensitivity of the individual analog sticks, selecting the active controller, and a big one... enabling rumble.

Rumble? Hell yes. What I intend to do is implement a rumble API in the input code where we can call a strong rumble or soft rumble function with values for length and strength. Then within that code I will differentiate between Xbox and everything else. For Xbox I will use the API provided by the xdk for triggering rumble and on everything else I will be implementing rumble using the new forced feedback support within SDL 1.3 (the feature is support on Windows, Linux, and OS X.) I would love to use the same API for Xbox but obviously SDL 1.3 is not going to be quickly available. I will probably implement Xbox support first because SDL 1.3 is still in development.

Ultimately this port is being done as a branch of our code but once it is in a reasonable state it will be added to our trunk. The intention is for the Xbox port to be just another supported platform within our code. I have no intention of adding things like split-screen play as that is something that isn't really a reasonable objective for Odamex overall. What I want is to be able to provide an identical experience on the Xbox that you would get on any of the other platforms Odamex runs on. That means support for wad downloading, all the multiplayer types, joining games with players on the other platforms using the servers reported by the master servers, etc. So almost anything I implement in the advancement of the Xbox port is going to be usable on other platforms. I intend for that to be true even of the SDL launcher interface. I think this will be a pleasing port for the Xbox community.

Already today I have achieved two big goals. First the game is now truly running at 640x480 (the video shows the game running at 320x200) and the midi music is playing in all its glory!

Thanks for the support!
Logged

neil222

  • Archived User
  • Sr. Member
  • *
  • Posts: 360
Odamex
« Reply #4 on: February 09, 2010, 02:13:00 PM »

Great news on the port  smile.gif
As Likklebaer said, more Doom is always good to hear. Keep going dude.
Logged

Hyper_Eye

  • Recovered User
  • Sr. Member
  • *
  • Posts: 366
Odamex
« Reply #5 on: February 09, 2010, 08:53:00 PM »

QUOTE(Likklebaer @ Feb 9 2010, 11:56 AM) View Post

This is exciting news. More Doom is always a good thing.  happy.gif

About the joystick code; Doom-X maps the mouse's x-axis to the right thumbstick (giving analogue turning) and all the other controls are mapped via the keyboard controls. So is joystick support even necessary?


Hey... through some searches I came to realize you were the main force behind DoomX. I was messing with it this evening and I was reminded that it really is well done. There are some things about DoomX that I am not aiming to duplicate like "System Link" and named control schemes. Those are things that will leave DoomX with a more "retail Xbox" feel than what Odamex will provide. But looking through some of the release posts for DoomX I am thinking about some of the same things you had to think about like analogue running. I have already made a lot of progress. Today I was actually in game and loaded a few different maps with Doom.wad and Doom2.wad, the console is working, and hearing the music was great. I don't think I am going to have too much trouble when it comes to the core port but working on the launcher interface is going to be interesting as I have never done a UI without some high-level toolkit (Gtk+, wxWidgets, etc.) There are a number of really nice ports on the Xbox that have great interfaces so I'm hoping to find some tips on that. I have also run into some pitfalls of the SDL port as well. If I have trouble during the course of the port I might like to pick your brain if you are open to it.

A question that I have for anyone who might know the answer: Can SDL provide HDTV resolutions on the Xbox? SDL_ListModes() currently returns a number of resolutions but 800x600 is the highest with 640x480 being the only one that is not scaled. I don't see any widescreen resolutions returned.
Logged

Likklebaer

  • Archived User
  • Hero Member
  • *
  • Posts: 767
Odamex
« Reply #6 on: February 10, 2010, 02:59:00 AM »

Carcharius did all the coding on DoomX, I just basically helped out on the design side and complained at him a lot.  happy.gif

We found that analog running didn't really work well. It felt much more natural (and more Doom-like) to have to have a run button mapped to the left trigger. Interestingly, when Doom 3 was released for the Xbox, id implemented the exact same control system in the unlockable classic Doom games as we had in DoomX. I don't know if they actually played it or if it was just coincidence, but I'd like to think it was the former.

If I can be of any help I'd be more than happy to. It's great to be talking about Doom on the Xbox again and also nice to see a developer taking the system seriously as a platform to port to.
Logged

Hyper_Eye

  • Recovered User
  • Sr. Member
  • *
  • Posts: 366
Odamex
« Reply #7 on: February 10, 2010, 09:04:00 AM »

QUOTE(Likklebaer @ Feb 10 2010, 03:59 AM) View Post

Carcharius did all the coding on DoomX, I just basically helped out on the design side and complained at him a lot.  happy.gif

We found that analog running didn't really work well. It felt much more natural (and more Doom-like) to have to have a run button mapped to the left trigger. Interestingly, when Doom 3 was released for the Xbox, id implemented the exact same control system in the unlockable classic Doom games as we had in DoomX. I don't know if they actually played it or if it was just coincidence, but I'd like to think it was the former.

If I can be of any help I'd be more than happy to. It's great to be talking about Doom on the Xbox again and also nice to see a developer taking the system seriously as a platform to port to.


I am one of those people that can't let things go. I own a bunch of consoles going way back and one of the consoles I have development hardware for is the Atari Jaguar! Anyway, I think Xbox is probably one of the best systems to port to and if we were to only support one I think it is the one that makes sense considering how cheap they are, how easily they mod (with softmods being so strong now), and with how much functionality a modded Xbox provides.

Anyway, I made more progress last night. I got in-game, loaded a bunch of maps, and I added support for three different modes of overscan: "Off, Low (93.75%), High (87.5%)". It seems sensible to me that on consoles when you go into the video modes instead oh having the "Fullscreen" option you get the "Overscan" option.

For the run issue... I am going to try analog running and see how I feel. I am more inclined to do what DoomX did. Keep in mind that while DoomX didn't want an "Always Run", because it was trying to adhere closely to classic Doom, Odamex already has an "Always Run" option. I would like to make the left trigger perform which ever action is not automatic based on the "Always Run" option.

I will do a new video with the current progress in it in the next few days. Odamex development is open and so I would like to somewhat journal the progress on the Xbox.
Logged

moonmaster1

  • Archived User
  • Newbie
  • *
  • Posts: 48
Odamex
« Reply #8 on: February 10, 2010, 10:18:00 AM »

I really like where this is going, I sometimes bust out doomx every once in a while. Good to see xbox is getting one last port.

Dumb question though. Will this new version of doom be able to play some of the maps from Doom X (not related to the xbox port).

This map in particular.
http://www.doomx.net/?p=5

I wanna say no as Doom X is its own project but I don't see what makes it different from regular doom.
Logged

Hyper_Eye

  • Recovered User
  • Sr. Member
  • *
  • Posts: 366
Odamex
« Reply #9 on: February 10, 2010, 10:29:00 AM »

There isn't really a lot of information there. I can't go through his videos right now but it looks to me like he may be doing a port as opposed to just a wad.

Take a look at this link to get more details on what Odamex is and what it supports: http://odamex.net/wiki/Odamex

In particular you may want to look at the map compatibility section.
Logged

Likklebaer

  • Archived User
  • Hero Member
  • *
  • Posts: 767
Odamex
« Reply #10 on: February 10, 2010, 10:38:00 AM »

QUOTE(Hyper_Eye @ Feb 10 2010, 06:04 PM) View Post

Anyway, I made more progress last night. I got in-game, loaded a bunch of maps, and I added support for three different modes of overscan: "Off, Low (93.75%), High (87.5%)". It seems sensible to me that on consoles when you go into the video modes instead oh having the "Fullscreen" option you get the "Overscan" option.

For the run issue... I am going to try analog running and see how I feel. I am more inclined to do what DoomX did. Keep in mind that while DoomX didn't want an "Always Run", because it was trying to adhere closely to classic Doom, Odamex already has an "Always Run" option. I would like to make the left trigger perform which ever action is not automatic based on the "Always Run" option.

I will do a new video with the current progress in it in the next few days. Odamex development is open and so I would like to somewhat journal the progress on the Xbox.

The overscan option sounds good. I know with DoomX, even though we reduced the screen size somewhat, people still complained about being unable to read the text at the top of the screen and such. It would be nice to have an option for widescreen displays as well which would require reducing the horizontal overscan to 75% so you'd get a proportional 4:3 image on a 16:9 TV.

I guess an "Always Run" option makes more sense to have in Odamex since it's more multiplayer focused than DoomX and I know a lot of players use it in DMs.
Logged

lawdawg0931

  • Archived User
  • Sr. Member
  • *
  • Posts: 382
Odamex
« Reply #11 on: February 10, 2010, 10:49:00 AM »

Really looking forward to this as well.... very nice to see a Doom port with a particular focus on multiplayer. Always nice to see anything new for the original Xbox. Thanks for the updates on your progress.
Logged

Mega Man (?)

  • Archived User
  • Hero Member
  • *
  • Posts: 611
Odamex
« Reply #12 on: February 10, 2010, 01:24:00 PM »

This is awesome news, I love doom! single-player, deathmatch, coop, and capture the flag would be great!
Good luck Hyper Eye. smile.gif

Logged

flux2k

  • Archived User
  • Jr. Member
  • *
  • Posts: 66
Odamex
« Reply #13 on: February 10, 2010, 09:09:00 PM »

Would there be splitscreen multiplayer?
Logged

Hyper_Eye

  • Recovered User
  • Sr. Member
  • *
  • Posts: 366
Odamex
« Reply #14 on: February 10, 2010, 09:30:00 PM »

QUOTE(flux2k @ Feb 10 2010, 10:09 PM) View Post

Would there be splitscreen multiplayer?


QUOTE(Hyper_Eye @ Feb 9 2010, 12:34 PM) View Post

I have no intention of adding things like split-screen play as that is something that isn't really a reasonable objective for Odamex overall. What I want is to be able to provide an identical experience on the Xbox that you would get on any of the other platforms Odamex runs on.


Thanks for your interest.
Logged
Pages: [1] 2 3 ... 8