Posts RSS Comments RSS Del.icio.us Digg Technorati Blinklist Furl reddit 95 Posts and 7 Comments till now
This wordpress theme is downloaded from wordpress themes website.

Archive for the 'HeroQuest' Category

User Interface (UMG) updates

Revamped the the HUD buttons

image

image

UMG and Input Updates

New desktop (Threadripper 3990X) is setup and working great for Unreal Engine.

I noticed UMG keyboard input had some kludge behavior such as losing focus, so I migrated from using Key On Down helper to using Action Mappings for more of this.  Though it’s still using conditionals (switch) in blueprints to manage submenus.

There’s still some stuff in turn menu bp’s on key down – quest message, item use popup, VR controller, gamepad.  Probably I will migrate that next…

I’m surprised how much code I ended up doing for for input and UMG.  Such as branching submenus.  We want to use something from a tutorial or marketplace in terms of options menus and input remapping to expand this and reduce the amount of input and UMG code.

image

image

HeroQuest UE4 status and what’s next

Our current plans for HeroQuest UE4 are:
1) finish importing all assets and verify each heroscribe map loads as expected
2) complete the game enough that user can play through book 00 from quest 1 to 14

The next step after that would be:
3) complete support for quest books 01-07
4) polish the game with music, sound effects, maybe transition from board game art to something more like Gloomhaven on Steam

Given the effort and complexity to implement 3 & 4, our tentative plan is to just focus on 1 & 2.  But TBD.

If someone out there reads this and wants to contribute…  Maybe a hardcore game developer that’s a HeroQuest fan.  Or someone who wants to get some UE4 experience (even newbies welcome).  Let me know, and I’ll be glad to share the code and advise (or mentor) on contributions.  Click the contact me link.

Or contact me if you want to start a different UE4 project – that’s probably my next side project after HeroQuest.

HeroQuest lua scripting and assets

Recent changes include:
* Lua scripting from Spiffy
* Spiffy is working on importing expansion assets (and we’ve both done some related reorganizing of asset files)

After we complete importing assets, next on our list is:
* connect the assets via C++ to open each heroscribe map (for monsters this means with basic stats)

imageimageimage

HeroQuest 30th anniversary reprint

Hasbro is releasing what appears to be a reprint of the standard game with basic expansions (Kellar’s Keep, Return of the Witch Lord).  From the description, it appears to be a reprint except that they removed Games Workshop IP – renaming Chaos to Dread (Dread Warriors, Dread Spells).  Replacing Fimir with Abomination.  I’m curious whether there are any other differences such as rules clarifications or balance tweaks – though at this point I’ll assume not until we hear otherwise.

The funding started this morning and it’s already at $857,000 out of the target $1,000,000.  That’s 5733 to 8600 copies pre-ordered in ~12 hours.  So I think it shows there is real interest in HeroQuest.

image

https://hasbropulse.com/products/heroquest-game-system

HeroQuest updates

It’s been almost 3 months since my last update.  We haven’t made huge progress but still chipping away at it:
* update to latest LuaMachine
* incremental UMG tweaks (lots of them) for new UI
* fix bug: monster line of sight was spawning other monsters
* more Lua from Spiffy
* add to inventory gold – Lua support
* wandering monster – find closest spawn square with path to hero

Meanwhile, I’m working from home for lockdown, and Spiffy is continuing to contribute while he takes classes.

Here’s a screen shot spawning the wandering monster Orc – which searches for the closest path from an open square to a hero:

image

UI redesign and more

With lockdown (and some recent vacation), we’ve continued progress on HeroQuest UE4 in the month of June.

some highlights
* specify map in map.txt; instead of having to recompile C++ to change maps for debug
* implement disarm traps: the last missing action
* support individual hero spawns in HeroScribe XML
* falling rock fixes (falling block) for corner cases
* migrate from vs2017 to vs2019, update to latest LuaMachine and UE 4.25.1
* start revamping the UI
* spiffy continues working on LUA transcribing for expansion quests (pending commit)
* banana (friend of spiffy) (college student) joined Discord chat; he’s setup and discussed some ideas for what he can work on

Here’s a preview of the new UI:

image

The big change is that instead of having an oversized horizontal menu that covers the center of the screen (that blocks WASD QE input), it’s a horizontal bar on the bottom middle of the screen. For controller input (tested with xbox 360 controller), you can use dpad to navigate.  Keyboard supports arrow keys or 1234567890 hotkeys.  We plan to replace the "1M" etc with icons for move, character sheet, end turn, attack, etc.

Lua Progress and More

In the past few weeks, Spiffy has done a lot of work implementing and testing a first pass of the per-quest Lua for 00-HQBase_US (the base 14 quests), and he’s started on 01-KellarsKeep_US and 02-ReturnOfTheWitchLord_US.  Spiffy has more of an art background, and he’s motivated to learn more code, so I’ve been working with him in Discord chat.  It’s also motivated me to do some review; for example I’ve started reading foundationsofgameenginedev.com volume 1.  Actually, I’ve sometimes missed having study partners like I did in college and as a new grad to talk about material I’m learning or reviewing.

Spiffy has also reported and helped motivate me to fix a few small bugs and missing features.  Letters can be in hallway; Letter is associated with a square (in addition to a room).  Fix nullptr crashes.  Implemented DoorIn and DoorOut for Kellar’s Keep and Witchlord.  And others.

We’re using git on bitbucket, and he’s working in a separate branch, so I’ve been doing sync/merge in bitbucket.

image image

HeroScribe Pem’s Fork update

When I was chatting (in our Discord channel) to Spiffy about working on the Lua code, I noticed that in Quest 3, to find Ulag’s position (left top), is kind of kludge.  HeroScribe GUi doesn’t show it, so you have to count the squares in the GUI and/or search the XML to figure it out.  So I added it in the GUI.  It’s a small update, but it’s a great example where updating HeroScribe GUI is useful for writing the Lua code.  This will be used in HQBase-03-LairoftheOrcWarlord_US.xml’s function monster_dies(left, top) to determine whether the spawned monster is Ulag, and also for monster_dies(left, top).

image

Contributions from Spiffy coming; Lua related

Spiffy has joined (he emailed me from this blog).  I created a Discord channel that we’ve been using, and also wrote some new user wiki doc in the project’s bitbucket on how to setup the project (build/run), and how to use the git/bicketbucket flow (ie he will work in a separate git branch, then create a bitbucket pull request).

It’s been a while since I did any updates on HeroQuest UE4 (distractions from day job and personal life), but Spiffy has inspired me to do some more work this past week (amidst COVID-19 WFH), and also to help him to ramp up on implementing Lua code for quest-specific game rules/logic.  My recent changes include.  Fix crash when UMD is not plugged in.  Improve Lua support for _on_exit().  And Spiffy will implement more Quest-specific game logic using Lua.

Spiffy’s background is mostly in art for game development, and he is helping with HeroQuest UE4 to get more code exposure.

For example, HQBase-01-TheTrial_US.xml (HeroScribe XML) now has a corresponding HQBase-01-TheTrial_US.lua.  One of the functions in HQBase-01-TheTrial_US.lua is:

function on_exit()
    if (not g_bCanExit) then
        quest_print("can’t leave until you defeat Verag (a foul Gargoyle)")
    end
    return g_bCanExit
end

image

There’s also some related code that gets triggered whenever a monster dies:

function monster_dies(left, top)
    if (left == 13 and top == 9) then
        quest_print("Verag, a foul gargoyle, was slain.")
        g_bCanExit = true
    end
end

And here is the first Lua function which Spiffy has added:

function intro()
    quest_print_intro("Quest 1", "The Trial", "You have learned well, my friends.  Now has come the time of your first trial. You must first enter the catacombs which contain Fellmarg’s Tomb. You must seek out and destroy Verag, a foul Gargoyle who hides in the catacombs. This quest is not easy and you must work together in order to survive. This is your first step on the road to becoming true Heroes. Tread carefully my friends.")
end

If you are interested in contributing to HeroQuest UE4, please contact me – http://mepem.com/pemcode/?page_id=995

Next »