I just have no words.
The past few months have been ridiculously difficult, all due to Apple.
Yes, I have been using a PC for my VR development, but I've been using Macs since I was 7. Aside from accidental damage, I've never had any issue--Until now.
As some of you may know, I got a grant to develop The Jeremiah VR Experience prototype. Part of this grant allowed me to purchase a Macbook Pro 13 with Touch Bar. It had 16gb of RAM and 256gb of storage.
This machine became my primary non-home/non-VR computer that I took to school, used for all Photoshop and Illustrator work, and some light video editing, 3D modeling, and programming. (I also used it to remotely access my VR rig when I'm not at home.)
Then came the keyboard issue.
It was (and still is) mentioned all around the internet, but I never thought much of it--until it hit my machine.
Oh well. I took it to my local Genius bar and had it fixed at no cost. Yay. After being delayed twice, I finally got it back
A week later the touch bar was acting weird, and then stopped working completely. Just my luck.
I took it in again, waited a week, picked it up and brought it home, again at no cost. The second I took it home and turned it on, I noticed two things: There was a loud clicking sound whenever I opened or closed the lid, and a white splotch on the screen. Crap.
Okay, fine, I took it in again, waited another week, then, finally, I got it back again. The Genius handed me the laptop, and I immediately noticed that the lid was misaligned. Yes, it was shifted to the right. This is the third time I am left with a defective product that was truly their fault. Their policy is that after three botched repairs they replace the laptop. Okay, fine, if that's the best I can do, so be it. They told me that I can either wait two weeks for a refurbished laptop of the same model number, or take what they had in stock at the store. After all that I refused to risk accepting a refurbished computer, so I went with what they had in stock at the time. All they had that was comparable was a 13 inch Macbook Pro with 512gb of storage and 8gb of RAM. Not the same as what I had originally. After all the waiting, I gave up and took that machine. I now have enough storage to dump my entire movie library on it, so that's good!
Please Apple. Don't let this happen again. People trust in your customer support as being some of the best in the computer business, and with these (hopefully isolated) incidents
As I've mentioned before, I am using the Dell Visor WMR Headset, running on Microsofts "Mixed Reality" software, but developing for SteamVR. This has worked great and hasn't caused any issue before. (Except when Steam tells me my boundaries aren't set when they are, just through the WMR home.)
Because of all of the issues plaguing the Windows October Update, my computer didn't get it until yesterday. The update includes a few new cool features for the WMR platform, and I figured I'd break them down and discuss what they mean for SteamVR Developers!
You can see the full list of updates at the link at the bottom of this post, but with that being said, let's see what's included!
First we have one of the coolest features, the "Mixed Reality Flashlight." This allows users to "Open a portal into the real world to find your keyboard, see someone nearby, or take a look at your surroundings without removing your headset!" This is super useful if you need to quickly make changes to something on your computer screen... but for that, it does make more sense to just flip up the headset. For people walking into the room, however, this is actually perfect. The question is, can we turn it on while in a SteamVR App?
...Well yes you can, because one of the other new features is that you can 1) launch SteamVR apps from the WMR home! While this isn't a huge benefit to developers, it is extremely useful to VR game players because launching SteamVR just to play a game is a little annoying. And 2) The Windows button on the controllers now changes function depending on what you're doing! This means that it can launch the SteamVR menu, turn on the flashlight, or go back to the home!
But, more technical stuff, developers can now use QR codes in their apps to scan outside objects. Additionally, there is now hardware DRM support for WMR immersive apps. Devs can also have the Mixed Reality Capture UI directly in their apps, so users don't have to start it in the home.
As cool as these features are, the problem is that they only work for WMR apps, and won't have any affect in normal SteamVR apps. In any case, we'll have to see what cool stuff people come up with!
You can see the full changelog here:
Thanks for reading!
You may have noticed that the past two posts used a color block behind the text unlike the usual all black background with white text. Though I much preferred the white text on black, when taking the RSS feed and publishing it elsewhere, the white text color carries over, making the text invisible on white backgrounds, which the majority of websites use...
I didn't realize this until yesterday so for now on this will be the way it is. No big deal, just thought I'd mention it.
EDIT: Now, for some reason, the RSS feed is picking up the HTML code of the color block, so that's out. I can't change the theme of the site to have a white background, because then, unless I go back and change the text color from every post, older posts will be invisible! So then, I guess I'll be sticking with this grey text on black. It translates well to any other background color, so that's good.
Additionally, my overall workflow has been set back for a bit. My setup usually consists of a gaming PC for VR, and a Macbook Pro for other art creation for the game. A few weeks ago, my Mac suffered from the same damn keyboard issue that plagued many other machines. After being delayed twice by Apple, I finally got it repaired... BUT, since then the Touch Bar has been acting strange, until a few days ago where it just became completely unresponsive. So, once again, I am eagerly awaiting my laptop to be back from the Apple Repair Center. Very frustrating.
In any case, despite these issues, I have been working as hard as I can, implementing new features and fixing old bugs every day. Be on the look out for a new post detailing exactly what I've been working on specifically, and maybe even a rundown of my entire game dev setup!
Thanks for reading!
First of all, we now have an email newsletter! Be sure to subscribe via any email box on the site!
But okay, back to the main content...
So, in contemplating where to go next with Oh Captain VR--publishers, crowdfunding, etc--I realized something:
In focusing on the bigger picture of the whole game, I've been overlooking my main priority at the moment, the demo.
I've been trying to either work on the save system, the open world, modding, or other features that won't be in the demo, when I need to be making the demo the best it can be. No, this post isn't some grand announcement about some change I'm making, it's merely an insight into how I work.
Now, technically speaking, the question is, what does this entail? I know there won't be a save system in the demo, I don't think that's necessary for something that is meant to be only a taste of the full game. However, all the mechanics will be the same. This means that when someone plays the demo, they know that the full game will be like this, but so much bigger and better in every way.
Another thing that's been bugging me is profiling. Profiling in Unity3D, I mean. When playing other VR games, I'm realizing that my game doesn't run as smoothly. Everything works totally fine and is comfortable to play for long periods of time, but it seems like my VR tracking has a little more latency than other games. This is just an optimization issue that I have to work on. Just like any game, it's a balance between performance and visuals. While Oh Captain VR does have a low-poly aesthetic, because of the amount of stuff in the scene, there definitely can be better optimization on my part. Since I only have one main realtime light (the sun/moon), this shouldn't be a problem, but I will continue to work on it.
Any thoughts? Leave a comment down below!
Thanks for reading!
Yes, it's another blog post!
Over the past few days I've been recording my screen while working and hope to soon publish a timelapse/voiceover video going over what I've been working on in a more visual way.
But, just to summarize here:
When the player presses the Left Grip Button, a map UI will appear (either as a held object, or a static object in front of you). This will have the player's stats (health, stamina, gold amount, etc), along with some options as to which object to be building (Walls, stairs, etc).
I am also experimenting with making the game moddable via Json data. Then, the player can easily go into the files and alter the way the AI works, the players stats, and effectively use "Cheat Codes" (a rarity nowadays) to change the way the game plays. Hopefully this should extend the life of the game in ways that I didn't think possible previously.
Any feedback is appreciated!
Thanks for reading!
So, I just got back from an awesome vacation in Costa Rica, but unfortunately (or fortunately, depending on how you look at it) I didn't get much work done...
But, I do have some new ideas that I will be implementing into Oh Captain VR asap!
For the roguelite aspects of the game, your stats, levels, and the like will persist from game to game. However, when you die, the worlds you create will be lost, only saved in a snapshot, viewable from the "Captain's Logbook."
Overall, there is a lot more to come, with exciting updates coming regularly.
Thanks for reading!
Short post today:
After messing around a ton with the lighting in the scene, I finally got things looking better, AND running better/smoother, so that's pretty great. I am experimenting with changing up the island design, but that's another post in the coming weeks.
Additionally, I do intend on improving the enemy AI, so there's better combat physics, defense, etc. More info to come.
Thanks for reading!
- Judah Mantell
This year I got a lot done, and with that time, I was able to hone the mechanics of Oh Captain VR into the playable demo I have now! Once again, it still has a ways to go before I release it for free through the Steam Page (Coming soon though!), but it will be well worth the wait. After fixing the building mechanics, the one challenge is to find a good way to save and load the player's creations and progress. (More on this in the "Techy Stuff" below.) I also plan on adding other shapes to build like stairs and things, to allow for multiple floors in your fortresses! I'm quite happy with the Enemy AI's movement, but not their combat. Yes, they will attack you, but sword combat can be much improved. I also want to have them attacking your fortress, weakening it and possibly even breaking it unless you kill them.
In terms of the enemies themselves: For the demo island, I made sure there is always ten enemies in the scene. After experimentation, I found that's the right number to not take a hit on performance, and still make the world feel alive. I also plan on adding wandering cattle just for effect. You can't kill them for anything like in Minecraft, but I think it will help with the ambiance.
Saving and loading numbers and strings isn't too difficult (and is perfect for saving how much wood and gold you have), but with this game I have to save and load every instantiated object (built blocks) the player has spawned. It's not possible to serialize objects in the scene, so I have to save every instantiated item in a list, their transforms, then re-instantiate them in those positions. It's not too difficult, but just time consuming. Additionally, if I will be adding other types of blocks (like stairs, etc), I'll have to do the same with those--again, possible, but time consuming.
Thanks for reading, happy new year!
Woah! Two posts in two days?!?
All kidding aside, I've been working hard on the game, perfecting the building system in every way I can. It's now ready enough that quickly and accurately building large structures is not only possible, but super fun!
You can build fortresses, trap enemies, and more!
While building was possible before yesterday, there was one major problem: You could only rotate blocks flat or facing away from you. (In other words like this: __ and like this: | -- Sorry if that doesn't make any sense! I currently don't have any visual aids at the moment.)
On the player's left hand, if they touch the touchpad, a little radial menu shows up with three directions: Up, Left and Right. (The "Up" direction puts the block flat, making it useful for floors and ceilings.)
For the left and right directions I just kept adding 90 degrees to the Y quaternion, in hopes of just having it turn 90 degrees each time, but this wasn't working.
I ended up writing two methods, as shown below:
This worked exactly as I had hoped. Now all I gotta do is add sound effects, stylize the cursor a bit more and it should look pretty great!
Thanks for reading!
Yes, yes, I know it's been a while, but it's not for nothing! I've been focusing on polishing what I have of the game as much as possible, to get ready for a free demo release. Aside from adding SFX, particle effects, and refining controls, I've been working on making the building system the best it can be. This means making sure it's intuitive to use, looks good, and just works the way it should.
You can check it all out in the video below! (Watch on YouTube for full screen)
I'm working on valid/invalid states for the system to ensure that players don't build on top of existing blocks. The cursor will be transparent green when you can build, and transparent red when you can't. Simple enough.
Additionally, I have to make sure every placed block carves out a small section of the AI Navmesh so the enemies know to either go around or try to break through the fort created. Say what you want about Fortnite, the building system it has is pretty great, and that's what I'm trying to replicate, but in VR.
At the moment there's only one type of "block" you can use, a single wall panel, but it can be rotated any way you like, making it usable as walls, floors, roofs, or even simple barricades to ward away enemy skeletons!
Thanks for reading!
Aside from being a game developer and CEO of MidnightCoffee, Inc, Judah is a professional magician, and retro game enthusiast.