Ziu VRM Posted December 24, 2019 Posted December 24, 2019 (edited) Hi all, We are a tribute band to XX century games (https://www.youtube.com/channel/UCNXjc3kOGV4qX56LHjUtlUg). As for now we only publish song with "videoclip". We have many already recorded songs waiting to be released because of that. Next in the cue is BG's. We want to do a machinima video based on the original BG. Basically a party (Minsc, Khalid, Xzar..) moving from A to B chatting following a "funny" timed script that would last ~2 minutes. There is no need for it to be playable at any time (I think I'm looking to create a long cutscene with dialogs). I've been looking/asking around and was addressed here (https://gibberlings3.github.io/iesdp/main.htm) which looks promising. There are many funcitions that seems that would do the job: Spoiler 1 ActionOverride(O:Actor*,A:Action*) 7 CreateCreature(S:NewObject*,P:Location*,I:Face*) 8 Dialogue(O:Object*) 8 Dialog(O:Object*) 23 MoveToPoint(P:Point*) 24 Panic() 29 RunAwayFrom(O:Creature*,I:Time*) 40 PlayDead(I:Time*) 49 MoveViewPoint(P:Target*,I:ScrollSpeed*Scroll) 61 StartTimer(I:ID*,I:Time*) 63 Wait(I:Time*) 66 DayNight(I:TimeOfDay*Time) 67 Weather(I:Weather*Weather) 68 CallLightning(O:Target*) 83 SmallWait(I:Time*) 84 Face(I:Direction*) 85 RandomWalk() 103 MoraleInc(O:Target*,I:Morale*) 107 MoveToOffset(P:Offset*) 114 ForceSpellPoint(P:Target,I:Spell*Spell) 114 ForceSpellPointRES(S:RES*, P:Target) 115 SetGlobalTimer(S:Name*,S:Area*,I:Time*GTimes) 120 StartCutScene(S:CutScene*) 121 StartCutSceneMode() 137 StartDialog(S:DialogFile*,O:Target*) 138 SetDialog(S:DialogFile*) 151 DisplayString(O:Object*,I:StrRef*) 160 ApplySpell(O:Target,I:Spell*Spell) 160 ApplySpellRES(S:RES*, O:Target) 163 ReputationInc(I:Reputation*) 165 AddExperiencePartyGlobal(S:Name*,S:Area*) 173 AddJournalEntry(I:Entry*,I:Type*JourType) 181 ReallyForceSpell(O:Target,I:Spell*Spell) 198 StartDialogueNoSet(O:Object*) 199 TextScreen(S:TextList*) But after some research I really do not know how to start. Prepare a savegame file with the party I want in the place I want and then "play" the script? Do a complete set up? Can any of these be done? ...How? I feel like if I had an example covering the initial set-up, and some calls to function, setting up a dialog, being able to test timmings would be a nice start. I'am a bit clueless, and that's why I am asking for your help. Thanks !!! Edited December 24, 2019 by Mike1072 cleaned up formatting Quote
lynx Posted December 26, 2019 Posted December 26, 2019 Yeah, it is possible to add new cutscenes and have them do almost arbitrary things. The script itself can teleport and move the actors wherever you need them, triggered on a hotkey. So the save only has to be roughly appropriate (the more you prepare, the less you have to script). But it's all pretty nasty, since there's so many idiosyncrasies and custom file formats involved. You'll need NearInfinity, the editor, and plenty of patience. I suggest you rather try to recruit implementation help once the storyboard is ready. You'll also want to use overhead text instead of proper dialogs, otherwise the non-interactivity will be broken. Quote
Ziu VRM Posted December 27, 2019 Author Posted December 27, 2019 (edited) That sounds promising! I started trying to fake the gameplay with Adobe animate and I do not think it's possible at all.. so knowing it can be done with the engine is a new hope. I have the save and also do have the script/storyB (we are only missing the timecode as I'd like to have some dialogues triggered at specific time.. and also make sure it can be read with no need to pause). The song is ready as well, is a custom version of the title screen theme, well recorded at the studio and so. If someone is open to take part in the implementation process it'd be great !! It is not a video with everything decided, so we are open to let everyone participating have their own peace of influence in the final result. Thanks again !!! Edited January 25, 2020 by Ziu VRM Links outdated Quote
Ziu VRM Posted December 30, 2019 Author Posted December 30, 2019 Hi all, Having someone with knowledge of the tools to get involved would be great. But we really want to finish this project at some point so I'm back to the original idea which is trying to do it somehow.. I do not have a single clue on how to start from scratch so I feel I'd need to get some sort of setup done from which it could call to functions and so.. Having a recycled example where I only had to change the content and the script itself would be a nice beginning. Since linx comments were a bit discourageous I'm thinking on another approach, the "NPC human-acting". Getting 6 pals, each on a different PC, to join us and together pretend that we are actors moving and writing what is scripted at the precise moment. The 6th player should be recording the scene guess. That would limit options a bit and for sure it would need a nice amount of editing. I've never used multiplayer.. do you think it could do the job? The 1st option is still using the engine and that's why I keep posting so let's see what can be done !! Quote
Ziu VRM Posted January 1, 2020 Author Posted January 1, 2020 Hi guys, We've managed to start doing something. I'll post it here in case it may be of interest for anyone.. It is an inelegant "hack" to the gemRB. bg1/GUIINV.py import time import MessageWindow ... def UpdateInventoryWindow (): """Redraws the inventory window and resets TopIndex.""" Window = InventoryWindow pc = GemRB.GameGetSelectedPCSingle () GemRB.CreateCreature(pc, "KOBOLD", 1, 1) # KOBOLD 122 GemRB.SetPlayerStat (pc, IE_XP, 330) MessageWindow.TMessageTA.Append("[p][color=f1f28d]Q'apla[/color][/p]\n") time.sleep(1) MessageWindow.TMessageTA.Append("[p][color=ff00ff]magenta!![/color][/p]\n") time.sleep(1) MessageWindow.TMessageTA.Append("[p]adeu[/p]\n") The time.sleep is not working sequentially as expected, maybe we need a wait or something.. it's all work in progress. Basically when pressing the inventory button, you get more exp, and a Kobold is created. Then some colored messages apprear in the console. We wanted to trigger it by pressing the space bar or some combination of keys. Any ideas on how to do that? Same for text, is there any more "gameplay oriented" way to do it (including color circle of the player flashing when talking and so on)? But in case we can get the timing under control and being able to work with other party members we feel this may be a good way to go! Quote
lynx Posted January 2, 2020 Posted January 2, 2020 Eh, let's end this torture. If you're willing to use GemRB, then let's do it properly. Tell me what you want to do, step by step, in great detail (storyboard/script) and let's go from there. Quote
Ziu VRM Posted January 2, 2020 Author Posted January 2, 2020 Dear lynx, Never intended to be a pain for no-one, sry if you felt the opposite! I've spent months trying for a proper way to proceed and then I asked for help here. I'll private message you if you don't mind. Quote
lynx Posted June 12, 2020 Posted June 12, 2020 The process complete, here are the results: https://gemrb.github.io/2020/06/11/unexpected-new-use-case-of-gemrb.html Quote
Ziu VRM Posted June 12, 2020 Author Posted June 12, 2020 10 hours ago, lynx said: The process complete, here are the results: https://gemrb.github.io/2020/06/11/unexpected-new-use-case-of-gemrb.html Thanks again for all the help provided !! Quote
Recommended Posts
Join the conversation
You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.