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

Body HUD, misc

Another good week of progress (part-time):
* VR: a little more progress
* Move system: refactor / fix / enhance
* Hero Body HUD

With hero Body HUD I ran into a good use for shared_ptr.  At first there was a bug when displaying a dead hero’s health.  When any figure dies (hero or monster), the corresponding HqSpaceOccupant is deleted, which deletes the pointer to the HqFigure (HqHero or HqMonster).  We still had another pointer to the HqHero for the HUD, but it was now pointing a deleted object, so the HUD displayed –35 (instead of 0) Body.  I fixed this by using using shared_ptr.  I suppose a messier way to do it would’ve been to have HqSpaceOccupant dtor conditionally skip deleting its figure when the figure is a hero (HqHero).  The video lets heroes die to show the bug fix.

The video also shows the latest Move system with mouse input and arrow key input.  For debugging, the hero rolls 255, which is why there’s so many red squares (otherwise the game only displays valid Move spaces).

The current turn order system (including the Body HUD) lets you (in code as there’s no UI for it yet) use any order for the heroes.  The HUD assumes four heroes, though I don’t think it would be much work to make it N heroes.

More VR Setup: a third camera

I did some additional basic steps to support VR.  Previously we had two cameras – the main spring-arm camera that follows an invisible pawn, and a fixed birds eye camera (for orthographic projection).  I added a third camera for VR.

With the third camera, we’re able to look around and see the motion controllers…  I think for VR, the camera control code will be separate from the main camera.  No auto camera moving.  Isn’t attached (via spring arm) to an invisible pawn, so panning etc will also be different.

Brass Tactics is one reference for how motion controller camera movement can work.  Hold down (a) grip button(s) to drag the camera/world.

image image image

https://docs.unrealengine.com/en-us/Platforms/Oculus/HowTo/SeatedCamera

https://docs.unrealengine.com/en-us/Platforms/VR/MotionController

HeroQuest: Gold Spreadsheet

I made a spreadsheet for gold and special treasure.

Because we’re replacing (cross-quest disposable items) with reusable items, the only thing that can vary across quests (in terms of Heroes “leveling up”) is gold.  I’m enthused about creating a challenge mode where you can warp to a particular quest and try to beat it, with an increased difficulty mode, as an isolated challenge/puzzle (aside StarCraft 2’s campaign has this).  So even getting a variable amount of gold per quest, that you carry cross-quest, doesn’t necessarily mesh well with challenge mode.

We could have two modes – a campaign mode (where you save gold across quests) and a challenge mode (where you get a pre-determined amount of gold at the start of a particular quest).  And if we go that route, then I ‘m tempted to reinstate (cross-quest disposable items) for campaign mode.  But I find that idea kind of messy.

I also have concerns about the fact that your theoretical max gold (for each quest) is an absurdly rare occurrence.  The idea of someone playing through each quest ad nauseam (to get the max gold for that quest) makes me cringe.

I prefer to only tweak rules when it’s fixing a design bug (using the term “bug” rather loosely).  And I’d like to make challenge mode a core focus.  But even within those parameters, my latest design tweak is…   Each quest gives you a predetermined amount of gold.  Treasure card gold only lasts until the end of the current quest, and it can be used (when there are no monsters in line of sight) to buy treasure card potions (that last until the end of the quest).

As the heroes progress through each quest, they “level up” by finding new perma-items and by getting gold (which they can use to buy perma-items).  So I created a spreadsheet to analyze gold earned relative to maxing out what you can purchase.  The general idea is to make “leveling up” gradual.

With 70 quests (65 if we count: Dark Company as one instead of four, Mage 9 & 10 as one instead of two, Frozen 9 & 10 as one instead of two), it got a bit tedious, but the spreadsheet is useful to help balance the progression of (Heroes “leveling up”) versus (quests increasing in difficulty).

One thing that stands out is that the cross-expansion balance doesn’t seem well thought out.  For example, Mage in the Mirror has enough gold (8200 special + up to 2325 from treasure cards) + special treasure, that if you started from scratch, you’d still have maxed out armory gear by about Quest 5, and plenty of one time use potions.  As another example, The Frozen Horror Quest 1 gives the Barbarian (crossbow, longsword, shield) which suggests that you’re starting from scratch.  Yet the expansions don’t seem to be designed for you to start from scratch, because some of them give you gold rewards at the end of the last quest.  So I feel very justified in using the term “design bug” in describing my progression balancing concerns.  As much as I am aiming for authentic/nostalgia, I also want to fix these design flaws.

Another design idea this gives me is to have a campaign mode where you start each questbook from scratch (with starting equipment).  In that case, a more vanilla rules interpretations would be okay, such as…  Allow heroes to keep special treasure healing potions across quests.  Allow heroes to have multiple copies of a weapon (including the crossbow) (if they can afford the gold).  Looking at the spreadsheet, I don’t think the difficulty would be too high…  At first glance, Wizards of Morcar Quest 1 looks impossible (13 chaos warriors, a gargoyle, a boss), but not if you use European stats (monsters have 1 body).

Here’s the spreadsheet: gold

VR mode for HeroQuest UE4

My HeroQuest UE4 sabbatical went on longer than I’d like, and I’m hoping to do some more HeroQuest UE4 development – starting with VR support.  Dec 2017 I finally got an Oculus Rift (which required a CPU and GPU upgrade).  Last night, I was inspired to try it with HeroQuest UE4.  It worked without much effort, but clearly there is work to be done even for just basic usability.

I found I’m quite vulnerable to VR sickness issues including: disorientation, sweating, nausea, and headache.  I had to close my eyes when I do “End Turn” and the auto camera fluidly moves to re-center on the next game piece.  Trying to use the WASD camera (panning) also gave me immediate motion sickness.  Teleporting is safer for VR.  Zooming and Tilting seemed harmless.

The UMG Blueprint Widget is stretched, and it draws over both eyes as if they are one screen (it ignores stereo rendering).

Keyboard and XBox controller input works as expected.  I can highlight things with the mouse even though the mouse cursor is invisible (very strange).  Looking at actors (eg the red/yellow highlight actor during Action –> Move) also triggered a mouse-over.

Some basic TODO items include:
* Cameras: default position, disable auto cam moves, VR-specific camera improvements
* UMG menus need VR integration
* VR motion controller simple mode analogous to xbox controller; VR-specific controls (teleport, 3D interactions)

The high level goal is to support each platform.  UE4 gives most of this for free, but I still need to implement UI differences for desktop, tablet, console, and VR.  Actually because this is a board game, I suspect AR/MR may be the coolest platform, but maybe that’s for 2019.

image image image image image

PS: if someone wants to contribute (help with development and implementation), then please contact me 🙂

Cryptocurrency Mania (and taxes)

Jan 2016 to Mar 2017, I was making reliable progress on HeroQuest UE4. After changing jobs (and moving from TX to CA), progress slowed, and I entered an indefinite hobby project sabbatical circa late Jun 2017.

Early Nov 2017 I got sucked into the cryptocurrency mania – albeit a bit late to the party.  Circa May 2013 (Tekzilla 431) I have vague memories of almost buying (and/or mining) bitcoin, but for whatever reason I dropped it.  I suspect it’s a common story.  Price quotes: $266 (Apr 2013), $130 (May 2013), $100 (Jun 2013), $350-$1242 (Nov 2013), $600-$1000 (Dec 2013), $6,500 (Nov 2017), $10,000-$20,000 (Dec 2017), $7,000 (Mar 2018).

Back to Nov 2017…  Besides learning about it, I also invested a small amount (for fun), which caused me to get sucked into the overly complicated tax situation. It’s an example of how governments too often add unnecessary complexity to our lives.  This is bad because it wastes human effort, adds counterproductive complexity to our lives, discourages innovation, rationalizes witch hunts, and worst of all – it extended my HeroQuest UE4 sabbatical :-p

I’m not a licensed CPA or tax professional, but here’s my layman’s summarized understanding.  The IRS considers cryptocurrency as property (for tax purposes), so you’re expected to track every time you get it as income (includes mining), you spend it, or you trade it.  If you day trade and/or mine and/or use it for daily transactions, then you could end up with an absurd of transactions.  And you might lack detailed records of everything.

Standard tax software (eg TurboTax, TaxACT, H&R Block) doesn’t have an easy/streamlined way to import data for crypto taxes.  Specialized crypto tax software (eg cointracking.info, bitcoin.tax) supports some exchanges via API import or CSV/XLSX import.

But for other exchanges, I ended up writing Python scripts to help process the data.  Eg copy tables of data from an exchange website to use as input file to a Python script, which outputs a CSV file that can be imported into a crypto tax reporting tool. The crypto tax reporting tool can then be used to generate a Form 8949, a PDF, a CSV/XLSX, or a tax report file that can be imported into traditional tax software (eg TurboTax, TaxACT).

The intent of this blog is to track some of my programming hobby projects. Cryptocurrency investing (and tax reporting) is one of those hobby projects in that…  I did some learning about cryptocurrency (related to computer software and hardware).  And I wrote some Python scripts to help with investment tracking and tax reporting. So it’s sort of relevant.  However, besides this entry, I don’t plan to post (much?) about cryptocurrency.

BitcoinEthereumRippleLitecoinNEOCardanoStellarDashMoneroVeChainNanoDogecoinDragonchainSALTSteemBinance CoinZcashIOTATHEKEY

Contributions from Justin

I’ve had to slow down on HeroQuest UE4 development because I moved from TX to CA and changed jobs (from AMD to Samsung).  Meanwhile, I got contacted by a volunteer (Justin) to join the project.  So far Justin has been working on spells (menus and game logic), control systems, and game menus.  We’ve had emails to coordinate and to brainstorm on design and implementation details.

Here are early screen shots showing some of what Justin has been working on. Spell Menu UI.  Multi-square mouse movement (click on a dst and the game finds a path).  Pass through rock (walk through walls).  Veil of mist (walk through monsters).  Courage (+2 attack eg 5 instead of 3).  Genie (attack with 5 dice).  Swift Wind (roll double move dice).  Thank you Justin for the help, and I hope we can continue working on this long-term.

To anyone reading this, if you’re interested in contributing, then please contact me.

image image image image image image image image

Improved Hero/Monster 3d Models

Back in 2016/04, I used an EinScan-S (~$1000) to take 3d scans of the HeroQuest models.  They were a vast improvement over boxes-with-photos, but they were also pretty blurry looking.

About a year later (2017/04), a student (Thomas Springer) posted higher quality 3d scans using “ScanStudio” software, which I’m guessing means the ~$3000 NextEngine Laser Scanner.  He did this as a college project.  He posted the STL files as “free to download”, so I’ve used these to upgrade my existing figure/monster models.

You can find the STL files here – https://springer3dscans.wordpress.com/

For each model, I used MeshLab to convert STL to OBJ.  Then in Maya, I reduced each model to ~25,000 triangles (35k for the gargoyle), then reduced the base by ~85%.  Doing these quick edits for each of 17 models took some time, but it was worth it.  There’s still room for improvement (both in terms of quality and in terms of poly count), but overall it’s getting really close to looking like the actual board game pieces.  It’s definitely an improvement relative to my EinScan-S models.

One of the four orcs is missing (the one with the notched sword).  The USA expansions (Mage of the Mirror) and (The Frozen Horror) are included, but not the European expansions.  The Frozen Horror is missing the mercenaries (swordsman, scout, crossbowman, halberdier).

The following screen shots includes the upgraded hero/monster models.  Notice there’s one orc model that’s still using the blurry EinScan-S version.

Thank you Thomas Springer for these awesome hero/monster scans!  They pair great with the furniture that Jean is creating (in Blender).

image image image

Hobby Project Sabbatical

I haven’t posted updates because I was on “sabbatical”.  Jan 2016 to Mar 2017 I was consistently making progress on the HeroQuest UE4 project, but then I changed jobs and moved to a different state (from AMD to Samsung) (from Texas to California).  So I went on “sabbatical” from HeroQuest UE4 development.  During my “sabbatical”, I played more HeroQuest and continued to think about HeroQuest.  But I had to put development on hold while I focused on leaving my old job, on relocating, and on starting my new job.

As of today, I’m officially back.  With the disclaimer that I just changed from being a ~12-13 year veteran to a new hire, so I expect my day job to continue to require extra attention from my brain for at least a few months.  However, I will most likely be making some progress and posting updates soon.

Image result for heroquest Image result for ue4

Furniture Models (Jean)

Background

One of the reasons I chose HeroQuest is to allow me to work on a unique project with a reasonable size and complexity (for a part-time solo project)…  But with a well-defined scope and a lot of pre-existing work that I can build on in terms of game design and asset creation.  Somewhat paradoxically (only somewhat), the assets (including 3d models) are an important part of what makes this project unique, see ( link ).

There’s still significant work in terms of tweaking assets and integrating assets and using them in the game, but I’ve wanted to avoid getting side tracked too heavily on asset creation.  My focus has been more on getting experience working with Unreal Engine (UE4) by writing code (C++, Blueprints) and by creating a well-polished game from start to finish.  So my focus is more about game programming (and game design details), while my work in terms of game art is focused on tweaking assets, integrating assets, and using assets.

The 2d assets are made from 2d scans, and the 3d assets are made from 3d scans.  Higher quality 3d scanning is becoming more available (less expensive).  As seen in my previous posts, I was excited to 3d scan hero/monsters and furniture.  That’s part of what motivated me to focus on HeroQuest as a multi-year hobby project.  The 3d scans are a million times better than placeholder art boxes.  That said, even if I constrain my goals to replication, they’re obviously not production quality – because the geometry is “blurry”.  Maybe in 2018 I’ll consider getting access to a higher end 3d scanner to see if that can give more detailed 3d scans.  Or maybe I’ll consider custom art (or even morphing this project into an original game instead of a HeroQuest port).  Until then, I’ve been happy to use blurry 3d scans.

The hero/monster figures are all one color, so a blurry 3d scan is pretty good for them.  For the furniture, there’s different colored plastic parts, and there’s textured cardboard.  For hero/monster figures, I still had to do work in (Maya, MeshLab, Unreal) to cleanup the 3d scans and import/integrate them.  For the furniture, the Maya work is more involved, so for my initial goal (described in previous blog posts), I just focused on doing the hero/monster figures.  And I tentatively delayed more work on the furniture.

Jean: The Dungeon’s Key

But then I got lucky.  Jean, a HeroQuest fan and 3d printing enthusiast, volunteered to collaborate on the 3d models.  He’s learning Blender (and 3d printing) for this.  So with Jean’s help, the HeroQuest video game is getting a much needed upgrade in terms of furniture models.  Jean is doing the core of the work in Blender, but it still requires effort for me in terms of collaboration, integration, and tweaks.  For example, I’ve sent Jean 3d scans, high resolution photos, caliper measurements, screen shots, and detailed feedback.  Jean’s blog ( https://thedungeonskey.blogspot.ca/ ).

Working with custom digital assets and digital artists is good experience.  A lot of my hobby projects have been solo (or using public assets), but I’ve also done games that involved collaboration with digital artists and level designers (for custom art and custom levels).  Examples include DirectX 8 college games (Super IsoBomb, Xundar, Mega Monkey Mayhem), Torque 3D game prototype (City Hero Defense), and now this project – an Unreal Engine (UE4) game (HeroQuest).

In Progress

To keep things simple, my current plan is to continue using the blurry hero/monster 3d scans, and to integrate the Blender-created furniture from Jean (thanks Jean!).  With both monster/hero models and furniture models, the current plan is to focus on authentic replication (nostalgia).  I’ll probably stick with this plan for 2017.  In 2018, it’s TBD.  In the long-run, it might be cool to have an option to toggle nostalgia 3d models versus more detailed 3d models (which may include animations for hero/monster models such as walk, attack, defend, etc).

But for 2017, I’m excited to focus on replication for the 3d models.  These furniture models are a huge upgrade from the previous furniture models (which were just boxes with low resolution photos).  I’ll close with some screen shots of integrated furniture models.  The furniture models are still a work in progress, but overall it looks very promising!

map1 map2 map3

IMG_20170223_1318342

HeroScribe Pem’s Fork

The latest release of HeroScribe is HeroScribe 1.0pre1 (December 25th 2004) ( http://www.heroscribe.org/download.html ), but luckily it’s open source.  And it was incredibly simple to setup a NetBeans project and start tweaking the code.  Thanks to the HeroScribe authors (and thanks to NetBeans & Java).

I’ve used C++ the most, but I also have experience (comfort, familiarity) using Java, C#, and Python.  So there wasn’t much of a learning curve for me to make some simple edits because I’ve already used NetBeans and Java for previous hobby projects (and I used Java in college classes).

The main thing I’ve added (thus far) is keyboard shortcuts to enable me to edit maps faster.  Added keyboard shortcuts for the main editor.  Added keyboard hotkeys and mnemonics to the File etc menus.  Tweaked the tab stops.  Improved text filtering (JFormattedTextField) for zorder input.

Being able to edit maps faster has multiple uses.  I can verify my code and its corner cases – recent examples include secret doors, monster AI, and traps.  In the long-run, I also plan to have two sets of maps – a nostalgia version and a balanced (play-tested) version.  Finally, improvements to the editor will be useful for others to create custom maps.

image image

Next Page »

Check out best marijuana drug testing website.