Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
Quasar

Calico

Recommended Posts

I am wondering: Why did they use the Jaguar engine for the PSX port and Doom 64?

What kind of change did they make? Did they only optimize the code so it runs faster (how)? How much faster is it?

Would porting it back to DOS make it a more superior engine than vanilla that would have run on lower-end PCs in 1993 with a higher framerate?

Share this post


Link to post
Gez said:

That seems unlikely; we're talking about Doom here, which is already sold on PC through GOG and Steam. Yes, not the Jaguar version, but you're going to have difficulties convincing id Software (and their owner ZeniMax and their publisher Bethesda) that there's a sufficiently large niche of users interested with playing Jaguar Doom on PC.

Ok, so the Jaguar version of Doom won't be very interesting commercially. But there are many more ancient games on Steam and GOG which also aim for nostalgia or uniqueness, rather than big bucks.
With that said, I do agree that the legal department of Id Software/Zenimax/Bethesda, which will be needed to grant a license, will be a hard nut to crack.

Share this post


Link to post
Arno said:

Ok, so the Jaguar version of Doom won't be very interesting commercially. But there are many more ancient games on Steam and GOG which also aim for nostalgia or uniqueness, rather than big bucks.
With that said, I do agree that the legal department of Id Software/Zenimax/Bethesda, which will be needed to grant a license, will be a hard nut to crack.

Again, Doom is already available on Steam and GOG. And it's a version that is superior on all points to the Jaguar version -- more levels, with more details, more monsters, more items, and the presence of in-game music.

On the other hand, Ultra Vortek isn't available on these distribution platforms.

Share this post


Link to post
axdoom1 said:

I am wondering: Why did they use the Jaguar engine for the PSX port and Doom 64?

What kind of change did they make? Did they only optimize the code so it runs faster (how)? How much faster is it?



The issue wasn't performance. The issue was that these systems had to work with far less RAM and very limited resources. It made sense to use a port that already did most of the dirty groundwork to reduce the memory footprint etc. rather than start from the PC version and do it all over again.

Share this post


Link to post
Graf Zahl said:

The issue wasn't performance. The issue was that these systems had to work with far less RAM and very limited resources. It made sense to use a port that already did most of the dirty groundwork to reduce the memory footprint etc. rather than start from the PC version and do it all over again.


They simplified the levels so they use less memory (less linedefs), but what did they do to the engine to save memory? As far as I know, the engine has the same features as the original. Did they remove wall properties (block sound, x align, y align) and mobj properties (deaf/ambush)? I don't know if you can save a lot of memory by removing mobj's properties.

Share this post


Link to post

I think lowering the limits lowers the memory usage. For example, you are now using a smaller table for something, a smaller linked list for something else etc.

I mean, the old Doom code doesn't dynamically allocate memory, does it? Just statically creates the memory objects it will use. Sometimes it doesn't even do bounds checking lol. All for performance and code simplicity I would guess.

But this means that you hit the limits more easily so you have to simplify the levels until they stop crashing.

Share this post


Link to post

The game has the same limits as Doom v1.2, so for example MAXVISPLANES is 64. I don't think it saves that much memory. For the linked list, I think it's only used for "things", so if you remove monsters and items, you get a smaller list.

I rather think that the source code was simplified for performance and took shortcuts to make it faster. I think monsters even go back to sleep when they can't see the player.

The only stuff that was simplified to save memory, I think, is the game data.

Share this post


Link to post
axdoom1 said:

They simplified the levels so they use less memory (less linedefs), but what did they do to the engine to save memory?



Nothing. The Doom source compiled is only a few 100kb.
What they needed is primarily to reduce texture usage, i.e. less wall textures, less flats and less sprites. That is the only area where it really mattered.

Share this post


Link to post
VGA said:

I mean, the old Doom code doesn't dynamically allocate memory, does it? Just statically creates the memory objects it will use.

Yes and no. It uses a lot of static arrays, but it also has a dynamic allocation system that it uses for everything that isn't in a static array. Mobjs, cached textures and sounds, etc., all that stuff goes in the zone heap.

Share this post


Link to post

I have a few questions. I compiled it with SDL2.

-How do I open the automap?
-How do I connect an instance of the game to another? (for deathmatch and coop)
-Does the sound work? I don't get any sound and there is no music at the intermission screen.
-Is the low framerate hard-coded?
-Why grab the mouse? The mouse doesn't work.

Thanks in advance.

 

 

Edit: For reference, there is a new thread: 

 

Edited by axdoomer

Share this post


Link to post

Hey axdoom1, how did you manage to test the Calico port? Did you buy the atari cartridge or did you download the ROM?

Share this post


Link to post

Hey, I forgot about this, what's going on?

 

Is it fully playable? Will a community set be organised? :)

Share this post


Link to post
19 hours ago, VGA said:

Hey, I forgot about this, what's going on?

 

Is it fully playable? Will a community set be organised? :)

See the release thread that's linked a couple posts up ;)  In short it's not completely done but yes it's fully playable. Only things missing are the intermission music and netplay. I also have some pending changes in the git repo that add gamepad support. Hopefully I can scrounge in a release of that after we get Forsaken out the door.

Share this post


Link to post
On 12/7/2018 at 10:46 AM, Kilo said:

Do you plan on coming back to this?

Quasar is busy working at Nightdive Studio as a full-time programmer there, so maybe we won't get to hear much from him until he gets some time again.

Share this post


Link to post

I did some work previously adding more control options and gamepad support. I want to do a 1.1 release with that stuff pretty soon.

Share this post


Link to post
On 12/11/2018 at 11:33 AM, Quasar said:

I did some work previously adding more control options and gamepad support. I want to do a 1.1 release with that stuff pretty soon.

Looking forward to it, remember to take your time

Share this post


Link to post

Has anyone else experienced a crash if calico is run without the -nomusic command line option on Linux?

 

Valgrind detects an an invalid write on s_sound.c:99, i.e. instruments[instnum] = (sfx_t *)(W_POINTLUMPNUM(lump));

Share this post


Link to post

Will there even be a new version though? I really want mouse + kb support... :(

Share this post


Link to post

I wanted to try this out, but something more recent than the 1.0 beta released in 2017. So, by some miracle and around 6 hours of trial and error (since I don't know jack about anything programming-related at all, lmao), I finally managed to make a Windows x64 build with the latest commit as of July 10 2018. I hope this isn't the last we hear of Calico.

 

P.S. If you don't know, the config file appears in %APPDATA%\Team Eternity\Calico.

Calico Doom.7z

Edited by Vic Vos

Share this post


Link to post

I'm not using x64 right now, but this is great! Hopefully this can inspire others to continue Calico's development as well.

Share this post


Link to post

Update: Just gave Vic Vos' x64 build a try. So far so good!
Hopefully others would continue the work too. This is too great to be left in silence.

Share this post


Link to post

Agreed, I love Jag Doom and this port too, but I really need mouse & kb support :(.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×