Arma 3
RINCEWINDER - Combat Effective Magick System [A3, 0.71]
163 Comments
ariel 11 hours ago 
Thank you, my friend. I'll experiment to the best of my ability.
May the force be with you.
Long live and prosper.
Rydygier  [author] 20 Jul @ 11:56pm 
" where the unit modifications are required is: Chess_fnc"

Yes.

"Question: Are you planning to upload this work? (Now or later?)"

No such plans.

"I would like, with your permission, to upload a couple of scenario versions with different mods (if I can get them to work properly)."

Sure, no problem, you have my permission, do it. :)


"and wondered if it's possible to implement a chess engine."

No idea, my skills limit to SQF, don't cover any kind of external code import/API stuff etc. Also I have no a slightest idea, how to create such an engine myself.
ariel 20 Jul @ 7:20pm 
However, who better to share this work than the original author.
I hope this mod gets the attention it deserves. Along with other legendary mods like COSMOS ENGINE, for example, they are part of a legacy of community veterans.
Gems that should have their place and documentary preservation.
Finally, regarding ARMACHESS, I was watching some videos and wondered if it's possible to implement a chess engine.
A chess game for ANDROID weighs only 100MB, and most of it should be 3D graphics.
ariel 20 Jul @ 7:20pm 
YES, wow, I've tried it for a few minutes and it works very well.
The most comforting thing about the first version is that the units can complete the required moves without being destroyed by the opposing side.
I'll play with some mods, STAR WARS to start.
If I'm correct, the file where the unit modifications are required is: Chess_fnc
Question: Are you planning to upload this work? (Now or later?)
I would like, with your permission, to upload a couple of scenario versions with different mods (if I can get them to work properly).
I know that, like all adults today who started with the ARMA series years ago, you have little time and your interests are no longer the same.
ariel 20 Jul @ 5:58pm 
Well, I finally have a couple of hours for my favorite pastime, ja ja (ARMA3).
Now I'll download these files and try them out.
Thank you very much.
Rydygier  [author] 17 Jul @ 11:49pm 
Also, the addon itself just adds bunch of chess icons to the game, if anyone needs that. Note, graphics with standard chess icons aren't mine, IIRC, those was just found on the net.
Rydygier  [author] 17 Jul @ 11:46pm 
Yup, I was blind. I found the addon elsewhere. But it wasn't working "as is" in Arma 3, as it refers as a parent class to a marker not existing in Arma 3. So I corrected that, also modified the code back, so it would use these icons, and here's that version - note, unlike previous one, this is not vanilla, it requires included addon.

https://www.dropbox.com/scl/fi/kwbas12je8vpszr5cfsih/RYD_Armachess_A3_port_withIcons.zip?rlkey=56w82op3ghgibe6dj539llkpo&st=3i4uvsj4&dl=0
Rydygier  [author] 17 Jul @ 11:04pm 
"On the other hand, I happen to still have the files you shared with me a while back. They contain all the icons."

Certainly, those could be used with the code change, I suggested below. I just failed to find them on my PC this time. Either they were deleted (or left behind when I migrated to the new PC), either they are somewhere, and I'm blind... :)

And yes, of course, there's a lot space for improvements.
ariel 17 Jul @ 8:06pm 
Spectacular! I tested the scenery, albeit only for a few minutes, but it looks great.
Just a few occasional comments: the camera could use a forward angle, as the overall movement panorama isn't fully appreciated.
On the other hand, I happen to still have the files you shared with me a while back. They contain all the icons. I suppose they could be implemented in this new version.
I also think it would be fantastic to be able to generate different versions.
For example, there's now a melee combat system; I imagine a version with individual characters or medieval squads.
The same with Star Wars entities: imagine AT-ATs lumbering through a desert terrain or a snowy plain in the middle of a storm...
ariel 17 Jul @ 2:38pm 
Thank you very much for taking the trouble and effort to create these files.
I don't quite understand the ICONS thing. At first, you sent me some files in which the icons were incomplete.
But then, you sent me others, where all the ICONS were included.
As I said before, and as can be seen in the video, all the icons are there, and I think they work well according to the original mechanics.
Aside from the features that don't match those of a proper chess game.
I will download and try this version, which I am very excited about, and I hope more members will be interested.
Thank you again, best regards.
Rydygier  [author] 17 Jul @ 2:53am 
Oh, if you disable the map view, there are few player actions to switch "AI", "AI" being "given side makes random, hopefully legal, moves on its own".

Also sorry for the disorder in these posts, steam is awful for such stuff.
Rydygier  [author] 17 Jul @ 2:49am 
Steam breaks this link, so copy it manually and paste into web browser, do not click it directly.
Rydygier  [author] 17 Jul @ 2:48am 
I had some free time today, so here you go:

https://www.dropbox.com/scl/fi/xqdqx0ustneef6yli3lys/RYD_Armachess_A3_port.VR.zip?rlkey=vcjrmq05sgltsdyeig8d4hliy&st=u1wc838t&dl=0

This is functional simple AI port with few changes:

- player unit position now marks the center of the chessoard;
- fixed some script errors, seems present from the start;
- added to init.sqf this switch:

RYD_AC_AllowMutualDamage = false;//attacking occupied field: false - only targeted piece can be destroyed, true - normal chess rules not applied, instead both pieces have a chance to destroy opposing one

if this is set to "true", piece attacking a field should be immune to damage, firefight should commece, but attacker should be guaranteed winner, like in chess. If for any reason fails to destroy attacked vehicle, it will be automatically destroyed after 30 seconds.
Rydygier  [author] 17 Jul @ 2:46am 
To make legality of usage clear (people tend to ask...): Anyone can use, freely modify and re-release linked above armachess scenario/script, as long original author, being humble me, is pointed and it is released non-commercially (like anyone would be able to make a profit out of this :) ).
Rydygier  [author] 17 Jul @ 2:46am 
- I had to replace nice chess symbol markers with native A3 markers with text naming a piece, to keep this mod-free, also I apparently do not have anymore the pbo with custom markers anyway. The change in the Chess_fnc.sqf, line 306:

_tp = "mil_marker";//(_this select 0) select 1;
_txt = (_this select 0) select 1;

_mark = [(str _SummonedGrp),_place,_cl,"ICON",[1.5,1.5],0,1,_tp,_txt] call RYD_Marker;

to revert, if one would prepare an addon containing properly named chess symbol markers:

_tp = (_this select 0) select 1;

_mark = [(str _SummonedGrp),_place,_cl,"ICON",[1.5,1.5],0,1,_tp,""] call RYD_Marker;

Marker names are given at the top of the same file, being "Pawn", "PawnR" etc.

That's what I was able to do in a short time. There's lots to improve of course, but I will leave it for the others willing and able.
Rydygier  [author] 16 Jul @ 10:26pm 
I do not remember exactly, what was my intent - to recreate chess rules to the letter, or to make a hybrid with chess moves but Arma fight. Also note, there's no any kind of "chess thinking" behing AI moves, IIRC the only thing, the script does, is to determine, which fields are legal moves and to pick one at random. Probably the main idea was to utilizie concepts like dynamic, action finder camera and sectorize code (which divides the map into square fields) in some cohesive way. Still, may be not difficult to make the pieces work like in chess, if it isn't the case, meaning, in units clash wins always the one, that is supposed to win.

As for me... As said below, I'm currently in fact "retired" from Arma activities, focused elsewhere. However it is possible, the code itself odesn't need much in terms of porting to Arma 3, could be mostly about chessboard positioning on some Arma 3 map, flat area, like the salt like on Altis, and configure pieces to be Arma 3 vehicles.
ariel 16 Jul @ 7:56pm 
I couldn't read the original thread for the ARMACHESS mod because using it raised several concerns, for example: when a move is made according to allowed coordinates and a "piece" approaches the designated position, it is eliminated by the enemy unit.
This, while it spices up the game dynamics a bit, contradicts the essence of chess mechanics.
I thought the "pieces" could be invisible (setcaptive true) or spawned without ammunition, allowing them to reach the designated square on the board without being attacked.
Then, upon reaching the designated square, and if it were occupied by a piece that needs to be eliminated, this could be achieved by spawning ammunition on the attacking piece, or by using an allowdamage trigger attached to the unit.
I hope you'll consider reviving this marvel. Unfortunately, these kinds of true gems of ingenuity don't always capture the community's attention. But who knows, this time...
ariel 16 Jul @ 7:56pm 
Too bad, I explored that work in ARMA 2 after you sent me the files. Thank you very much for that.
I thought about dedicating some time to porting it to ARMA 3, but a few days ago I did an experiment using your mod and the ALLINARMASTANDARTLITE mod.
Unfortunately, the latter is no longer available (it was until recently).
And it worked!!!
I was planning to use CHATGPT or GEMINI AI to get a modified version of the files for vanilla ARMA 3.
Rydygier  [author] 14 Jul @ 9:34pm 
Yes. One of my early works, I was learning SQF by doing stuff like Rincewinder or Armachess. Armachess was quickly abandoned experiment though.
ariel 14 Jul @ 6:55pm 
Hi friend. Sorry to bother you, but I wanted to ask you something:
Are you the one who developed ARMACHESS? (for ARMA2)
Rydygier  [author] 10 Jun @ 1:19am 
Sorry guys, as for my Arma 3 projects, I "moved on" after a dozen of years or so, simply doing other things in my life. It is unlikely, any of them will be further developed or maintained.

Syncing with MagickSource IIRC should do it, but there may be other reasons, why an AI does not cast any spells. It wouldn't cast spells all the time anyway.

"Why is the earth elemental actually an AFV-4 Gorgon?! And the dragon a Helo?"

Why not?
Soyuz. 9 Jun @ 3:13pm 
how exactly are the MagickSources supposed to work? I've named an object MagickSource and synced an AI, but he still isn't able to cast spells.
Mr Noseybonk 14 Mar @ 1:48pm 
Why can't I amplify spells with the mousewheel? Oddly it did work, JUST ONCE when I tested it, then it never worked again!???!!!!!!
Mr Noseybonk 20 Feb @ 9:48am 
Why is the earth elemental actually an AFV-4 Gorgon?! And the dragon a Helo? :steamfacepalm:
Mr Noseybonk 20 Feb @ 9:08am 
The "Life Drain" spell often causes the whole UI to just bork. That means you can't even bring the menu up no more. You have to restart the scenario to fix it.
Mr.Wanaskiwin "Navarone" 7 Mar, 2024 @ 1:33am 
How do i get the powers?
Crite Spranberry 10 Jan, 2024 @ 4:41pm 
So no word on players "Seeing" the spells, but if anyone is playing singleplayer antistasi this mod works on that :0 Antistasi requires you to host a lan server so I was asking just to be sure XD Magic antistasi is a cool combo, cause in antistasi you try and take over towns and stuff and mana is regened in towns XD All in all, great mod it's magicstasi time
Rydygier  [author] 10 Jan, 2024 @ 6:48am 
It wasn't tested by me in MP at all, so there may be parts of logic designed with assumption, there's only one PC/player involved, which may cause either plain malfunction either results may be not as desired. For example non-local players possibly may lack spellbook UI etc. Moreover, AFAIK at least big part of "visualisation" part is local by nature, which means, effects may be in part visibe/audible only, where this script is run from.
Crite Spranberry 10 Jan, 2024 @ 5:19am 
Hi, I was curious if you could elaborate on what you mean by "Not designed for MP" Do you mean that it's not balanced for player versus player combat? or that It literally will not work on multiplayer servers?
✠ DFSpecter 28 Dec, 2023 @ 11:58am 
funny story - I was just in the virtual arsenal screwing around, and uh.... The experience was very funny.
Shy 20 Oct, 2023 @ 7:06am 
Thanks, Hope their project goes smoothly :)
Rydygier  [author] 19 Oct, 2023 @ 11:59pm 
No, it never was designed for MP. But the person below your post was doing some work in that direction, maybe he'll succeed.
Shy 19 Oct, 2023 @ 8:50am 
will this work in multiplayer?
Slay No More 19 Jul, 2023 @ 2:45pm 
Oops, I'm an idiot. I was editing back up files and not ones that were in my project folder. Your original instructions were correct.
Rydygier  [author] 19 Jul, 2023 @ 5:30am 
Meanwhile those, player does not have available, should be hidden:

_cSpells = [] call RYD_RNC_CurrentSpells;

setAccTime 0.1;

createDialog "RscMagickInterface";

waitUntil
{
not (isNull (findDisplay 360000))
};

_dspl = findDisplay 360000;
_cnt = count _cSpells;

{
if (_foreachIndex >= _cnt) then
{
(_dspl displayCtrl _x) ctrlShow false
}
}
foreach RYD_RNC_allSpells;
Rydygier  [author] 19 Jul, 2023 @ 5:30am 
{
_pX = 0.4 - ((sin (_foreachIndex * (360/_cnt))) * _rad);
_pY = 0.54 + ((cos (_foreachIndex * (360/_cnt))) * _rad);

_idc = _x select 0;
_spell = _x select 1;

_spellL = _spell select 1;
_spellN = _spell select 2;
_spellC = _spell select 3;

_costMpl = 1/(1 + 0.1 * (sqrt(_level - _spellL)));

_spellC = round (_spellC * _costMpl);

if (_spellC > _mana) then
{
ctrlEnable [_idc, false]
};

_control = _dspl displayCtrl _idc;
_control ctrlSetText (format ["%1 (%2)",_spellN,_spellC]);
_control = _dspl displayCtrl _idc;
_control ctrlSetPosition [_pX,_pY];
_control ctrlCommit (0.25 + (0.05 * _foreachIndex))
}
foreach _cSpells;
Rydygier  [author] 19 Jul, 2023 @ 5:30am 
Hard to tell. I may miss something, but not sure.

Actual list of spell controls idc is defined here:

RYD_RNC_CurrentSpells =
{
private _spells = [];
private _mySpells = player getVariable ["RYD_RNC_mySpells",[]];
private _cnt = count _mySpells;

{
if (_foreachIndex == _cnt) exitWith {};

_spells pushback [_x,(_mySpells select _foreachIndex)]
}
foreach RYD_RNC_allSpells;

_spells
};

as _spells.

Those are positioned and filled with content:
Slay No More 18 Jul, 2023 @ 2:50pm 
So I've extended the RYD_RNC_allSpells as well as add new buttons to the GUI.hpp, but the buttons seem clustered in the top left and retain the default "Button 30" text.
Slay No More 18 Jul, 2023 @ 2:02pm 
Got it, I'll take a look, thank you for your continued assistance.
Rydygier  [author] 18 Jul, 2023 @ 6:42am 
Not quite rememeber details, from what I see, the wheel should increase its radius depending on amount of spells, it must show, but hardcoded limit seems to be this:

RYD_RNC_allSpells = [11,12,13,14,15,16,17,18,19,110,111,112,113,114,115,116,117,118,119,120,121,122];

where numbers are controls idc. So, assuming, that's the bottleneck, you may need to define in GUI.hpp more of those:

class RscBtn_MI22: RscBtn_MI1
{
idc = 122;
text = "SPELL 22";
action = "[122] call RYD_RNC_SpellPick";
};

and add their idc to the RYD_RNC_allSpells.
Slay No More 17 Jul, 2023 @ 7:19pm 
Thanks for the help with this stuff.

I hate to keep stacking the questions, but I think I'm hitting the limit of the wheel GUI, is there perhaps a way to make it display more spells? I've been creating new ones and ran out of space, some are hidden.
Rydygier  [author] 15 Jul, 2023 @ 10:53am 
Well, wherever a spell require a target position in the code, you can put screenToWorld [0.5,0.5] there instead whatever it was used, but if you don't aim at the ground, result may be difficult to predict.
Slay No More 15 Jul, 2023 @ 10:30am 
Thanks so much m8.

I think I asked in the past maybe not, do you think it would be hard to convert many of the magic systems over to firing where the crosshair is aimed?
Rydygier  [author] 15 Jul, 2023 @ 8:31am 
Oh, also remember to remove this line:

deleteVehicle _source;

from RYDVIS_SKYCANDLE1

or you'll be deleted at spell depletion like rabbits are. :)
Rydygier  [author] 15 Jul, 2023 @ 7:55am 
That should be easy. What I do - I spawn a number of rabbits, make them invisible, moving at random around and attach above each a light source.

{
_posZ = 1 + (random 30);

//_grp = creategroup civilian;

//_Rabbit = _grp createUnit ["Rabbit_F", _x, [], 0, "NONE"];
_Rabbit = createAgent ["Rabbit_F", _x, [], 0, "NONE"];
_Rabbit setVariable ["BIS_fnc_animalBehaviour_disable",true];
_Rabbit hideObject true;
[_Rabbit,"FULL",100,false] spawn RYD_RndMoveAround;
[_x,_posZ,_Rabbit] spawn RYDVIS_SKYCANDLE1;
}
foreach _points;

So get rid of that foreach loop, also you don't need finding _points nor to spawn any rabbits, you just leave modified the one line:

[(position _source),5,_source] spawn RYDVIS_SKYCANDLE1;

That should spawn a single sky candle 5 meters above your feet, attached to you.
Slay No More 14 Jul, 2023 @ 2:04pm 
I am thinking of altering the Sky Candle and making it a single candle that hovers over top of the player and follows them, perhaps using attachto to make it stay near them, but I'm unsure of what you're doing in the scripts sadly.

Do you think you could possibly assist me at some point?
Barry Cabbage 25 May, 2023 @ 10:32am 
Thank you very much!
Rydygier  [author] 25 May, 2023 @ 10:31am 
_group setVariable ["RYD_RNC_isMagicTested",true];

This set at init should make _group TL not considered for a mage (always TLs become a mage). It tells, the group was already tested for mage presence.
Barry Cabbage 25 May, 2023 @ 10:09am 
Just found the mod and I was wondering if there's a way to prevent a character/AI from being selected as a mage.

I'm also gonna test this out on an MP server and see whats's what.
Rydygier  [author] 30 Apr, 2023 @ 1:07pm 
Finally on the top of that there's also this arc spread component (main deviation from aiming direction):

_fPos = _sPos getPos [1,((getDir _bO) - _spreadDir + (random (2 * _spreadDir)))];


So ALSO the lower _spreadDir, the more aimable spell...


Man, I had tendency to complicate things back in Arma 2 times... :)