So I recently took a vacation and during that time I thought I’d sit down and play with the Lightmass rendering system in the Unreal 4 engine and see how it compares to a high end renderer like mental ray. It turned out quite well although there were a few visual issues that came up.
Here is the series of images that shows my progress towards my scene match.
In this first passI learned the lesson that when you have multiple monitors, make sure they are calibrated correctly. I had the reference image on one monitor and was doing the work in the other monitor.
They were the same monitor but one was hooked up using DVI while the other used HDMI. For whatever reason this caused them to have different color and temperature profiles.
Once I looked at them on the same monitor I began to see how different the two shots were.
The camera in my scene was also not setup very well. It didn’t match the shot and seemed to be a little rotated.
This second show shows some of the progress I made setting up the camera and getting the color profiles to match. I did this by checking the reference image and working in the same monitor.
Unfortunately there’s also some steps backwards here. The shadow on the floor is too sharp, there are bright light artifacts on the top of the screen. The floor texture is too dark and non-reflective. Finally the wall in the back of the scene had the floor texture applied to it!
The texture error seemed to be due to some funky stuff going on when exporting my model from Maya to Unreal. Resetting the materials and then re-applying materials per-face eventually fixed the issue. The materials always seemed correct in Maya though. It’s possible it was a exporter bug. It’s also possible it was a human error on my part.
This next pass cleans up the texture errors and attempts to make the floor texture better but still suffers from the over-bright corners in the top of the scene and the odd shadow on the floor on the bottom of the scene.
The floor shadow is also still too sharp.
In this pass a lot of the errors are starting to get cleaned up. I also modled in the small piece of trim along the bottom part of the wall.
The over bright corners at the top have been fixed up. This seems to have been a result of me dropping the global illumination contribution of my main light as well as disabling screen space ambient occlusion (I still use AO for the global illumination pass though).
The floor shadow is now also softer and the floor is more reflective.
Also starting here I broke my main light into 2 lights. One with a low GI contribution and very soft shadows to sort of act as a advanced ambient contribution light. The other light had sharper shadows and significantly less contribution to the global illumination calculations.
This final pass is where I told myself I just need to walk away from this project as it had now began to consume a decent amount of time. I was attempting to get some of the details that were blown out in the previous render visible again.
Unfortunately I deviated too much with my lighting color and took a bit of a step backwards from the previous render. There is also a slight artifact on the bottom trim where the wall changes angle.
Conclusion
This was a fun 2 hour quick project that ended up becoming a 6-8 hour study about how Unreal 4’s lighting and material system works. The lessons I learned from tweaking various material, light and render values helped me understand Unreal 4’s rendering process immensely but towards the end of the project the gains were becoming less and less profound so I cut myself off and considered this project complete.
I learned a lot and will be applying what I’ve learned here to all my future unreal projects.
Writing this blog post is the last of my tasks for this milestone I set for the fighting game study log. The organizational mix of Trello, Google Drive, Slack and Github for managing this project might be slightly overkill for a one developer project. Mainly I think I probably didn’t need Slack.
That said, once I setup Slack and its integrations there was no further upkeep required so it hasn’t been a loss in time at all. Plus I can use my Slack integrations feed to put together a chronological log of the projects development.
So here were the major goals outlined in Trello for the first milestone which are now complete.
Design
Make list of all character states and draw into a flowchart. There will be a future FGSL post on this specifically. - Design a button remapping system for the joystick interface. - Design a button remapping system for the keyboard interface. - Design milestone 2 goals. - Fix up character movement speeds now that the game runs on a set fixed timestep.
Research
Look up videos and articles to get a clearer understanding of some of the more advanced fighting game terminology. - Look up basic fighting game joystick holding techniques. There will most likely be a FGSL post on this specifically.
Code
Implement joystick interface - Implement global keyboard system (for non-player related keyboard input) - Remove Alex D’s gamepad input library and use GLFW’s for now. In the future I may return to using this library if GLFW’s is lacking. - Implement joystick remapper. - Split character data types into mutable and constant data. For instance a movement data and movement constants.
I had some friends over recently for a drinking social night and decided to break out the PS3. We had a few rounds of Skullgirls. I brought that out mainly because the 2 of the people that were over were artists and I wanted to show them the art in SG (which is really well done).After that we decided to break out Sportsfriends which none of us had ever played. I had gotten a copy for free from PS+ and hadn’t tried it yet. We had a blast playing Sportsfriends.
Sportsfriends is acollectionof 4 mini games with a focus on local multiplayer.
Now when I say I played Sportsfriends, I mean BaraBariBall which is one of the 4 games that is part of Sportsfriends. We played this 99% of the time.
BaraBariBallis so much fun. What was supposed to be a few minutes of gaming before we got back to other non-gaming socialendeavorsturned into a 5 hour gaming marathon.The game is very easy to learn, even when you’ve had a few drinks and really promotes a part atmosphere.
The other games weren’t too impressive and we weren’t able to try Johan Sebastian Joust because I don’t have any playstation move controllers.If you are looking for great local multiplayer games for parties and people who don’t normally play video games then you can’t go wrong with BaraBariBall.
Guilty Gear Xrd
After maybe 10 years of knowing about Guilty Gears existance I’ve decided to finally take the plunge and try the series out. I ordered my copy of GG and have been having quite a lot of fun playing this game.
I’m totally prepared to admit that the tipping point for me to try this game is the insane graphical accomplishment this game has achieved. Once I saw how the game is actually 3d and read some white papers on how they accomplished the look I was sold.
So I already felt I had a good deal as a technical art study. It was a major bonus that the game is actually really really good.
If you come from a Street Fighter background you’ll notice that the game is much more forgiving, combos are much easier to execute. I believe everything is a chain rather than a link but I could be wrong about that. Regardless, I found myself not struggling on execution like I did with Street Fighter.
Thecharactersare also generally awesome, my favorites being Faust and Ramlethal(confirm the spelling). Faust is just a crazy nutbar design with the ability to use intermensional doors.
Ramenthal has 2 huge swords and can use them for zoning, she also has a ton of target combo-like special moves that she can dispatch. She’s definitely a very interesting character to play.
PT
PT is a free game on PSN for the PS4. It’s supposedly a mini Silent Hill. I haven’t played any Silent Hill games so I’m not sure how true that is.The game has you repeatedly walking down a hallway where things change slowly and get darker/scarier. The game I’d say it as its scariest when you are about halfway in when nothing has quite happened yet but you knowsomethingis going to happen.
Sometimes I found thescarinessof the game wascompromisedfrom getting stuck on apuzzle. I ended up checking my phone to figure out how to get though one section and it pulled me out of the game.## Monster Hunter 4 UltimateAbout 18 months ago I came back from Japan and while I was there I discovered Monster Hunter on the PSP. I liked it but I also heard you need to play with friends. Since MH4 was already out in Japan and I didn’t know many monster hunter players I figured when I got back to Canada I would buy a 3ds and MH4.
I didn’t realize that there was no english release of MH4 and that itwouldn’tcome out until a year after I bought my 3ds. Even worse, when MH4 finally did come out they released a new 3ds that plays MH4 with a better framerate and higher resolution graphics.I guess considering this is Nintendo I should have suspected that they might do something like this. It’s ultimately my fault for not confirming MH4 was released in English when I bought my 3ds.The game is great, if you have played Monster Hunter before then it will be very familiar, only much more refined. Despite my playing the game on an older 3ds it still looks fantastic.Also my work has a Monster Hunter club where we play at lunch and various times. This is really where teh game shines. We have a couple high rank players here who have been gracious enough to guide low level players like myself. As a result, in one lunch hour I got more monster parts than the entire 10 hours I played myself.This is a great game for playing local multiplayer. It also has internetmultiplayer which is also good but it’s never as good as being in the same room with the people you are playing with.
I worry about losing 500+ hours to this game.
Strider
Well I beat Strider and did a few of the challenge rooms as well.
I really liked the game overall, the style is great, the control is great and the combat is great. The biggest problem is that they take way too long to introduce you to all the character mechanics. The big issue with this is that the first hour of the game feels way too shallow because you don’t have enough moves. I’ve talked to quite a few people who were turned off on this game because of this. Hell I put it down the first time because I thought it was going to be too shallow.
I feel like they could have unlocked all the items in the first 10% of the game minus the weapon improvements and maybe the kunai. Also the launch attack I found clunky and it seemed to unoptimized to ever be used. I wonder if it would be more useful if it didn’t stop Strider from moving when it executes.
Here’s what Strider looks like when he’s more powered up and has more ability options.
So I wholeheartedly recommend playing this game if you are looking for some hyper-fighting Strider gameplay. The soundtrack is also really good. Particularly the Kazakh theme.