#Hammerwatch

112 messages · Page 1 of 1 (latest)

dapper cradle
#

Yes, the next one already 😛

Hammerwatch is a 2013 hack-and-slash action-adventure game by Crackshell. Set in a pixel art fantasy world, players choose from six unique classes and battle through Castle Hammerwatch, facing hordes of enemies, traps, and puzzles.

Port Download Link: https://drive.google.com/file/d/1m4wOBlb8rBUYvjv05-Xq80zkwD6VE-bB/view?usp=sharing

Installation:

  • Purchase Hammerwatch on Steam (It's on sale for 1.99$ right now)
    https://store.steampowered.com/app/239070/Hammerwatch/
  • Open the steam console by pasting this into your web browser and hitting Enter: steam://open/console
  • Paste the following text into the console to download the 1.3 game files download_depot 239070 239071 6038447391393479561
  • The game files will be downloaded to content\app_239070\depot_239071 in your Steam library
  • Copy the game files into hammerwatch/gamefiles/ in your ports folder
  • Install the Westonpack 0.2 and Mono 6.12.0.112 runtimes on the Portmaster App

** Warning: This takes a while to load, like 40 seconds, depending on your device. Be patient. **

Tests

[X] ArkOS
[X] AmberELEC
[X] muOS
[X] Knulli
[] Rocknix (Mali)
[X] Rocknix (Panfrost)

[X] 640x480
[X] 480x320
[X] 720x720
[X] Higher

(Rocknix mali is not supported at this time because of runtime restrictions, but will probably be in the future.)

Controls

dpad, analog sticks - movement
a - attack
b, y, x - Abilities
l1 - strafe
l2 - hold
r1 - autofire
r2 - potion
start - pause menu
select - map

Thanks

Special thanks to @tough granite for helping me with this port, especially letting me know that versions 1.3 and earlier do not need FMOD.

short gyro
#

where should I got the runtime files

dapper cradle
vapid kite
#

<@&1216123318122577972>

slim thicket
#

it doesnt seem to run on 480x320, so that needs to be excluded

strong flare
#

Tried it on x55, RockNix running Panfrost. Did not work. Also tried via ssh and got this:

#

ES Dev Mapper

retrogame_joypad :: 03009b4d4b4800000111000000010000
OpenGL version string: 3.1 Mesa 24.3.3
[GPTK]: Running in UINPUT output mode.

Unhandled Exception:
System.Exception: Could not initialize SDL! wayland not available
at ARPGGame.ARPGGame..ctor (System.Xml.Linq.XElement options, System.Int32 w, System.Int32 h, System.Boolean fullscreen, ARPGGame.StartParameters sp) [0x00048] in <b02bb8eca8404dd9ae49de5e3e1b61ed>:0
at ARPGGame.Program.Main (System.String[] args) [0x00422] in <b02bb8eca8404dd9ae49de5e3e1b61ed>:0

Unhandled Exception:
System.InvalidOperationException: No instance running
at TiltedEngine.Audio.OggStreamer.get_Instance () [0x00017] in <e8696d86a1694782b96784db42ab6394>:0
at TiltedEngine.Audio.SoundEngine.Shutdown () [0x00000] in <e8696d86a1694782b96784db42ab6394>:0
at ARPGGame.Program.Main (System.String[] args) [0x00426] in <b02bb8eca8404dd9ae49de5e3e1b61ed>:0
[ERROR] FATAL UNHANDLED EXCEPTION: System.InvalidOperationException: No instance running
at TiltedEngine.Audio.OggStreamer.get_Instance () [0x00017] in <e8696d86a1694782b96784db42ab6394>:0
at TiltedEngine.Audio.SoundEngine.Shutdown () [0x00000] in <e8696d86a1694782b96784db42ab6394>:0
at ARPGGame.Program.Main (System.String[] args) [0x00426] in <b02bb8eca8404dd9ae49de5e3e1b61ed>:0
RK3566-X55:~ # [GPTK]: Running in Fake Keyboard mode
[GPTK]: Using ConfigFile /roms/ports/hammerwatch/hammerwatch.gptk
[GPTK]: Joystick 0 has game controller name 'retrogame_joypad'

#

Also here's my log file

slim thicket
#

yep the same.
I hope it can get sorted as I was playing it for about an hour on RGB10X, it can get quite choppy at further floors on 3326, but still playable. Also game can slow down to almost freeze if I pause it and keep it way too long there, not sure why. Doesnt really happen if I just play the game

dapper cradle
dapper cradle
dapper cradle
slim thicket
dapper cradle
dapper cradle
# slim thicket

Hmmm, the game gets a nullptr back from SDL_CreateWindow. I'll have to investigate. Thanks.

slim thicket
#

OGA has some sort of sdl quirks due to its age, maybe its caused by that

#

it worked on newer arkos device

dapper cradle
#

Though I gotta say, even if we get this working, the game is gonna look awful. Right in the middle of native res and 2x scaling.

dapper cradle
#

I'm not entirely sure what's going on here. Crusty debug mode would probably give me a clue. Could you please try editing the script and inserting crustydebug=_debug into the westonwrap.sh line, right here and then send the log?

$ESUDO env crustydebug=_debug $weston_dir/westonwrap.sh .....

slim thicket
dapper cradle
# slim thicket

Thank you!

Here's the problem: Westonwrap sets up several environment variables so crusty can find the actual system libraries for EGL, DRM, GBM, and SDL, even when LD_LIBRARY_PATH overwrites them (which I do so crusty can pretend to be those libs).

What ever version of SDL that is, prints some debug output to the console when my findlib program links against the SDL to get its path.

That makes the CRUSTY_LIBSDL environment variable this:

CRUSTY_LIBSDL=Rga built version:version:+2017-09-28 10:12:42 
/lib/aarch64-linux-gnu/libSDL2.so

facepalm

slim thicket
#

huh I should probably play with ports sdl settings in arkos

#

though that will probably not help

dapper cradle
#

Yeah so this probably requires me to update the runtime :/

slim thicket
#

I doubt this affects many devices

dapper cradle
#

I think i can make it work though for the next westonpack update. Technically my findlib doesn't need to link against the libraries, it just needs to open the file. That would fix this.

#

If you want to confirm that this is the only issue, you can add this CRUSTY_LIBSDL=/lib/aarch64-linux-gnu/libSDL2.so to the westonwrap command line.

#

westonwrap will only set this variable if it hasn't been set by the port script

slim thicket
#

yep it works

#

oh nice, it actually scales to native 480x320

dapper cradle
#

Yeah, i was really surprised it can do that!

Awesome, I know what I'll have to fix on the runtime then

#

Thank you for debugging this!

slim thicket
#

thanks you for making all of this 😄

dapper cradle
strong flare
#

Tried again on the x55, Panfrost. Working just fine. I'm going to continue playing to see if there's anything to report, but it's working good. 😄

heavy umbra
#

No way! I love the Hammerwatch series. Runs great so far on Muos 640x480 but was already tested. Thanks for porting this game BinaryCounter.

dapper cradle
heavy umbra
#

Ahw! Hopefully it will be on sale soon! BirdWow

orchid sentinel
#

Hammerwatch 2 is on sale at nuuvem if you're interested (not heroes)

dapper cradle
orchid sentinel
#

ahh bummer

heavy umbra
#

Ye skip 2 heroes is better

minor mountain
remote stratus
tough granite
#

Knulli may work at some point, i wouldn't get your hopes up for Crossmix😄

remote stratus
#

@tough granite Knulli is not functioning yet ☹️ , I am waiting for the issues to be fixed.

tough granite
#

Knulli works great on the tsp

#

been using it for 3 2/3 months now for ports

#

Crossmix is still nice for retroarch

slim thicket
#

How is sleep on knulli/tsp? Is it still good?

tough granite
#

Its not as good as crossmix but still pretty good

#

Like 1-2 percent per hour or something

#

Crossmix is unbeatable though, 10 percent per week :p

vapid kite
remote stratus
strong flare
#

Just a follow up. Got up to lvl3. So far, amazing performance. Thanks again for the port. I'm having a blast. 😄

orchid sentinel
#

check 720x720 off the list. it actually renders fullscreen on that device. not stretched 😄

dapper cradle
orchid sentinel
#

sorry, I use muos

obsidian hearth
#

Its working great on my knulli device, just for Information. I tested it

#

Im using the rg cube xx and the scaling is perfect 720x720

dapper cradle
slim thicket
#

It works on Amberelec, I played until level 3 on that, after that I switched to 35xxsp / muos for better peformance

dapper cradle
# slim thicket It works on Amberelec, I played until level 3 on that, after that I switched to ...

Yeah the first floor plays much better than the second floor for some reason. It's single thread CPU bound, so I suspect it's just because there are so many enemies running their line of sight checks every frame

Don't know if this applies to Hammerwatch, but I got much better performance on super hexagon on muOS after switching the CPU from ondemand to performance. Fromn 45fps to almost always 60.

slim thicket
#

I pretty much always turn on performance governor whenever I can on ports, battery life be damned 😄

#

some of the bullet heavy bosses still drops, but its never too bad

strong flare
#

Follow up. I'm on lvl 6. All good, working like a champ on the x55 pan frost

dapper cradle
minor mountain
#

Don't know about the rest of you, but this game makes my thumb ACHE. you gotta press the A button so much tonget everything killed. My god...

#

Also, what class are you all using? I'm starting to think that warp to floor3 is not such a good idea and I should instead play through all of it

dapper cradle
dapper cradle
minor mountain
minor mountain
fierce idol
#

RG35xxh/MuOS
Floor 10 becomes almost unplayable at the beginning. I noticed that the more red turrets are active, the slower the game becomes. At some point, it's possible to deactivate some of them, which brings the game's performance back to normal.🥲

wet flint
#

looking at those flames and smoke effects.....

slim thicket
#

yikes, im on level 9 atm, so I guess I have some to look forward 😄

queen bridge
#

Is this game RAM-intensive, that could be heavy for 1GB older devices?

slim thicket
#

at level nine it sits just under 700MB on muos, so thats plenty of space even for other systems

fierce idol
#

I noticed that even without looking, even outside the field of vision, they cause the slowdown
thought it could be the map size or the number of enemies, but I noticed it improved after I pressed the switches in the game to turn off the turrets.

dapper cradle
#

Someone with a lot of time and skill with patching mono games could probably optimize performance, but it would require some pretty big changes to the enemy code i think.

storm saffron
#

Not sure if I'm being dense sorry, but no button/combination of buttons I press on this screen seem to start the game. I'm on an RG35XXH using Knulli Firefly.
Game files downloaded as instructed from Steam console.

minor mountain
storm saffron
#

Yes, can enter them and alter them and navigate through them. In some fields where typing is required I can double tap select and goes back a screen. In one of the others it gets completely stuck and requires a reboot.

minor mountain
#

Go to paladin and press a and tell me if it switches between classes

storm saffron
#

It does yes.

minor mountain
#

OOk, then when you're highlighting castle hammerwatch press a then it shoukd start your run

storm saffron
#

Sadly not. Same with Temple of the sun. Acts as if nothing was pressed.

dapper cradle
#

Someone else reported this the other day, i was unable to recreate it, even on the same device and OS.
Hmm, could you share your log file please?

#

/log

somber tangleBOT
# dapper cradle /log

Every port has a log.txt generated in ports/{portfolder}, please drag and drop it to discord for help.

storm saffron
dapper cradle
# storm saffron

Hmm, this log file looks like it was from a session where the game wasn't fully loaded. Did you go into the menu and try hitting the button in that session?

#

Oh also, when you go into the control settings, does it show controller or keyboard for player one. And is player 2 set to none?

storm saffron
#

Yeah as you asked for the log I rebooted and went through the single player options and then quit out. Sorry if that wasn't the right thing to do.

#

Keyboard as player one and none as the rest. I tried changing to controller earlier and it has the same effect.

dapper cradle
#

That's super weird. One thing you can try to do is add
select = enter
to the hammerwatch.gptk file.
Then you can see if your version of the game for some reason expects enter for this one button.

#

I'm sorry i can't really help you here, I'm unable to reproduce this on any of my devices and the log has no useful information...

storm saffron
#

No worries. Thank you for your advice. I'll give it a go now and report back.

#

No joy sadly but please see this picture that looks a bit suspicious. "Missing" in the top right. I haven't played this version on my PC so not sure if that's supposed to be like that.

Also, just in case, the 2 fields that get you locked into them and require a reset are:
Options > Game > Username
And
Multi > Host > Top field to name your game

dapper cradle
#

That looks to me that you might have not installed the game correctly.
Could you show me the contents of your gamefiles folder?

storm saffron
#

This is all that downloaded from Steam Console, minus 2 folders that I believe I wasn't meant to transfer.

dapper cradle
storm saffron
#

I feel so foolish haha. In my defence it does say on the instructions not to transfer the folders, at least that's how I've mis-understood it!

"Place the gamefiles within this folder (without any surrounding folders) into hammerwatch/gamefiles/"

I'll put them in now and hopefully it's all good then 😅

dapper cradle
#

Keyword is "surrounding" here 😛 Sorry for the confusion

storm saffron
#

No worries. Working fine now my dude. Much appreciated. Let's forget this ever happened. Enjoy the rest of your day DonkeyThumbsUp