*

Author Topic: Chocolate Descent (testing build available)  (Read 825 times)

Offline InsanityBringer

  • Gold
  • ***
  • Posts: 569
Chocolate Descent (testing build available)
« on: September 14, 2019, 02:23:25 PM »
Over the past month and a half, I've gotten interested in the idea of making a classic software focused Descent engine, which none of the current ones focus on. Rebirth does have a software renderer, but it has to be built with it specifically and it lacks certain features I want, like the ability to use high-resolution windows with low resolution game output. Wanting to also take a stab at porting an old game, I decided to start working on Chocolate Descent, in the same vein as Chocolate Doom. It uses SDL 2 to enable potential portability to multiple platforms, though currently the code only works correctly on Windows. In the coming months, I want to get Descent 2 ported and also get the mess running on Linux.

Some screenshots:





Videos:
Video demonstrating new MIDI support.
Early video with gameplay and buggy sound.

Development:
Chocolate Descent is currently in development, and is at a state where I should be able to release Windows builds soon. A number of things are planned for the future, and if you want to follow progress, the github repo can be found here.

Testing build:
Here's the first testing build!
https://drive.google.com/file/d/1LQjARq2B58KdzvmDBE1B9p-gTAPNDFzM/view?usp=sharing
« Last Edit: October 17, 2019, 11:06:49 AM by InsanityBringer »

Offline Scyphi

  • Purple Heart
  • *****
  • Posts: 2327
  • TechPro Jr.
    • Scyphi Productions
Re: Chocolate Descent
« Reply #1 on: September 15, 2019, 05:47:21 AM »
So basically...Vanilla Descent...but with benefits? Am I getting that right? Sorry, this all veers into technical fields I'm not so familiar with, so I'm mostly just going off what I'm seeing here in the screenshots...  :-[

I approve, either way, though. Rebirth and D2X-XL are both nice and all, but I've found there is something to be said about playing Descent as it originally appeared in 1994, an experience you somewhat loose with the other mods, so I'm for any project that seeks to restore/preserve that original gameplay experience, even if just for nostalgia.  ;D
"I thought I had a great idea, but it never really took off. In fact, it didn't even get on the runway. I guess you could say it exploded in the hanger." -Calvin and Hobbes
See me also at deviantART.

Offline Kaiaatzl

  • An interesting choice for ship's cat
  • Platinum
  • ****
  • Posts: 1888
  • beware of ounce
Re: Chocolate Descent
« Reply #2 on: September 15, 2019, 01:30:19 PM »
Looks like one to watch!
I'd really like to have a simple software-rendered version of D1 and D2 that just runs on modern OS and adds OGG support for redbook or custom music tracks.  Nothing else necessary.  Just playing it exactly like DOS.  Even Rebirth never seems to get that quite right.

Offline InsanityBringer

  • Gold
  • ***
  • Posts: 569
Re: Chocolate Descent
« Reply #3 on: September 16, 2019, 10:41:51 AM »
Yeah, it's pretty much that, Scyphi. Classic Descent gameplay, classic Descent look, but with modern conveniences. While the game resolution is low and extra crunchy, the window can be of many resolutions, and you can even go borderless fullscreen, and it's automatically pillarboxed to keep the game's classic 4:3 resolution, so the cockpit doesn't look squashed.

OGG music is currently in, though it's a bit simple at the moment. If you place an ogg file in the /music/ directory, with the same name as one of the game's MIDI tracks (ie game01 for level 1), it will play that instead of the MIDI track. This will need some extension in Descent 2 to support the redbook audio tracks, but for now its fine if you want accurate SC55 or OPL recordings or the like. Or maybe drop the Mac/PSX soundtrack in there...

Speaking of ][...



Offline Kaiaatzl

  • An interesting choice for ship's cat
  • Platinum
  • ****
  • Posts: 1888
  • beware of ounce
Re: Chocolate Descent
« Reply #4 on: September 22, 2019, 08:09:32 AM »
Woo!

Offline D2Disciple

  • Major
  • Gold
  • ***
  • Posts: 523
  • Deal with it.
Re: Chocolate Descent
« Reply #5 on: September 23, 2019, 04:25:29 AM »
This is super cool. Might have to break out the old CRT monitor and download this.  ;)

Let us know when it's released and I'll put it on the front page!
« Last Edit: September 23, 2019, 04:28:25 AM by D2Disciple »
I, for one, hope this is much, much more than a reconnaissance mission.

Offline InsanityBringer

  • Gold
  • ***
  • Posts: 569
Re: Chocolate Descent
« Reply #6 on: October 04, 2019, 08:22:55 AM »
https://www.youtube.com/watch?v=4FTnCLzo5mY

Chocolate Descent 2 looking pretty good. I hope I can get this whole mess released for testing soon but there's still a lot of tiny little things I need to get around to doing...

Offline Hunter

  • Gold
  • ***
  • Posts: 194
  • Megathron, A Flare, [WAX]Hunter + others
    • Sectorgame
Re: Chocolate Descent
« Reply #7 on: October 06, 2019, 03:00:16 PM »
I'm gearing up to play some D1 again (its been a while), and I was only thinking the other day how neat it would be to experience the game in this fashion again.

As Bender would say: Neat  8)
Sectorgame.com - Descent and Freespace mods/levels.

Offline InsanityBringer

  • Gold
  • ***
  • Posts: 569
Re: Chocolate Descent
« Reply #8 on: October 16, 2019, 02:51:30 PM »
During testing, I was able to play all of Descent 1 without a single crash error, and all of Descent 2 and a number of missions with only one crash. I think that's a really good sign.

I'm probably going to get a testing build released sometime this week. At the moment I'm waiting on an overhaul of some code being performed by a third party contributor, dpjudas, that should hopefully make configuring the thing easier. A few caveats are that emulated CD music isn't available at the moment (you can use the music folder to play CD rips ATM, but it'll only load four level songs), there's no joystick code available in the SDL backend, and diagnostics code is limited. Beyond that, it's much more stable than I was anticipating, which is very nice. (no doubt there's a million lurking memory bugs though, waiting to manifest the moment I release a build....)
« Last Edit: October 16, 2019, 02:53:11 PM by InsanityBringer »

Offline InsanityBringer

  • Gold
  • ***
  • Posts: 569
Re: Chocolate Descent
« Reply #9 on: October 17, 2019, 11:06:10 AM »
Alright, so I have made a testing build.

It's available here.

Look at the included ChocolateDescent.txt document for details. Please report any errors that show up, and if anyone's looking to play with joysticks, do let me know if that works at all. I don't have any sticks to test with, hampering the process. There's some basic gamepad code in play too, but it's very messy. You'll need to set your joystick type to the Flightstick in order to use gamepad buttons. The mapping of them isn't clean ATM, I'll look to improve this in future builds.

Offline Kaiaatzl

  • An interesting choice for ship's cat
  • Platinum
  • ****
  • Posts: 1888
  • beware of ounce
Re: Chocolate Descent (testing build available)
« Reply #10 on: October 29, 2019, 05:11:55 PM »
Still can't add dedicated ogg music for custom missions without support, but I did work around the 4-song limitation in D2 by just adding a descent.sng file into the root directory.  If you get the redbook tracks from one of the Rebirth dxa's, the same descent.sng that's in there seems to work without needing any changes besides extracting it into the right folders.
Mouse control feels a little sluggish compared to dosbox (at least the way I had it set up) or Rebirth on "normal" mode.  Not that the ship's turn rate is slow, its just seems that, in order to reach that max turn speed, I need to move the mouse faster than I would on dosbox or Rebirth.  And moving it faster obviously means moving it farther, which means more annoying picking-up of the mouse in turn.
« Last Edit: October 29, 2019, 05:13:29 PM by Kaiaatzl »

Offline InsanityBringer

  • Gold
  • ***
  • Posts: 569
Re: Chocolate Descent (testing build available)
« Reply #11 on: October 30, 2019, 10:56:27 AM »
I can try adding a mouse scaling option in chocolatedescent.cfg to try to help out. Just some sort of multiplier applied to the raw values read from the mouse in SDL. It's never felt that off to me, I dunno why, but I'll play around with it.

On the subject of input, I dug up an ancient cheap USB joystick from my garage, so I gave the joystick code a thorough test and shook out some problems. It now works much better, you can bind hat switches to movement controls properly, and so on. I also fixed up the button code to make it a lot easier to map buttons from real joystick buttons to the names reported in game, so it should be much easier to work out binds. Sticks are still fairly limited, but Descent's joystick code is surprisingly limited tbh...

Offline Kaiaatzl

  • An interesting choice for ship's cat
  • Platinum
  • ****
  • Posts: 1888
  • beware of ounce
Re: Chocolate Descent (testing build available)
« Reply #12 on: October 30, 2019, 04:42:09 PM »
I'd like that.
The game's still perfectly playable and fun, it's just a little quality-of-life sorta deal.  :D

Oh, the other thing I noticed that I forgot about yesterday is that at least on my mouse, when I want to bind the right or middle button to a control I have to press the opposite one.   So for example if I'm binding afterburner to the middle mouse button when I've selected the control in the menu and I'm told to input the control I want, I have to press the right mouse button instead.
Kinda weird, kinda not huge, but still it's a thing. :)

EDIT: I've also noticed now that sometimes when a dialog box shows up with a prompt for the player (like say, the "secret teleporter found, proceeding to secret level" in D2) it only shows up for a split second before the "continue" option activates seemingly by itself.  Also sometimes happens on player death for the respawn control.
Also not a huge deal.
« Last Edit: November 03, 2019, 02:52:59 PM by Kaiaatzl »

Offline InsanityBringer

  • Gold
  • ***
  • Posts: 569
Re: Chocolate Descent (testing build available)
« Reply #13 on: November 04, 2019, 01:37:50 PM »
I fixed the bug with the wrong mouse buttons, it turns out in certain contexts I wasn't translating SDL mouse button IDs to Descent mouse button IDs properly. What the text in the bind menu says is accurate to what you need to press in game. I think I also fixed the problems with mouse input not being flushed properly, this should fix the instant respawns and dialogs not showing up.

I should have another build out this week.

 

Please Help Support PD!

Recent

Members
  • Total Members: 258
  • Latest: Zeke
Stats
  • Total Posts: 20146
  • Total Topics: 1483
  • Online Today: 66
  • Online Ever: 266
  • (October 10, 2019, 04:40:57 AM)
Users Online
Users: 0
Guests: 44
Total: 44