Remember Me

Remember Me is an action-adventure title recently released by Capcom (developed by Dontnod). It is set in a futuristic Paris, and follows a “memory hunter” named Nilin. Basically, in the future people can erase (or alter) their memories, and there is a big evil corporation profiting off the situation. Nilin is part of the resistance, called Errorists, that fight the corporation.  Nilin starts the game with all her memories conveniently erased, and fights throughout the story to regain her past. An interesting premise, though you can tell the story borrows concepts from other popular science fiction. That said, it’s compelling enough to take you through the game.

Aside from the story, I found the locations and environments to be very detailed and well designed. The graphics are using the Unreal Engine 3, so there are no complaints there. I found the environment modelling to be top-notch, and loved the detail put into everything. A lot of the time, you will be running through the level quickly and even miss all the little things they modeled, like the inside of a shop you can’t even enter. They really went out of their way to flesh out this world. Although there is a lot of detail in the world, most of it is not interactive. You can climb on things, ledges, windows, etc. but only in pre-defined spots. So it’s not like you can go exploring the city any way you like. It’s very controlled and you really can only go on that one path.

One thing I loved about the game, beside being in the future (and I’m a sucker for the future), was that the main character was both female and black. Well actually, she was multi-racial, which may even be more edgy. This is a breath of fresh air from all the games that pit the savior of the world as a white male. So kudos for the developers for trying something different.

Probably the best part of the game is the memory remix scenes. Basically what you do is hack into someones brain and alter their memories. This can have interesting effects, like convincing a woman that her husband died and things like that. This then changes their actions in real-life. This is really an original concept, and was implemented flawlessly. During these sequences you can rewind and fast-forward, through a scene that could play for about a few minutes. During that time you can alter certain objects or actions in the scene to change the memory. Some scenes could have 5 or 6 different objects to interact with, which adds a lot of possible branches for the scene to go in. This is clearly the selling point of the game, and it’s nice to see the polish they put on this. Unfortunately there are not a lot of these memory remixes during the game. There are maybe only 3 or 4 scenes throughout the whole experience. Even so, they add a lot.

However, the game isn’t all praise. I found the combat to be somewhat clunky, and look me toward the end of the game before I got all the combos down solid. There is a system where you can customize your combos. This sounds cooler and deeper than it really is. Basically there are 2 attack buttons (one punch, one kick). There are also 3 or 4 pre-designed combo sequences. What you can control is the power and effect of each hit. So some attacks will refill your health, others will be more powerful, others will increase your cool-down (needed for special attacks). This is great, but I wish you could actually have adjusted the combos themselves, or had more control over the sequences. It’s not entirely broken, but the fighting could have been a lot more fluid. The part of the fighting I did like were the special moves, which are varied and all powerful. Some make you go berzerk, others allow you to turn enemies into bombs, another will make robots explode, another makes you invisible. Overall this adds a much needed interlude to the somewhat monotonous button mashing.

Of course, I was playing this in stereo 3D on a 100+ inch projector using the DDD TriDef driver and it worked well. Although there seemed to be parts of the game when the frame-rate chugged for a few seconds, overall the performance was good and the 3D looked nice. There were only a few small issues, like with real-time reflections, but overall support was good. I’m becoming more and more impressed with the DDD solution, and I was glad they had a profile for such a new title.

Overall, I was happy playing this game for the 12 hours it took to finish. I realize it wasn’t an A+ title, but I sort of knew that going in. If you are a sucker for futuristic sci-fi (like I am) then you will probably find something worth playing here. If you are looking for the next Assassin’s Creed, then you should probably look else-where. That said, I had fun with it.

3D Game Programming

Frank Luna’s DirectX series has been the go to book for DirectX development for many years. Although there are other great resources, Luna’s writing is both informative and approachable. The book also covers a broad range of topics from the basic lighting, texturing, and blending, to terrain rendering, normal and displacement mapping, geometry and compute shaders and more. He even tackles some tough topics like shadow mapping and ambient occlusion in a way that is understandable. Overall a lot of good material in a package that’s a bit under 900 pages.

The book assumes you have some knowledge of graphics and C++ programming, though it does go over some of the basics at the beginning. So you don’t need to be a graphics wizard to read this book, but you should at least have a firm grasp of C++ and some idea about 3D mathematics. Though you don’t need previous knowledge of DirectX. I had some experience with DirectX 9 going in, and I was still surprised about some of the changes with DirectX 11. Although the basic concepts are the same (using vertex and index buffers, for example), the code to accomplish things were very different in places.  That said, Luna’s style made even some of the denser code snippets manageable.

Luckily, the included samples did compile with only minor changes to the project properties. I purchased the Kindle e-book, but was able to download the samples from the website. Although I enjoyed the e-book, I will make note that many of the code snippets didn’t look great on the device. This is a common problem with programming books on the Kindle, where code that should be on one line spans multiple lines and makes a mess of the original print formatting. Unfortunately this book is not much better in that regard. Even so, I was still able to follow the code. I just wish more care would be taken with the formatting.

All in all, a great resource and should not be missed if you plan on writing a game or engine with DirectX 11.