Category Archives: Ayuma Project 1

Back in Action

Good news for me. For years now I have not been able to work in 3D, and for a while I couldn’t even play most 3D games because, while I have always been susceptible, I developed increased sensitivity to simulator sickness. This has been quite frustrating for me as I generally enjoy 3D games more than 2D, and because I felt like I was doing something worthwhile in working on my wheelchair sim project. I have been keeping up to date with Unreal installations, and continuing to move the project through each version to make sure it builds under the new versions, but I haven’t done much new work.

Fortunately, my sensitivity has abated somewhat and I’ve been able to play some 3D again, like Subnautica: Below Zero, Elite: Dangerous (except, the spinning when the ship goes out of control, that I cannot take and wonder if there is a way to suppress, it’s like the final minutes of “The Martian”, a movie I otherwise thoroughly enjoyed watching in 3D…I was never cut out to be an astronaut!), Yakuza 0, and some others. I still have to be selective, but it’s reduced. I looked for a resource for people with heightened sim sickness for games that they were still able to play. I found plenty of articles discussing the effect in general, but I haven’t found a list yet. GameCritics does a neat thing where they include the accessibility features, or lack thereof, in their game reviews, like colorblind modes, concerns for deaf & hard of hearing gamers (subtitles, whether there are audio-only game cues), and remappable controls:

Accessibility notes on a game review at gamecritics.com
Accessibility notes on the most recent game review at gamecritics.com at time of writing (https://gamecritics.com/brian-theisen/tetragon-review/ )

But game reviewers must be self-selected to generally be people that don’t get sim sickness, and if any site consistently mentions it, I haven’t seen it. Since I am quite susceptible, I’m going to try to point out on this blog which games I’m comfortable playing for extended sessions, in case it helps anyone else. I am, however, going to have to permanently forgo VR. This is a tough thing for me to accept, since I think it is so very, very cool, but it’s not worth the nausea. I will still leave VR enabled in Ayuma Project 1, but I’m not going to test it any more.

I’m also now able to work at least a little in Unreal and Blender again, though it’s been a long time and I have a lot to re-learn. The latest version of Unreal seems to have made substantial improvements that make the frame & movement rate consistent in my project build – a sort of stuttering, and weird speed-up/slow-down vehicle movement, were fast sim sickness triggers for me as well as just annoying and I could not figure out how to solve them, but my latest build in Unreal 4.27 is smooth enough on my system for me to work again.

Looking at a mobility vehicle I’m working on adding in, with glass that still has refraction enabled. (Ayuma Project 1 WIP)

Another issue was the reflection/refraction in glass surfaces was not working right at all, causing a sort of fun-house distortion of the world that I could not take. I’ve read quite a bit about why it happens, tried several methods of making alternative glass materials. Maybe it’s different with ray tracing, but for now my solution has been to switch entirely to glass materials that have no refraction at all. It still looks reasonable, and no more mind-bending warping.

Creating new versions of glass materials with no refractions served as a workaround to the kaleidoscopic problem. (Ayuma Project 1 WIP)

UE4.13 preview looks good

I cloned the wheelchair mobility sim work-in-progress Ayuma Project 1 over to the new 4.13 preview, and nothing broke, so hopefully when the 4.13.0 arrives, there won’t be too many things to fix up 🙂  This is a learning project for me, and I discovered that I was doing collision incorrectly, relying on per-poly collision for a lot of things. This worked quite well for interactions with the player pawn, (the wheelchair model) but for other skeletal meshes it did not work properly at all. I discovered this while making the BMX bike into a physics asset so the player can shove the bikes around (which turns out to be more fun than I expected!)….so I went back to Blender and redid nearly every model and made proper UCX shapes, as well as converting the models to a better Blender > UE4 workflow and various other cleanup/improvements.  Speaking of the BMX, I got the original model from an open model download source, like TurboSquid but not there, and now I’ve tried to find it back to give credit but cannot find it back yet…if I can, I will give proper credit in a future post.

ayuma_project_1_-_20160701190342_BMX_collsion_broken

The BMX Bike physics asset is falling through the top layer of the sidewalk due to a faulty collision setup (Ayuma Project 1 WIP)

ayuma_project_1_-_20160701190342_BMX_collsion_improved

The BMX Bike physics asset is now properly colliding with the sidewalk, though in this image it is rigid as it is not yet rigged for animation. (Ayuma Project 1 WIP)

I’ve uploaded a progress build, 0.03, (Windows 64 only) for those of who would like to check it out. I expect to put up another one fairly soon. There’s also an elevator pad, which for now you control with the Q and E keys, following part 1 of the elevator tutorial kindly provided by MrFantasticGhost. Later there will be buttons – and elevator cars! – instead of needing to use keys.

As always, thank you for stopping by and reading!

Unreal Engine Version Migration – on to 4.12!

Ayuma Project 1: migrating to UE4_12_1

Ayuma Project 1: migrating to UE4.12.1

Today’s adventure will be cloning my currently fully error-flag-free build to the newly released Unreal Engine 4.12.1 and seeing what breaks. I did not try it out with any of the preview builds this time, since those builds did not want to download properly for some reason (this must not have been just for me…my blog got a lot of recent hits to my posts about the Unreal Engine repeatedly failing to install, though that was relevant to an older version –  the bit about making sure you run the launcher with administrative privileges is probably still valid). The release version (non-preview) installed without difficulty, so I’m about to give it a whirl!

UPDATE: Map check complete, zero errors zero warnings. Thank you, Epic, for making this one painless!

ayuma_project_1_2016-06-08_ue4_12_1_no_errors

Great news! Mobility & Accessiblity sim Ayuma Project 1: preview test build, v 0.1, is built

ayuma_project_1_2016-03-07 22_06_24_v0d1_unreal_editor

BUILD SUCCESSFUL

Great news! The accessibility sim I’ve been working on, today I got it to build. Lately I haven’t had much visual progress to show because I’ve been getting the existing vehicle game engine to work with my armature & mesh, which (like many an actual wheelchair) has such a short, narrow wheelbase with very different radii between front and back tires. For a long time, the wheelchair model behaved almost normally, but then would just go flying off – especially if the collision mesh bumped into anything from the side. I also spent a bunch of time getting the front wheels to caster correctly, and they do (though you would have to lean forward in VR to see them or rotate the distant cam, and I don’t have either of those working yet).

This is my first time trying to package and export a UE4 project, so here goes. I’ve uploaded a zip file on heidialamanda.com, our primary domain for Alamanda Art LLC, which is the copyright holder for original game content. You should just be able to download and extract the set to the location of your choice, and then click on the exe to run it. The zip file is 442,384 kb, and posting the link like this may really eat up bandwidth, but I’m going to try it and see. I will at least roll the file location, so you need go to the linked page and then click to download the file, not bookmark the zip file location itself as it will change – and I may have to take it down if it gets too much downloading. I’m putting it up as just Windows (64-bit) for now. I had a bunch of legacy errors keeping the project from building, and I found out how to get past them and get the project to cook.  The controls are mostly the defaults from the UE4 vehicle demo level, so WASD, or a stick on the XBox One controller (only one I’ve tested) controls chair movement. Tab switches between fixed camera behind the chair, and mouse-controlled view in the chair. There’s no sensing that the chair has become stuck or destabilized, so if that happens, type “~” to enter the console, and then “RestartLevel”. If you have an Oculus Rift installed, you can try entering “Stereo On” in the console; I’ve tested this and it worked on my system but I definitely have all the prerequisites installed.  It might work with other VR displays, if Unreal Engine supports them (if you try it and have success, please message me!) When done, enter “quit” in the console.

The (only current) spawn point is in front of a nearly empty building, just a couple chairs and some lights. Eventually a condo will be in there, with an elevator up. If you proceed straight across the intersection towards the gray building, you will see a staircase and (what I’ve tried to make as) an ADA compliant wheelchair ramp.  If you go inside, you’ll see a back staircase to an open outdoor area (future sculpture area), but you cannot go that way (right now, if you try you’ll get stuck). To get up, you have to go back out, back down the ramp, further down the sidewalk, past some more stairs and under the overpass by the water, and then there’s another ADA ramp up. But you still can’t go to the sculpture area, because there’s no ramp down into it yet (there’s not even a perpendicular curb ramp at the top of the big ramp yet)

Also, across from the gray building, the houses have a narrow sidewalk, with dead ends. A car is parked nearly into its driveway – a common sight – but hanging out enough across the sidewalk that you will have to go out into the road to pass it. There’s also a bicycle with it’s wheel jutting into the walkway a bit. Especially in VR, seeing this first-person did help me gain a bit better insight into how frustrating this must be, when just walking on the grass is not something you can do.

these_games_i_play_20150928_recycle_tote_blocking_sidewalk

Imagine having to push a few of these out of the way, from your wheelchair, just to get where you’re going.

 

Unreal Engine 4.10.1 installed!

these_games_i_play_2015-12-22_epic_games_launcher

The error I was experiencing with my Unreal Engine 4.10 installation, which was supposed to update from 4.10.0, has resolved, more or less. It never worked as an update. I tried uninstalling my Visual Studio 2015 redistributables, rebooting, and updating Unreal Engine, and it failed. I then removed every single Visual Studio item from my system, rebooted and tried to update Unreal Engine, and it failed. I de-installed UE 4.10.0 completely, and got a much larger install download – 4.4 GB or so instead of 2.3 – and that ultimately failed.

Finally I did two things together, and I don’t know if either, both, or neither is what led to success. I installed the complete Community version of Visual Studio 2015, (45 GB or so) including all the options so whatever missing tool set might come with it, and rebooted a few times for that. And I also discovered that my desktop shortcut for the Epic launcher for Unreal Engine, which manages the update installs, had reverted to not launching with administrative rights, so I checked that box again. After one more reboot, just because, I told the 4.10.1 install to resume, and in a couple minutes, *poof* there it was. My project files appear to open just fine, and I can resume work on my wheelchair sim project, Ayuma Project 1, and start prototyping another idea I have. For those of you that come to this post because you are having similar errors with you Unreal Engine 4.10 installation displaying E-1223 or otherwise missing prerequisites, here is what that whole section of my installed programs list looks like with it now successfully installed and working.

these_games_i_play_2015-12-22_programs_and_features

Speaking of which, the most popular click item on this blog is the wheelchair dimension diagram in my initial post about Ayuma (which could be an acronym for As Yet Unnamed Mobility & Accessiblity) Project. I didn’t make that image and I could never find back where I got it from, so I am glad that others are finding it there also. More people wanting to understand the dimension requirements for wheelchair accessibility is probably a good sign. Maybe it even means more people are making VR wheelchair-oriented sims, which might be good news (I do have some reservations about it, and not just because I hope people will want to spend a little time with this one).  Here I will repost the wheelchair dimension image, to help it get seen by a few more eyes. I would credit it if I could trace back where it came from; I suspect it was a government site. Let me just say it is not mine. As always, thank you for your time coming to read this blog 🙂

wheelchair

Dimensions and environmental dimension requirements for wheelchair user accessibility. Source unknown, but I’ll keep looking.

 

Learning about UV texturing

To continue making progress with this wheelchair accessibility sim, it’s time for me to start learning about UV texturing in Unreal Engine 4. Up to now, I’ve just been working with flat color materials (to simplify the process of figuring out issues like weird shadows, and because they work well with VR, etc.) but now I need to start making some signs.

Today I’ve started with an extremely simple sign. Method: In Blender, I added a cube to a basic rectangular bollard and shaped it to fit a common-dimension access notice sign. Then I assigned three materials to the mesh, for the post, sign and sign face. I unwrapped the mesh (Smart UV project, with some island margin) and baked the light map, then exported the light map. I opened the resulting PNG in Photoshop, and copied and transformed the access sign graphic onto the face region of the light map (which turned out to be facing the right way the first time) and saved that image back out as a new PNG. Back to Blender, I selected the sign face material in the Outliner, then opened the texture manager in the Properties window and created a texture with the new PNG, and re-baked the light map. Result:

Ayuma Project 1 work in progress

Ayuma Project 1 work in progress – bollard with wheelchair access sign texture applied

Not bad! Not very efficient though, in terms of work flow or system resources. The texture is large and I’m not using most of it, since in UE4 I’m actually using other flat materials, but it’s a start – the sign shows up and lines up. No doubt it’s a better plan in this case to make separate meshes just for the signs themselves, and then attach them to various post or other meshes.

Ayuma Project 1 work in progress

Ayuma Project 1 work in progress – access sign beside staircase.

One of many, many things I’ve come to know about in working on this project, in reading about signage I learned that New York City is changing to a modified, more kinetic version of the familiar wheelchair symbol – I will certainly be making up signs with this version. You can read more about the icon, and can donate to support their work, at the accessibleicon.org website.

Courtesy accessibleicon.org

Courtesy accessibleicon.org

Externally Referenced – Update, worked around

Regarding the slew of “externally referenced” build warnings I was receiving, I tried this work-around and it resolved all of them. I don’t know how, but it did. I just made a copy of the whole project folder, containing the .uproject file and all the content, using File Explorer (so, not using “Clone” in the Unreal launcher interface). Then I renamed that folder, and then searched for it and opened it in the launcher, and it built no problem. I still have a dozen or so other errors to clear up, but the 800+ “externally referenced” warnings are gone. A relief, I can keep my meshes separate from the project so I can keep track of their modifications separately.

Today I’m working on terrain, and adding another ramp type.

Externally Referenced

Eight hundred ninety-nine “Externally Referenced” warning messages in Unreal Editor 4.9.0

(update)

Yesterday, I downloaded the new Unreal Editor 4.9 engine (currently 4.9.0) and opened my accessibility simulation project, which was working fairly well under 4.8. I have not been in UE 4.8 that much, as what time I’ve had available has mostly gone into learning Blender modeling a bit better, but the project was working fine under it. Moving to a new engine version is fairly painless; it just involves launching the engine, opening your project as a copy, and waiting a while to see what happens. Things looked okay, but when I opened the test map – 899 warnings! DANGER WILL ROBINSON

Fortunately, they nearly all look like the same “Externally Referenced” warning. I’m not sure what is the problem is, and the UE documentation is no help at all right now:

UE documentation, as of today, for

UE documentation, as of today, for “Externally Referenced” – blank.

It might be due to my having the meshes, created in Blender, stored in a different set of folders rather than in the project directory. When I first started, I made a lot of game projects using the base templates, messed with them and then removed them, and I certainly did not want to accidentally delete my meshes also, so they are in a different place. It’s a challenge; since I want this project to work well with the Oculus Rift and similar VR devices, I’m going to keep up with the engine changes rather than stay with a previous engine version, but the sense of fighting the downstream current can be profound. I will post a followup if I find a solution. Ever onward!

(update)

Ayuma Project: 1 – initial post

UPDATE: first test build now posted!

2015-03-03 12_44_15-If You Love Something, Set It Free - Nightly Yesterday I noticed in my Unreal Engine launch window that I had a credit, and in reading about why, I found out that Unreal Engine is going free because Epic loves it. This is probably a good move to, among other things, get nascent game developers using UE4 instead of relying on other free alternatives like Blender’s game engine. So, now is as good a time as any to post that I am working on a project with Unreal Engine 4, code named Ayuma Project: 1, with VR devices like the Oculus Rift as the major target. I was in on the kickstarter for the first developer’s edition of the Rift. l loved messing around with it, but I was still busy being sciency and also quickly got queasy using it. I saw an interesting future in it, though, and pre-ordered the DK2. Sitting in my swiveling office chair – in the way I envision the Rift will often be used – playing with the Tuscany demo, I arrived at the sense that it did not really feel like walking around. I was sitting, after all, so I thought it felt maybe a very little bit like (temporarily) sitting in a wheelchair. As I have touched on just a bit in this blog so far, I believe video games (or interactive simulations, first person experiences or whatever….despite my affection for etymology, terminology is not my focus here for now) have a great deal more potential to aid in personal development. One aspect of self-development, as I see it, is the cultivation of empathy, and this is is one area where games very often work against. Yet the Rift offers such a tantalizing opportunity to put yourself in another person’s position, to see the world from another point of view, and to come to understand better their challenges and opportunities. And so I came to decide on a wheelchair-use semi-simulator as my first learning project with the development tools. I say semi-simulator because I will work to have things grounded in reality as much as possible, though I do not have the programming skills to develop a fully fleshed-out sim. I do have some experience with Blender from my biology work, making animations from atomic microscopy data, but this did not involve model-making…I imported generated models to Blender and then used its camera-pathing and rendering tools to make 3D movies. I have, over the years, had some occasions to use Autocad, CadKey, Solidworks, and the like, though at novice level, so starting in on modeling has been an adventure. I started with this image of standard measurements:

standard wheelchair dimensions

Wheelchair standard dimensions – taken from an accessibility design article that I have not yet found back.

and, after experimenting to learn how Blender and Unreal units relate with respect to importing, began to build up a very basic wheelchair to the dimensions.

Ayuma Project: 1. Work in progress. Early wheelchair built in Blender.

Ayuma Project: 1. Work in progress. Early wheelchair built in Blender.

I debated making the chair manual, but at least to start with, felt like it would be more natural to go with an electric. But in working on an initial test level, I hit on a simulation focus opportunity – pre- and post-Americans with Disabilities Act public spaces. Since the ADA started coming into effect in the 70’s, I thought to make an electric wheelchair from the 50’s or maybe 60’s.  One of the earliest electric wheelchairs, for which there are some good reference images available online, was the Klein Drive Chair, invented by George Klein.

Klein Drive Chair

Klein Drive Chair (thank you to the National Research Council Canada for making this image set public)

So I imagined, what if someone handed over these pictures to a custom frame-maker and said, “make me a sturdy, purpose-built version of this.” And here is the result thus far, rigged and (mostly) working in UE4:

these_games_i_play_-_ayuma_project_1_-_2015-03-03_13_51_23-Wheelchair_AnimBP_

1950’s-style electric wheelchair work-in-progress, for Ayuma Project: 1, in its current state. Among things yet to be added are the control joystick, drive pulleys, and an occupant.

And a view from inside the Rift!

these_games_i_play_-_ayuma_project_1_-_2015-02-24_16_27_15-Greenshot

Ayuma Project: 1, wheelchair simulator, seen in the Oculus Rift.

As outlined, I arrived at this concept for a project from my own experience with the Rift as well as my own hopes for what video games can do. My only encounter with a player-used wheelchair in a game that I remember is with Munch from Munch’s Oddysee, a game I had for the XBox and played through twice, saving all the Fuzzles the second time through. What a great game!  I am happy to learn, though, that I am not the only one to think along these lines. Back in 2013, user “nikkmitchell” was working on an Oculus project then called “Wheels 0.2,” and had a demo working. You can watch some playtests of this game on Youtube, but it appears to no longer be in development, and you can tell from that video, it had something more of a game than sim orientation, though it did have an intro that wanted to help the player project their frame of mind to a wheelchair user’s perspective. And I saw in a post that there was a wheelchair simulator at Gamescon 2014.  I also recently saw the news of the Cerebro Experience, in which you supposedly sit in Professor X’s wheelchair, but I don’t think you move around at all. I’m sure there are others; I will work on differentiating this one further. Thank you for your time, and please stay tuned for future updates!