Jump to content



Photo

Yoku's Island Express


  • Please log in to reply
5 replies to this topic

#1 bha19

bha19

    Pinball Fan

  • Platinum Supporter
  • 1,209 posts
  • Location:South Jersey

  • Flag: United States of America

  • Favorite Pinball: Theatre Of Magic

Posted 27 December 2018 - 08:38 PM

This game is on Steam and is part adventure and part pinball. check it out on the Steam page. In the game you roll a ball on an adventure but some of the time you need pinball flippers to help you through the levels.



#2 Sir Cheddar

Sir Cheddar

    His Sharpness

  • VIP
  • 383 posts

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

  • Favorite Pinball: Tales of the Arabian Nights



Posted 28 December 2018 - 02:08 AM

Nice little game, it might be feasible to run it on a cabinet if you have an 4k playfield screen. I didn't upgrade my cabinet to 4k yet, so everything here is untested.

My normal PC has an 4k screen, so tried to run it in portrait there.

 

The game was designed for landscape of course, if started in portrait mode it runs without issues in extreme letterboxed mode. Most of the screen is black with the image centered in the middle. Well, I think it looks ok, I guess it's better then nothing.

 

What's interesting is that the game can be played with a small amount of keys, so an controller shouldn't be necessary. A mouse isn't needed either.

There doesn't seem to be an option to configure keyboard bindings - but Autohotkey should do the job.

 

The game uses the following keys:

Arrow l/r - walking left/right

shift l/r - flipper left/right

m - map

i - inventory

enter - use button/swimming

esc - menus

 

The arrow buttons are also used for menu, inventory and map navigation.

 

So...

 

Arrow l/r on flipper buttons for walking

Shift l/r and arrow u/d on magnasave buttons for in-game flippers and menu navigation

Enter on launch or start button

i and m on EB or coin or whatever is available.

ESC on exit button

 

With this configuration it should be possible to play through the whole game without any controller or keyboard. Integrating it into PBX or Pinball Popper should be easy, there is also an ui_show_boot_logos option in the config file.



#3 toxie

toxie

    VPF Veteran

  • VP Dev Team
  • PipPipPipPipPipPip
  • 5,660 posts
  • Location:berlin, germany

  • Flag: Germany

  • Favorite Pinball: AFM

Posted 28 December 2018 - 08:02 PM

Also available on Switch, btw, and i think on sale even.. I'm not 100% convinced of it though, but it's definetly not bad..



#4 bha19

bha19

    Pinball Fan

  • Platinum Supporter
  • 1,209 posts
  • Location:South Jersey

  • Flag: United States of America

  • Favorite Pinball: Theatre Of Magic

Posted 29 December 2018 - 11:04 AM

1/2 off in Steam winter sale



#5 nightshadowon

nightshadowon

    Neophyte

  • Members
  • Pip
  • 1 posts

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

  • Favorite Pinball: Addam's Family

Posted 03 September 2021 - 04:25 AM

Sorry to necro this post, but... it is currently free through Epic Games from Sept 1 to Sept 9, 2021.



#6 SixOfTwelve

SixOfTwelve

    Enthusiast

  • Members
  • PipPipPip
  • 73 posts
  • Location:Germany

  • Flag: Germany

  • Favorite Pinball: Varies every few weeks, really

Posted 16 June 2022 - 09:30 AM

Necroing once more to let you know I've just written a tutorial on how to run the game on your cab over at the PinballX forums.

Maybe it'll be useful to someone, so I'll copy it here.

 

  Your mileage may vary, of course, but I'll explain the scripts I use as best I can. You also have to edit the game's config file, but it's a simple text file, so no problems there.

 

 

Part 1: THE KEYS

 

Required keys:

- Flippers (obviously)
- Walking left and right
- Enter (Interact)
- Space (Inventory)
- Tab (Map)
- Escape (Go to Menu)

I've used an AutoHotKey script to remap the keys on my cab as follows:

- Flippers remain Left Shift and Right Shift.
- Walking is mapped to the Magnasave buttons, Left Control and Right Control
- Enter remains mapped to the Launch Ball button, but I've also mapped it to all the other game buttons I have on my lockbar, namely F, H and J.
- Escape is mapped to my Start button (1). The start button brings up the pause menu in most console games, so why not here too :-)
- The Exit button kills the game process and the key mapping script.
- Inventory and Map are mapped to my Coin (5) and "Change View" (i) respectively. If you don't have a "Change View" button, you could try mapping it to a buy-in button if you have one.

 

Note that I also have a joystick on my cab, which can be useful for up and down movement in the pause menu and when selecting your game slot in the beginning. If you don't have up and down movement, you should still be able to play, but you can only select slot 1 at start.

Here is the script I use:

 

(Copy and save as keys_yoku.ahk)

#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
; #Warn  ; Enable warnings to assist with detecting common errors.
SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.

~LControl::Left

~RControl::Right

$1::Esc

$Esc::
{
Process, Close, Yoku.exe
}
Return

~f::Enter

~h::Enter

~j::Enter

~5::Tab

i::Space

Part 2: THE CONFIG FILE

You should find the game's config file, config.csv, in C:\Users\[YOUR USERNAME]\AppData\Roaming\Villa Gorilla\Yoku's Island Express . Simply open it with Notepad or a similar text editor.
 

saveslot;0
language;
video_mode;windowed
video_resolution;0,0
video_exclusive_fullscreen_resolution;0,0
video_hud_enabled;1
video_trilinear_filtering_enabled;1
video_colorgrading_enabled;1
video_bloom;0
video_vingette_enabled;1
video_grass_enabled;1
video_grass_physics_enabled;1
video_shrubbery;1
video_caustics_enabled;1
video_extrude_enabled;1
video_maximum_frame_latency;1
video_texture_quality;0
video_vsync;1
video_gpu_skinning;0
volume_sfx;10
volume_music;10
volume_rumble;10
ui_platformicons;-1
ui_show_options;0
ui_show_quit_to_desktop;0
ui_show_boot_logos;0
demo_attract_mode;0
demo_demo_timer;0
demo_idle_timer;0
timer_enabled;0

The important changes are:

video_mode needs to be set to windowed
ui_show_options needs to be set to 0: This will stop players fiddling with your windowed/fullscreen/settings.
ui_show_quit_to_desktop can be set to 0 but doesn't have to. Since the Exit button quits the game, showing a quit option in the menu is not really needed.
ui_show_boot_logos set to 0 speeds up the start, the Team17 and Villa Gorilla Intro videos are skipped and the game starts right away.

 

Part 3: GETTING THE GAME ON THE BACKGLASS

 

Here is where more AutoHotKey scripting comes in.
I'll paste the script with annotations explaining what everything does.

(Copy and save as run_yoku.ahk):

#NoEnv Recommended for performance and compatibility with future AutoHotkey releases.
; #Warn Enable warnings to assist with detecting common errors.
; SendMode Input Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir% Ensures a consistent starting directory.


#SingleInstance force

; Stop user input from being registered until the script has done everything it needs to do

BlockInput, on

; Run the game. You need to change this line to fit your directory.

Run, C:\games\YokusIslandExpress\Yoku.exe

; Cover the playfield monitor in black

Gui, Color, black
Gui +AlwaysOnTop
Gui -Caption
Gui, Show, x0 y0 w%A_ScreenWidth% h%A_ScreenHeight%

; Wait a bit, then set the game window as active

Sleep, 500
WinActivate, Yoku's Island Express
Sleep, 500

; Wait a bit more to make sure everything is active so far (you may have to change the 3000 value depending on how fast your machine is), then run two important scripts

Sleep, 3000

; Run a script that will monitor the game process and will kill all necessary programs if the game is no longer running

run, ifitexists_yoku.exe

; Run the key remapping script

run, keys_yoku.exe

; Just some precautions that helped me in the past on other Windows games...
; These may not even be needed here, but this should remove any Windows-style frames around the window.
; You can probably delete these lines now that I think about it, since the game is set to windowed fullscreen.

WinSet, AlwaysOnTop, ON, A
WinGet, id1, ID, A
WinSet, Style, -0xC00000, ahk_id %id1%

; Move the game window to the Backglass monitor.
; This assumes that your Backglass is monitor 2 and your Playfield is monitor 1.
; Change the 1920 value to whatever the width of your Playfield monitor is. My resolution happens to be 1920x1080.

Sleep, 100
WinMove, Yoku's Island Express, , 1920, 0


; Maximize the game window, resizing it to the width of your Backglass monitor.
; I need this step because my Backglass has a resolution of 1600x1200.
; If I moved the game window without resizing, it would bleed over onto my 3rd screen,
; since the game window would still be at a width of 1920.

Sleep, 100
WinMaximize, Yoku's Island Express


; Again, not sure if this is still needed.
; In some other Windows games, a command input window would pop open in the background, and this will hide it.
Sleep, 1000
WinHide, C:\Windows\System32\cmd.exe

; Finally, re-enable user input.

BlockInput, off

Part 4: THE "IF IT EXISTS" SCRIPT

 

As you can see above, the start script not only runs a key remapping script, but also another script to see if the game is still running.

This script monitors the yoku.exe process. While it's running, the script will take no action.
If yoku.exe is no longer running, the script will kill the start script and the key mapping script, and also remove the black GUI that was put over the playfield.

 

(Copy and save as ifitexists_yoku.ahk):

#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
; #Warn  ; Enable warnings to assist with detecting common errors.
SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.

ProcessName = Yoku.exe

loop {
	Process, Exist, %ProcessName% ; check to see if it is running
	If (ErrorLevel = 0) ; If it is not running
	   {
		Gui, Destroy
		Process, close, keys_yoku.exe
		Process, close, run_yoku.exe
		ExitApp
	   }
	Else ; If it is running, do nothing.
	   {
	   }
}

Part 5: THAT'S IT

 

So here you are. I know some parts of the scripts may be clunky and/or redundant (which is partly a result of me recycling some of my scripts for other games and partly a result of me not being a programmer), but they work for me. Have fun and let me know if it worked for you!