Jump to content



Photo
* * * * * 1 votes

Transformers Marcade MOD Edition[Visual Pinball X MOD]

original tournament unnreal

  • Please log in to reply
14 replies to this topic

#1 wpilot

wpilot

    Enthusiast

  • Platinum Supporter
  • 130 posts
  • Location:Michigan

  • Flag: United States of America

  • Favorite Pinball: Attack from Mars

  • PS3 Gamer Tag: NA
  • 360 Gamer Tag: NA

Posted 26 October 2021 - 04:00 PM

Posted Image


File Name: Transformers Marcade MOD Edition

File Submitter: wpilot

File Submitted: 26 Oct 2021

File Category: VPX/VPinMAME - MOD Tables

Author(s): JP Salas
Mark Paulik
Manufacturer: Stern
Year: 2021
ROM: Link to ROM
Media Pack: Link to Media Pack
Permission to MOD?: Yes, with approval


Transformers Marcade MOD Edition

**** NOTE: This Table requires the original Stern ROM to work called "tf_180" If you have JPs Transformers table and everything was working then you probably have the ROM already and don't need anything further, but I noticed the ROM link on JPs Transformers page here at VPForums no longer works. So I'll include instructions for the ROM in my Multimedia Pack with this table. Be sure to check out the Multimedia Pack Link! ***
 
This table is built upon JPs Transformers table which is based off the Stern Table from the Live action movie series.
I wanted to do my spin on the Transformers IP - specifically as a homage to the 80s cartoon and toy line I grew up with.
All original gameplay and ROM component is the same as the JP Stern based table so you will hear sound bites and see DMD anime from the movie while playing.
All Art & Design, Game 3D Toys, Lighting tweaks, and VFX animations are produced by me: Mark Paulik.

The code was tweaked to facilitate my adding of VFX animations which include hand drawn animated explosions, Energy Power ups and other sound bites and bells and whistles.
There is a minor bug with the table that when the animations play a white box flashes before the animation plays - this seems to occur with each VFX instance but only when the animation plays for the first time and then doesn't show up again when you continue play.

Since coding isn't my strong suit - I couldn't figure out a way to get the flashing white box to go away. Someone more knowlegable will probably look at the code and cringe and tell me where it is wrong, but the table plays beautifully for the most part and is tons of fun.

Many thanks, of course to JP both for permission to wreak my havok on his original design and also thanks for helping me create a fix for turning off the VFX anime's during multiball as the table was just too chaotic with animations firing during Multiball play. So the VFX animations play only when one ball is in play and turn off with the adding of additional balls to keep everything running smooth.

As per all my designs I create tables with the score built into the Apron. This is because my own personal VPinball table is a single screen setup.
The VPX file is prepped for people who want the DMD to be moved and incorperated with their second screen setups. I have built a secondary Apron
with no score showing. This is on by default.

If your home setup is like mine with a single screen and you want to have the score shown on the Apron - you would need to select the Apron wall asset on the Layout and switch the image asset to "plastics" (instead of "plastics2")

Then the DMD will need to be resized and moved to the proper position in the Backglass view.
There is NO Backglass included with my table. I'm including some support art images in the Media Pack should anyone here want to create wheel images or a Backglass you have my permission to use the art included in the media pack or design your own from scratch. No need to ask for my permission :)

I hope all TF fans of the original Toy and Cartoon line get a kick out of the table!
Enjoy!
Mark (wpilot)

 


Click here to download this file


MARK PAULIK
DESIGN • ILLUSTRATION • ANIMATION
shoeboxtheater.tumblr.com


#2 wiesshund

wiesshund

    VPF Legend

  • Members
  • PipPipPipPipPipPipPip
  • 11,859 posts

  • Flag: United States of America

  • Favorite Pinball: How many can i have?

Posted 26 October 2021 - 06:03 PM

Game Code – Stern Pinball

 

change your link to ROM


If you feel the need to empty your wallet in my direction, i don't have any way to receive it anyways

Spend it on Hookers and Blow


#3 Practicedummy

Practicedummy

    Multi-Level Madman

  • Platinum Supporter
  • 2,683 posts
  • Location:Indiana

  • Flag: United States of America

  • Favorite Pinball: I like multi-level pinball the most


  • Trophies:

Posted 26 October 2021 - 09:10 PM

Nice old school touch on this table! :D


I could have been smart, but I never learned anything by being smart!

 

 


#4 tmpc

tmpc

    Enthusiast

  • Members
  • PipPipPip
  • 279 posts
  • Location:New Berlin Wi.

  • Flag: United States of America

  • Favorite Pinball: fish tales

Posted 27 October 2021 - 12:54 AM

Love it, thanks.



#5 Wylte

Wylte

    Enthusiast

  • Members
  • PipPipPip
  • 305 posts
  • Location:WA

  • Flag: ---------

  • Favorite Pinball: Sys7/Sys11b/DEv3/Experimental Shenanigans

Contributor

Posted 27 October 2021 - 05:59 AM

First: "Devistator" insert should be "Devastator"

Quick impressions: the 2d effects are really cool! They're all really fun and make hitting the shots that much more satisfying. The regular lights often look blown out, though - the Optimus Prime challenge and the right ramp arch get completely obscured.

And I know this was modeled after the original table, but - the main inserts being crotch-focused just does not look good, and leaves their heads very awkwardly cramped.

 

In exchange for the criticisms, a fix for the white squares (except the explosions right now for some reason, I'll see if I can fix that in the morning):

(code updated and pasted below)


Edited by Wylte, 27 October 2021 - 05:14 PM.

Check out my projects Here!

#6 wpilot

wpilot

    Enthusiast

  • Platinum Supporter
  • 130 posts
  • Location:Michigan

  • Flag: United States of America

  • Favorite Pinball: Attack from Mars

  • PS3 Gamer Tag: NA
  • 360 Gamer Tag: NA

Posted 27 October 2021 - 01:40 PM

 

First: "Devistator" insert should be "Devastator"

Quick impressions: the 2d effects are really cool! They're all really fun and make hitting the shots that much more satisfying. The regular lights often look blown out, though - the Optimus Prime challenge and the right ramp arch get completely obscured.

And I know this was modeled after the original table, but - the main inserts being crotch-focused just does not look good, and leaves their heads very awkwardly cramped.

 

In exchange for the criticisms, a fix for the white squares (except the explosions right now for some reason, I'll see if I can fix that in the morning):

'*****************************
' Trigger VFX Anime
'*****************************
Dim HPos, HPosEnd

VFXinit
Sub VFXinit
    VFX1Sequence 0, 15
    VFX2Sequence 0, 10
    VFX3Sequence 0, 24
    VFX4Sequence 0, 24
    VFX5Sequence 0, 15
    VFX6Sequence 0, 10
    VFX7Sequence 0, 26
    VFX8Sequence 0, 12
End Sub

' LOGO *****************************

 Sub LOGOtimer_timer() 
    vfx_logo.imageA = "logo"& Hpos
    vfx_logo.imageB = "logo"& Hpos
	If Hpos < HposEnd Then
     HPos = HPos + 1
	Else
	 LOGOtimer.enabled = 0
	 vfx_logo.Visible = 0
	End If
End Sub 

Sub VFX1Sequence(FrameStart, FrameEnd)
    HPos = FrameStart         
    HPosEnd = FrameEnd
	LOGOtimer.enabled = 1
	vfx_logo.Visible = 1
End Sub

Sub vfx_trigger01_Hit()
	If UBound(GetBalls) = 4 Then
'		LOGOtimer.enabled = 1
'		vfx_logo.Visible = 1
		VFX1Sequence 0, 15
		Playsound "TF_scene"
	End If
End Sub

' OPTIMUS HIT *****************************
 Sub OPTIMUStimer_timer() 
    vfx_explosionA.imageA = "explosionA"& Hpos
	If Hpos < HposEnd Then
     HPos = HPos + 1
	Else
	 OPTIMUStimer.enabled = 0
	 vfx_explosionA.Visible = 0
	End If
End Sub 

Sub VFX2Sequence(FrameStart, FrameEnd)
    HPos = FrameStart         
    HPosEnd = FrameEnd
	OPTIMUStimer.enabled = 1
	vfx_explosionA.Visible = 1
End Sub

Sub vfx_trigger02_Hit()
	If UBound(GetBalls) = 4 Then
'		OPTIMUStimer.enabled = 1
'		vfx_explosionA.Visible = 1
		VFX2Sequence 0, 10
		Playsound "TF_laserHit01"
	End If
End Sub

' ELECTRIC A *****************************
 Sub ELECTRICAtimer_timer() 
    vfx_electricA.imageA = "electricA"& Hpos
	If Hpos < HposEnd Then
     HPos = HPos + 1
	Else
	 ELECTRICAtimer.enabled = 0
	 vfx_electricA.Visible = 0
	End If
End Sub 

Sub VFX3Sequence(FrameStart, FrameEnd)
    HPos = FrameStart         
    HPosEnd = FrameEnd
	ELECTRICAtimer.enabled = 1
	vfx_electricA.Visible = 1
End Sub

Sub vfx_trigger03_Hit()
'	ELECTRICAtimer.enabled = 1
'	vfx_electricA.Visible = 1
    VFX3Sequence 0, 24
	Playsound "TF_electricB"
End Sub

' ELECTRIC B *****************************
 Sub ELECTRICBtimer_timer() 
    vfx_electricB.imageA = "electricA"& Hpos
	If Hpos < HposEnd Then
     HPos = HPos + 1
	Else
	 ELECTRICBtimer.enabled = 0
	 vfx_electricB.Visible = 0
	End If
End Sub 

Sub VFX4Sequence(FrameStart, FrameEnd)
    HPos = FrameStart         
    HPosEnd = FrameEnd
	ELECTRICBtimer.enabled = 1
	vfx_electricB.Visible = 1
End Sub

Sub vfx_trigger03_Hit()
'	ELECTRICBtimer.enabled = 1
'	vfx_electricB.Visible = 1
    VFX4Sequence 0, 24
End Sub

' NRG FLOWER *****************************
 Sub NRGtimer_timer() 
    vfx_nrg.imageA = "energyflower"& Hpos
	If Hpos < HposEnd Then
     HPos = HPos + 1
	Else
	 NRGtimer.enabled = 0
	 vfx_nrg.Visible = 0
	End If
End Sub 

Sub VFX5Sequence(FrameStart, FrameEnd)
    HPos = FrameStart         
    HPosEnd = FrameEnd
	NRGtimer.enabled = 1
	vfx_nrg.Visible = 1
End Sub

Sub vfx_trigger05_Hit()
	If UBound(GetBalls) = 4 Then
'	NRGtimer.enabled = 1
'	vfx_nrg.Visible = 1
    VFX5Sequence 0, 15
	Playsound "TF_nrgFlower"
	End If
End Sub

' IRONHIDE HIT *****************************
 Sub IRONtimer_timer() 
    vfx_explosionB.imageA = "explosionB"& Hpos
	If Hpos < HposEnd Then
     HPos = HPos + 1
	Else
	 IRONtimer.enabled = 0
	 vfx_explosionB.Visible = 0
	End If
End Sub 

Sub VFX6Sequence(FrameStart, FrameEnd)
    HPos = FrameStart         
    HPosEnd = FrameEnd
	IRONtimer.enabled = 1
	vfx_explosionB.Visible = 1
End Sub

Sub vfx_trigger06_Hit()
	If UBound(GetBalls) = 4 Then
'	IRONtimer.enabled = 1
'	vfx_explosionB.Visible = 1
    VFX6Sequence 0, 10
	Playsound "TF_laserHit02"
	End If
End Sub

' SOUNDWAVE ENERGON ************************
 Sub ENERGONtimer_timer() 
    vfx_energon.imageA = "energon"& Hpos
	If Hpos < HposEnd Then
     HPos = HPos + 1
	Else
	 ENERGONtimer.enabled = 0
	 vfx_energon.Visible = 0
	End If
End Sub 

Sub VFX7Sequence(FrameStart, FrameEnd)
    HPos = FrameStart         
    HPosEnd = FrameEnd
	ENERGONtimer.enabled = 1
	vfx_energon.Visible = 1
End Sub

Sub vfx_trigger07_Hit()
	If UBound(GetBalls) = 4 Then
'	ENERGONtimer.enabled = 1
'	vfx_energon.Visible = 1
    VFX7Sequence 0, 26
	Playsound "TF_energon"
	End If
End Sub

' STARSCREAM HIT ************************
 Sub STARSCREAMtimer_timer() 
    vfx_explosionC.imageA = "explosionC"& Hpos
	If Hpos < HposEnd Then
     HPos = HPos + 1
	Else
	 STARSCREAMtimer.enabled = 0
	 vfx_explosionC.Visible = 0
	End If
End Sub 

Sub VFX8Sequence(FrameStart, FrameEnd)
    HPos = FrameStart         
    HPosEnd = FrameEnd
	STARSCREAMtimer.enabled = 1
	vfx_explosionC.Visible = 1
End Sub

Sub vfx_trigger08_Hit()
	If UBound(GetBalls) = 4 Then
'	STARSCREAMtimer.enabled = 1
'	vfx_explosionC.Visible = 1
    VFX8Sequence 0, 12
	Playsound "TF_laserHit02"
	End If
End Sub

Some valid thoughts. 
Optimus and Megatron are really the only ones at that "crotch" level but I even feel thats a bit of a stretch,
Those guys are "pricks" anyway :P

The rest I tried to capture the chest area - I get that you don't like how I handled the setup, but as you say I had to base this on the original table and I felt "floating heads" in the lights wasn't the approach I wanted.
I wanted to see more of the character designs which was my critiscm of the Original table. All the designs look like grey chunks of metal with no real clear form.

Thanks for the code fixes. I'll check them out. So it looks like the only change was that you switched the timer and Flasher on before the target hit.
I could of sworn I tried this and it didn't work, but I'll look at it again.


MARK PAULIK
DESIGN • ILLUSTRATION • ANIMATION
shoeboxtheater.tumblr.com


#7 Wylte

Wylte

    Enthusiast

  • Members
  • PipPipPip
  • 305 posts
  • Location:WA

  • Flag: ---------

  • Favorite Pinball: Sys7/Sys11b/DEv3/Experimental Shenanigans

Contributor

Posted 27 October 2021 - 05:13 PM

 

 

First: "Devistator" insert should be "Devastator"

Quick impressions: the 2d effects are really cool! They're all really fun and make hitting the shots that much more satisfying. The regular lights often look blown out, though - the Optimus Prime challenge and the right ramp arch get completely obscured.

And I know this was modeled after the original table, but - the main inserts being crotch-focused just does not look good, and leaves their heads very awkwardly cramped.

 

In exchange for the criticisms, a fix for the white squares (except the explosions right now for some reason, I'll see if I can fix that in the morning):

Some valid thoughts. 
Optimus and Megatron are really the only ones at that "crotch" level but I even feel thats a bit of a stretch,
Those guys are "pricks" anyway :P

The rest I tried to capture the chest area - I get that you don't like how I handled the setup, but as you say I had to base this on the original table and I felt "floating heads" in the lights wasn't the approach I wanted.
I wanted to see more of the character designs which was my critiscm of the Original table. All the designs look like grey chunks of metal with no real clear form.

Thanks for the code fixes. I'll check them out. So it looks like the only change was that you switched the timer and Flasher on before the target hit.
I could of sworn I tried this and it didn't work, but I'll look at it again.

The main change is the VFXinit sub, which just runs all of them at table startup to "clear" the white squares before the game starts.  For some reason the explosions don't care (VFX 2, 5, 8) and show a white box the first time anyway.  I'm not seeing anything different in the code or flashers that would make those 3 behave differently, sorry =/

I had commented out those duplicate timer and image calls just for cleanliness and optimization :)

 

And I don't want you to think I don't like the mod - I can have my own tastes and preferences, but it still looks good and I think it's a vast improvement over the original.

 

I went through and formatted the code a bit more as I was looking into it - fixed indents, hanging spaces, deleted those duplicate calls.  Here it is if you want it :tup:

'*****************************
' Trigger VFX Anime
'*****************************
Dim HPos, HPosEnd

VFXinit
Sub VFXinit
    VFX1Sequence 0, 15
    VFX2Sequence 0, 10
    VFX3Sequence 0, 24
    VFX4Sequence 0, 24
    VFX5Sequence 0, 15
    VFX6Sequence 0, 10
    VFX7Sequence 0, 26
    VFX8Sequence 0, 12
End Sub

' LOGO *****************************

Sub LOGOtimer_timer() 
	vfx_logo.imageA = "logo"& Hpos
	vfx_logo.imageB = "logo"& Hpos
	If Hpos < HposEnd Then
		HPos = HPos + 1
	Else
		LOGOtimer.enabled = 0
		vfx_logo.Visible = 0
	End If
End Sub 

Sub VFX1Sequence(FrameStart, FrameEnd)
	HPos = FrameStart
	HPosEnd = FrameEnd
	LOGOtimer.enabled = 1
	vfx_logo.Visible = 1
End Sub

Sub vfx_trigger01_Hit()
	If UBound(GetBalls) = 4 Then
		VFX1Sequence 0, 15
		Playsound "TF_scene"
	End If
End Sub

' OPTIMUS HIT *****************************
 Sub OPTIMUStimer_timer() 
	vfx_explosionA.imageA = "explosionA"& Hpos
	If Hpos < HposEnd Then
		HPos = HPos + 1
	Else
		OPTIMUStimer.enabled = 0
		vfx_explosionA.Visible = 0
	End If
End Sub 

Sub VFX2Sequence(FrameStart, FrameEnd)
    HPos = FrameStart
	HPosEnd = FrameEnd
	OPTIMUStimer.enabled = 1
	vfx_explosionA.Visible = 1
End Sub

Sub vfx_trigger02_Hit()
	If UBound(GetBalls) = 4 Then
		VFX2Sequence 0, 10
		Playsound "TF_laserHit01"
	End If
End Sub

' ELECTRIC A *****************************
Sub ELECTRICAtimer_timer() 
	vfx_electricA.imageA = "electricA"& Hpos
	If Hpos < HposEnd Then
		HPos = HPos + 1
	Else
		ELECTRICAtimer.enabled = 0
		vfx_electricA.Visible = 0
	End If
End Sub 

Sub VFX3Sequence(FrameStart, FrameEnd)
	HPos = FrameStart
	HPosEnd = FrameEnd
	ELECTRICAtimer.enabled = 1
	vfx_electricA.Visible = 1
End Sub

Sub vfx_trigger03_Hit()
	VFX3Sequence 0, 24
	Playsound "TF_electricB"
End Sub

' ELECTRIC B *****************************
Sub ELECTRICBtimer_timer() 
	vfx_electricB.imageA = "electricA"& Hpos
	If Hpos < HposEnd Then
		HPos = HPos + 1
	Else
		ELECTRICBtimer.enabled = 0
		vfx_electricB.Visible = 0
	End If
End Sub 

Sub VFX4Sequence(FrameStart, FrameEnd)
	HPos = FrameStart
	HPosEnd = FrameEnd
	ELECTRICBtimer.enabled = 1
	vfx_electricB.Visible = 1
End Sub

Sub vfx_trigger03_Hit()
    VFX4Sequence 0, 24
End Sub

' NRG FLOWER *****************************
Sub NRGtimer_timer() 
	vfx_nrg.imageA = "energyflower"& Hpos
	If Hpos < HposEnd Then
		HPos = HPos + 1
	Else
		NRGtimer.enabled = 0
		vfx_nrg.Visible = 0
	End If
End Sub 

Sub VFX5Sequence(FrameStart, FrameEnd)
	HPos = FrameStart
	HPosEnd = FrameEnd
	NRGtimer.enabled = 1
	vfx_nrg.Visible = 1
End Sub

Sub vfx_trigger05_Hit()
	If UBound(GetBalls) = 4 Then
		VFX5Sequence 0, 15
		Playsound "TF_nrgFlower"
	End If
End Sub

' IRONHIDE HIT *****************************
Sub IRONtimer_timer() 
	vfx_explosionB.imageA = "explosionB"& Hpos
	If Hpos < HposEnd Then
		HPos = HPos + 1
	Else
		IRONtimer.enabled = 0
		vfx_explosionB.Visible = 0
	End If
End Sub 

Sub VFX6Sequence(FrameStart, FrameEnd)
	HPos = FrameStart
	HPosEnd = FrameEnd
	IRONtimer.enabled = 1
	vfx_explosionB.Visible = 1
End Sub

Sub vfx_trigger06_Hit()
	If UBound(GetBalls) = 4 Then
		VFX6Sequence 0, 10
		Playsound "TF_laserHit02"
	End If
End Sub

' SOUNDWAVE ENERGON ************************
Sub ENERGONtimer_timer() 
	vfx_energon.imageA = "energon"& Hpos
	If Hpos < HposEnd Then
		HPos = HPos + 1
	Else
		ENERGONtimer.enabled = 0
		vfx_energon.Visible = 0
	End If
End Sub 

Sub VFX7Sequence(FrameStart, FrameEnd)
	HPos = FrameStart
	HPosEnd = FrameEnd
	ENERGONtimer.enabled = 1
	vfx_energon.Visible = 1
End Sub

Sub vfx_trigger07_Hit()
	If UBound(GetBalls) = 4 Then
		VFX7Sequence 0, 26
		Playsound "TF_energon"
	End If
End Sub

' STARSCREAM HIT ************************
Sub STARSCREAMtimer_timer() 
	vfx_explosionC.imageA = "explosionC"& Hpos
	If Hpos < HposEnd Then
		HPos = HPos + 1
	Else
		STARSCREAMtimer.enabled = 0
		vfx_explosionC.Visible = 0
	End If
End Sub 

Sub VFX8Sequence(FrameStart, FrameEnd)
	HPos = FrameStart
	HPosEnd = FrameEnd
	STARSCREAMtimer.enabled = 1
	vfx_explosionC.Visible = 1
End Sub

Sub vfx_trigger08_Hit()
	If UBound(GetBalls) = 4 Then
		VFX8Sequence 0, 12
		Playsound "TF_laserHit02"
	End If
End Sub

Check out my projects Here!

#8 mrjcrane

mrjcrane

    Pinball Fan

  • Members
  • PipPipPipPip
  • 546 posts
  • Location:Northern California

  • Flag: United States of America

  • Favorite Pinball: Monster Bash

Posted 28 October 2021 - 12:25 AM

Mark that is fantastic animation work and a very impressive display of visual effects (energy bolts, fake fire, fake smoke, light bursts and the popup logo when the ball drains out). I'm very interested in your approach and I'd like to learn a little how to do that stuff. I am working on a remaster of the VP9 Scooby Doo table (maybe ready next October) over to VPX and I'd like to use your approach to make things appear and disappear from different events in the TV show. My table coding skills are super lame still. I can read table script but can't really crank it out from scratch. My learning curve is still very steep. I do however have a very good idea in my head how I want to organize and sequence the game and have remastered most of the audio track from Spanish back to English.

 

For your visual effects, basically are you just floating some kind of transparent flat rectangle or square hovering above the playfield? then overlay and execute the transparent animation when it is triggered? What kind of tools, animation file format or sequence are you using for the animations?

 

Great way to showcase what is possible in VPX. Fantastic table and game experience. - mrjc

 

And PS I like the white flashes its ok to leave them they serve as great visual clues as to what may be happening next on the table.


Edited by mrjcrane, 28 October 2021 - 03:06 AM.


#9 TerryRed

TerryRed

    Pinball Fan

  • Silver Supporter
  • 1,955 posts

  • Flag: Canada

  • Favorite Pinball: Too many to choose...

Contributor

Posted 28 October 2021 - 04:58 PM

I'm too sick to be able to really play this right now, but great job!

 

This is totally my style of table mod, and I know many will enjoy it. The extra animated effects and sounds are nicely done.



#10 wpilot

wpilot

    Enthusiast

  • Platinum Supporter
  • 130 posts
  • Location:Michigan

  • Flag: United States of America

  • Favorite Pinball: Attack from Mars

  • PS3 Gamer Tag: NA
  • 360 Gamer Tag: NA

Posted 28 October 2021 - 11:00 PM

Mark that is fantastic animation work and a very impressive display of visual effects (energy bolts, fake fire, fake smoke, light bursts and the popup logo when the ball drains out). I'm very interested in your approach and I'd like to learn a little how to do that stuff. I am working on a remaster of the VP9 Scooby Doo table (maybe ready next October) over to VPX and I'd like to use your approach to make things appear and disappear from different events in the TV show. My table coding skills are super lame still. I can read table script but can't really crank it out from scratch. My learning curve is still very steep. I do however have a very good idea in my head how I want to organize and sequence the game and have remastered most of the audio track from Spanish back to English.
 
For your visual effects, basically are you just floating some kind of transparent flat rectangle or square hovering above the playfield? then overlay and execute the transparent animation when it is triggered? What kind of tools, animation file format or sequence are you using for the animations?
 
Great way to showcase what is possible in VPX. Fantastic table and game experience. - mrjc
 
And PS I like the white flashes its ok to leave them they serve as great visual clues as to what may be happening next on the table.


The VFX are just utilizing the Timer/Flasher techniques others have used here. This table just used triggers to activate the vfx on a ball hit.

And I'm the same as you. I can oddly look at code and get a pretty good idea of what is going on, but I can't just sit and type out code on the fly. ( Hence the probably cleaner coded version above that Wylte is offering). I learn a little bit with each one of these I work on. Maybe one day I'll get to understand how to make a table from scratch, but I tend to be super impatient when it comes to figuring out bad code. :)

MARK PAULIK
DESIGN • ILLUSTRATION • ANIMATION
shoeboxtheater.tumblr.com


#11 mrjcrane

mrjcrane

    Pinball Fan

  • Members
  • PipPipPipPip
  • 546 posts
  • Location:Northern California

  • Flag: United States of America

  • Favorite Pinball: Monster Bash

Posted 29 October 2021 - 06:17 AM

 

Mark that is fantastic animation work and a very impressive display of visual effects (energy bolts, fake fire, fake smoke, light bursts and the popup logo when the ball drains out). I'm very interested in your approach and I'd like to learn a little how to do that stuff. I am working on a remaster of the VP9 Scooby Doo table (maybe ready next October) over to VPX and I'd like to use your approach to make things appear and disappear from different events in the TV show. My table coding skills are super lame still. I can read table script but can't really crank it out from scratch. My learning curve is still very steep. I do however have a very good idea in my head how I want to organize and sequence the game and have remastered most of the audio track from Spanish back to English.
 
For your visual effects, basically are you just floating some kind of transparent flat rectangle or square hovering above the playfield? then overlay and execute the transparent animation when it is triggered? What kind of tools, animation file format or sequence are you using for the animations?
 
Great way to showcase what is possible in VPX. Fantastic table and game experience. - mrjc
 
And PS I like the white flashes its ok to leave them they serve as great visual clues as to what may be happening next on the table.


The VFX are just utilizing the Timer/Flasher techniques others have used here. This table just used triggers to activate the vfx on a ball hit.

And I'm the same as you. I can oddly look at code and get a pretty good idea of what is going on, but I can't just sit and type out code on the fly. ( Hence the probably cleaner coded version above that Wylte is offering). I learn a little bit with each one of these I work on. Maybe one day I'll get to understand how to make a table from scratch, but I tend to be super impatient when it comes to figuring out bad code. :)

 

Aok and thanks for the advice, I understand what you have described with the timers and ball hits. Thanks for the awesome table, I will keep you on my RADAR as my skills improve I have some ideas on how to leverage your graphic technique for future tables. Very cool ideas.



#12 wpilot

wpilot

    Enthusiast

  • Platinum Supporter
  • 130 posts
  • Location:Michigan

  • Flag: United States of America

  • Favorite Pinball: Attack from Mars

  • PS3 Gamer Tag: NA
  • 360 Gamer Tag: NA

Posted 30 October 2021 - 06:49 PM

First: "Devistator" insert should be "Devastator"

Quick impressions: the 2d effects are really cool! They're all really fun and make hitting the shots that much more satisfying. The regular lights often look blown out, though - the Optimus Prime challenge and the right ramp arch get completely obscured.

And I know this was modeled after the original table, but - the main inserts being crotch-focused just does not look good, and leaves their heads very awkwardly cramped.
 
In exchange for the criticisms, a fix for the white squares (except the explosions right now for some reason, I'll see if I can fix that in the morning):

Some valid thoughts. 
Optimus and Megatron are really the only ones at that "crotch" level but I even feel thats a bit of a stretch,
Those guys are "pricks" anyway :P

The rest I tried to capture the chest area - I get that you don't like how I handled the setup, but as you say I had to base this on the original table and I felt "floating heads" in the lights wasn't the approach I wanted.
I wanted to see more of the character designs which was my critiscm of the Original table. All the designs look like grey chunks of metal with no real clear form.

Thanks for the code fixes. I'll check them out. So it looks like the only change was that you switched the timer and Flasher on before the target hit.
I could of sworn I tried this and it didn't work, but I'll look at it again.
The main change is the VFXinit sub, which just runs all of them at table startup to "clear" the white squares before the game starts.  For some reason the explosions don't care (VFX 2, 5, 8) and show a white box the first time anyway.  I'm not seeing anything different in the code or flashers that would make those 3 behave differently, sorry =/
I had commented out those duplicate timer and image calls just for cleanliness and optimization :)
 
And I don't want you to think I don't like the mod - I can have my own tastes and preferences, but it still looks good and I think it's a vast improvement over the original.
 
I went through and formatted the code a bit more as I was looking into it - fixed indents, hanging spaces, deleted those duplicate calls.  Here it is if you want it :tup:
'*****************************
' Trigger VFX Anime
'*****************************
Dim HPos, HPosEnd

VFXinit
Sub VFXinit
    VFX1Sequence 0, 15
    VFX2Sequence 0, 10
    VFX3Sequence 0, 24
    VFX4Sequence 0, 24
    VFX5Sequence 0, 15
    VFX6Sequence 0, 10
    VFX7Sequence 0, 26
    VFX8Sequence 0, 12
End Sub

' LOGO *****************************

Sub LOGOtimer_timer() 
	vfx_logo.imageA = "logo"& Hpos
	vfx_logo.imageB = "logo"& Hpos
	If Hpos < HposEnd Then
		HPos = HPos + 1
	Else
		LOGOtimer.enabled = 0
		vfx_logo.Visible = 0
	End If
End Sub 

Sub VFX1Sequence(FrameStart, FrameEnd)
	HPos = FrameStart
	HPosEnd = FrameEnd
	LOGOtimer.enabled = 1
	vfx_logo.Visible = 1
End Sub

Sub vfx_trigger01_Hit()
	If UBound(GetBalls) = 4 Then
		VFX1Sequence 0, 15
		Playsound "TF_scene"
	End If
End Sub

' OPTIMUS HIT *****************************
 Sub OPTIMUStimer_timer() 
	vfx_explosionA.imageA = "explosionA"& Hpos
	If Hpos < HposEnd Then
		HPos = HPos + 1
	Else
		OPTIMUStimer.enabled = 0
		vfx_explosionA.Visible = 0
	End If
End Sub 

Sub VFX2Sequence(FrameStart, FrameEnd)
    HPos = FrameStart
	HPosEnd = FrameEnd
	OPTIMUStimer.enabled = 1
	vfx_explosionA.Visible = 1
End Sub

Sub vfx_trigger02_Hit()
	If UBound(GetBalls) = 4 Then
		VFX2Sequence 0, 10
		Playsound "TF_laserHit01"
	End If
End Sub

' ELECTRIC A *****************************
Sub ELECTRICAtimer_timer() 
	vfx_electricA.imageA = "electricA"& Hpos
	If Hpos < HposEnd Then
		HPos = HPos + 1
	Else
		ELECTRICAtimer.enabled = 0
		vfx_electricA.Visible = 0
	End If
End Sub 

Sub VFX3Sequence(FrameStart, FrameEnd)
	HPos = FrameStart
	HPosEnd = FrameEnd
	ELECTRICAtimer.enabled = 1
	vfx_electricA.Visible = 1
End Sub

Sub vfx_trigger03_Hit()
	VFX3Sequence 0, 24
	Playsound "TF_electricB"
End Sub

' ELECTRIC B *****************************
Sub ELECTRICBtimer_timer() 
	vfx_electricB.imageA = "electricA"& Hpos
	If Hpos < HposEnd Then
		HPos = HPos + 1
	Else
		ELECTRICBtimer.enabled = 0
		vfx_electricB.Visible = 0
	End If
End Sub 

Sub VFX4Sequence(FrameStart, FrameEnd)
	HPos = FrameStart
	HPosEnd = FrameEnd
	ELECTRICBtimer.enabled = 1
	vfx_electricB.Visible = 1
End Sub

Sub vfx_trigger03_Hit()
    VFX4Sequence 0, 24
End Sub

' NRG FLOWER *****************************
Sub NRGtimer_timer() 
	vfx_nrg.imageA = "energyflower"& Hpos
	If Hpos < HposEnd Then
		HPos = HPos + 1
	Else
		NRGtimer.enabled = 0
		vfx_nrg.Visible = 0
	End If
End Sub 

Sub VFX5Sequence(FrameStart, FrameEnd)
	HPos = FrameStart
	HPosEnd = FrameEnd
	NRGtimer.enabled = 1
	vfx_nrg.Visible = 1
End Sub

Sub vfx_trigger05_Hit()
	If UBound(GetBalls) = 4 Then
		VFX5Sequence 0, 15
		Playsound "TF_nrgFlower"
	End If
End Sub

' IRONHIDE HIT *****************************
Sub IRONtimer_timer() 
	vfx_explosionB.imageA = "explosionB"& Hpos
	If Hpos < HposEnd Then
		HPos = HPos + 1
	Else
		IRONtimer.enabled = 0
		vfx_explosionB.Visible = 0
	End If
End Sub 

Sub VFX6Sequence(FrameStart, FrameEnd)
	HPos = FrameStart
	HPosEnd = FrameEnd
	IRONtimer.enabled = 1
	vfx_explosionB.Visible = 1
End Sub

Sub vfx_trigger06_Hit()
	If UBound(GetBalls) = 4 Then
		VFX6Sequence 0, 10
		Playsound "TF_laserHit02"
	End If
End Sub

' SOUNDWAVE ENERGON ************************
Sub ENERGONtimer_timer() 
	vfx_energon.imageA = "energon"& Hpos
	If Hpos < HposEnd Then
		HPos = HPos + 1
	Else
		ENERGONtimer.enabled = 0
		vfx_energon.Visible = 0
	End If
End Sub 

Sub VFX7Sequence(FrameStart, FrameEnd)
	HPos = FrameStart
	HPosEnd = FrameEnd
	ENERGONtimer.enabled = 1
	vfx_energon.Visible = 1
End Sub

Sub vfx_trigger07_Hit()
	If UBound(GetBalls) = 4 Then
		VFX7Sequence 0, 26
		Playsound "TF_energon"
	End If
End Sub

' STARSCREAM HIT ************************
Sub STARSCREAMtimer_timer() 
	vfx_explosionC.imageA = "explosionC"& Hpos
	If Hpos < HposEnd Then
		HPos = HPos + 1
	Else
		STARSCREAMtimer.enabled = 0
		vfx_explosionC.Visible = 0
	End If
End Sub 

Sub VFX8Sequence(FrameStart, FrameEnd)
	HPos = FrameStart
	HPosEnd = FrameEnd
	STARSCREAMtimer.enabled = 1
	vfx_explosionC.Visible = 1
End Sub

Sub vfx_trigger08_Hit()
	If UBound(GetBalls) = 4 Then
		VFX8Sequence 0, 12
		Playsound "TF_laserHit02"
	End If
End Sub

So stranger still: I implemented your code changes (thank you for those)
And yeah I saw the same white box flashing on the explosionsA,B,C.

I tried to troubleshoot why, with various stabs in the dark to no avail.
Then tried one last stupid attempt by just running a second Initiate of VFX sequence 2 at the end of your VFXinit sequence and for some reason THAT seems to clear out all explosions showing white boxes. I have no ideas why.

Insane. I have fixes also for the spelling of Devastator and toned back the "hotness" of the lights. I'll upload version 1.2 for submission soon.

MARK PAULIK
DESIGN • ILLUSTRATION • ANIMATION
shoeboxtheater.tumblr.com


#13 mrjcrane

mrjcrane

    Pinball Fan

  • Members
  • PipPipPipPip
  • 546 posts
  • Location:Northern California

  • Flag: United States of America

  • Favorite Pinball: Monster Bash

Posted 31 October 2021 - 10:11 PM

Howdy again Pilot, studying your images for the VFX animations, your images sequences range from about 10-36 frames. Did you make any kind of effort to standardize the amount of frames per animation OR did you just do as many as needed to make things look right?



#14 wpilot

wpilot

    Enthusiast

  • Platinum Supporter
  • 130 posts
  • Location:Michigan

  • Flag: United States of America

  • Favorite Pinball: Attack from Mars

  • PS3 Gamer Tag: NA
  • 360 Gamer Tag: NA

Posted 01 November 2021 - 01:31 PM

Howdy again Pilot, studying your images for the VFX animations, your images sequences range from about 10-36 frames. Did you make any kind of effort to standardize the amount of frames per animation OR did you just do as many as needed to make things look right?

No standardization per se, but I did try to keep frame count low as having too many seems taxing on VPX.


MARK PAULIK
DESIGN • ILLUSTRATION • ANIMATION
shoeboxtheater.tumblr.com


#15 mrjcrane

mrjcrane

    Pinball Fan

  • Members
  • PipPipPipPip
  • 546 posts
  • Location:Northern California

  • Flag: United States of America

  • Favorite Pinball: Monster Bash

Posted 02 November 2021 - 12:55 AM

 

Howdy again Pilot, studying your images for the VFX animations, your images sequences range from about 10-36 frames. Did you make any kind of effort to standardize the amount of frames per animation OR did you just do as many as needed to make things look right?

No standardization per se, but I did try to keep frame count low as having too many seems taxing on VPX.

 

Yep good thinking, keep it simple where possible; lower processing overhead that way. Thanks !







Also tagged with one or more of these keywords: original, tournament, unnreal