English Amiga Board


Go Back   English Amiga Board > Main > Retrogaming General Discussion

 
 
Thread Tools
Old 26 August 2024, 18:47   #1
Karlos
Alien Bleed
 
Karlos's Avatar
 
Join Date: Aug 2022
Location: UK
Posts: 4,964
Karlos Quake now on GitHub

Following the resurrection of the TKG project I had, I recently found an incomplete archive of my old Quake C mod. It's primarily a behavioural modification, so don't expect new levels. Do expect lots of new odd features, behaviours and other tweaks.

I've managed to get it into a buildable state again and have tested it out in AmiQuake.

https://github.com/0xABADCAFE/karlos-quake

To play it, you'll just need to dump the Karlos directory under your Quake directory. I used to properly pack this into PAK files but for now, having had to fix a lot of code issues, several files are not in the archive and will just sit in the directory. You will need to start quake with -game Karlos. You need RAM and a fat wedge of stack (at least 300K).

There are tons of commands and many are bound to keys alreay. There is an old amigaguide file in there and also a hguide (you need the hyperguide datatype for that).

I don't have much time atm but I intend to actually update the readme and document all the new things eventually.
Karlos is online now  
Old 26 August 2024, 19:06   #2
abu_the_monkey
Registered User
 
Join Date: Oct 2020
Location: Bicester
Posts: 2,093
Oooooooh. I will have check it out
abu_the_monkey is offline  
Old 26 August 2024, 19:27   #3
Karlos
Alien Bleed
 
Karlos's Avatar
 
Join Date: Aug 2022
Location: UK
Posts: 4,964
Recovering it was a right carry on.
Karlos is online now  
Old 26 August 2024, 20:56   #4
Karlos
Alien Bleed
 
Karlos's Avatar
 
Join Date: Aug 2022
Location: UK
Posts: 4,964
This slightly out of date textfile shows how some of the settings are persisted for the client and server options.

https://github.com/0xABADCAFE/karlos...Docs/Notes.doc

Contrary to what it says, the random game option is a feature now. It can be quite comical, performing a big class-based shell game switch on the monsters.
Karlos is online now  
Old 26 August 2024, 21:01   #5
Karlos
Alien Bleed
 
Karlos's Avatar
 
Join Date: Aug 2022
Location: UK
Posts: 4,964
I also note that AmiQuake severely dislikes particles, which means things like the ion cannon don't render properly.

I suspect some of the other effects, e.g. gamma flashes simply won't work at all in GL builds, so no lightning or explosion glare.
Karlos is online now  
Old 26 August 2024, 21:02   #6
eXeler0
Registered User
 
eXeler0's Avatar
 
Join Date: Feb 2015
Location: Sweden
Age: 50
Posts: 3,010
Thats an interesting list of modifications.
Maybe Ill adjust some of my Quake maps to utilize some of this stuff at some point. (Although any Quake maps for Amiga from me will automatically require a PiStorm or Vampire, Im done trying to optimize for 060)
eXeler0 is offline  
Old 26 August 2024, 21:07   #7
Karlos
Alien Bleed
 
Karlos's Avatar
 
Join Date: Aug 2022
Location: UK
Posts: 4,964
More the grappling hook can attach to monsters. So a bit like the meat hook from Doom Eternal.

The torch and grapple winch need cells.
Karlos is online now  
Old 26 August 2024, 21:08   #8
Karlos
Alien Bleed
 
Karlos's Avatar
 
Join Date: Aug 2022
Location: UK
Posts: 4,964
If you have the in world target enabled, you can toggle guided missiles. Those are fun.
Karlos is online now  
Old 26 August 2024, 21:11   #9
Karlos
Alien Bleed
 
Karlos's Avatar
 
Join Date: Aug 2022
Location: UK
Posts: 4,964
The full quakec source is included, which I build using the Amiga faqcc port, which is testament to how obsolete it all is
Karlos is online now  
Old 27 August 2024, 00:59   #10
Karlos
Alien Bleed
 
Karlos's Avatar
 
Join Date: Aug 2022
Location: UK
Posts: 4,964
Quote:
Originally Posted by abu_the_monkey View Post
Oooooooh. I will have check it out
I just fixed a massive fat bug the initial tidy and import added. Impulse commands were not being cleared except for weapon change events. This would cause other things to loop endlessly, e.g. toggling firemodes, turning on torch etc. All pushed and merged.

I don't plan to do much with this (and burned a lot of time this weeked on getting it just working again) but I do expect it to work as an MVP
Karlos is online now  
Old 27 August 2024, 21:01   #11
eXeler0
Registered User
 
eXeler0's Avatar
 
Join Date: Feb 2015
Location: Sweden
Age: 50
Posts: 3,010
Question,
These days im used to Trenchbroom for building maps,
What did you use back in the day to add new (unsupported) stuff to your maps? Ehat would you use today?
eXeler0 is offline  
Old 27 August 2024, 21:14   #12
Karlos
Alien Bleed
 
Karlos's Avatar
 
Join Date: Aug 2022
Location: UK
Posts: 4,964
Quote:
Originally Posted by eXeler0 View Post
Question,
These days im used to Trenchbroom for building maps,
What did you use back in the day to add new (unsupported) stuff to your maps? Ehat would you use today?
I didn't build any maps, it's a behavioural mod. I didn't get very far with that escapade back when all there was were vanilla ports of the standard quake tools. So I focused on just changing how the game plays.

-edit-

And it plays pretty nicely. I have been rediscovering all the daft things I did back then. I forgot that projectiles can go through teleports now...

Last edited by Karlos; 27 August 2024 at 21:50.
Karlos is online now  
Old Yesterday, 15:48   #13
Karlos
Alien Bleed
 
Karlos's Avatar
 
Join Date: Aug 2022
Location: UK
Posts: 4,964
I used a different version of Quake (Quake68K) and the developer output is working, so I can see the team AI.

I've hooked a poor grunt with the grapple which is slowly pulling his guts out and you can see from the messages his pleas for help. Nearby a member of his team has responded and trying to reacn me.

Whole teams can in-fight, but luckily for him, no other teams are hostile. That happens when in fighting between any two monsters results in one killing another from a different team. With randomise enabled, this results in total chaos.
Attached Thumbnails
Click image for larger version

Name:	Screenshot from 2024-08-28 14-46-02.png
Views:	37
Size:	154.9 KB
ID:	83050  
Karlos is online now  
Old Today, 15:19   #14
Karlos
Alien Bleed
 
Karlos's Avatar
 
Join Date: Aug 2022
Location: UK
Posts: 4,964
I had a look at my old team AI code and it was utterly awful from an implementation perspective. There are a maximum of 12 teams and there are multiple shared state values to store per team. QuakeC doesn't support arrays or custom types, so these were implemented as a number of global variables. Accessing the team data for a monster invariably was a massive if/else if chain to match the right variable(s) for a monster and there was a lot of duplicate code.

It was all proof of concept, but this still triggered my sensibilities so I've rewritten it. The only structure type you can use is "entity" which contains all defined fields for all entity types. I've reserved an entity per team to hold all the team attributes and reused some of the existing fields to hold the data. Usefully, entities can also be chained together into lists, which also allows for some improvements to the setup code. There's a single function that returns the entity for a given ID input.

Now each monster has a single entity pointer field back to the team it is part of and just duplicates a few basic properties that remove the need for any indirection.

It seems to work still, and the VM binary is about 60KB smaller
Karlos is online now  
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
KarlosTKG now on GitHub Karlos Retrogaming General Discussion 1275 26 August 2024 17:39
My old Amiga games available on GitHub palaste Coders. General 14 22 June 2020 02:41
KTRL CD32 on GitHub MickGyver News 1 04 December 2018 19:56
How about a GitHub for startup-sequences? wXR Amiga scene 9 16 February 2013 12:38
Quake, Quake 2 and Heretic 2 don't run after update to Mediator TX Turrican(AEB) support.Games 14 25 August 2008 21:11

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 22:18.

Top

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.
Page generated in 0.09775 seconds with 16 queries