![]() |
![]() |
#1 |
Alien Bleed
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. |
![]() |
![]() |
#2 |
Registered User
Join Date: Oct 2020
Location: Bicester
Posts: 2,093
|
Oooooooh. I will have check it out
![]() |
![]() |
![]() |
#3 |
Alien Bleed
Join Date: Aug 2022
Location: UK
Posts: 4,964
|
Recovering it was a right carry on.
|
![]() |
![]() |
#4 |
Alien Bleed
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. |
![]() |
![]() |
#5 |
Alien Bleed
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. |
![]() |
![]() |
#6 |
Registered User
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) |
![]() |
![]() |
#7 |
Alien Bleed
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. |
![]() |
![]() |
#8 |
Alien Bleed
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.
|
![]() |
![]() |
#9 |
Alien Bleed
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
|
![]() |
![]() |
#10 |
Alien Bleed
Join Date: Aug 2022
Location: UK
Posts: 4,964
|
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 ![]() |
![]() |
![]() |
#11 |
Registered User
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? |
![]() |
![]() |
#12 | |
Alien Bleed
Join Date: Aug 2022
Location: UK
Posts: 4,964
|
Quote:
-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. |
|
![]() |
![]() |
#13 |
Alien Bleed
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. |
![]() |
![]() |
#14 |
Alien Bleed
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 ![]() |
![]() |
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
![]() |
||||
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 |
|
|