As advertised, here is an executable version of the DX/C++ project I worked on at University. It is a small space ‘game’, or rather the beginning of one. The task was to create a simple game using the DXUT framework. It included procedural terrain generation, working with vertex and index buffers, HLSL shaders, particle effects, movement and collision detection. Originally the player was to be in a stationary turret, firing on enemies that would spawn at random positions and fly across the terrain, but that wasn’t interesting enough for me, so I modified it a bit.
So…it has been more than half a year since my last post here, but I hope I will put out some stuff in the near future. I have a little project in my head and I want to at least share the ‘design document’, but hopefully I will turn it into an actual project to post about. Also there is this small C++/DX project I did at University and I want to post one or two things about it and probably even a executable build. But first I will write about my recent trip to Gamescom 2013 in Cologne. (Pictures don’t relate to the text, just some nice looking statues)
Day 1: Wednesday Aug. 21st
Due to studying Computer Science: Games Engineering I was able to visit Gamescom as a Trade Visitor, which meant access to the Business Area and also to the Entertainment Area earlier than Private Visitors. The Business Area was kind of a letdown, since most booths were closed to the general public and you were only admitted with an invitation. There still were some games you could not see in the Entertainment Area, but not playable, sadly.
Being able to visit the Entertainment Area on Wednesday was a whole different story. You could actually move around without having to elbow your way through thousands of people and the queues at the booths were actually reasonable. After a quick round through the complete fair grounds, I went to the PS4 area, since that console interested me the most. Read More »
Some time ago I created two models for inXile’s Unity Crowdsourcing Experiment. A turret and a bicycle. I am proud to announce that both assets were accepted by inXile and should be found in Wasteland 2, when it gets released. They can already be downloaded from Unity’s Asset Store (for free).
I also created a concept for one of the drones, but sadly haven’t had time to create the model yet and, since the deadline for the drone-batch is now two weeks past due and I will not have the time for at least two more weeks, it is doubtful if I will ever create it.
Since the practical course at University is finished, I now present you the final submitted state of the puzzle platformer. The single existing level is a bit short and the puzzles don’t really deserve that label, but it shows the assets and functionality. Once the level is finished, it will be loaded again.
Here is a screenshot:
And here you can download it.
After trying to wrap my head around procedural mesh generation in Unity for hours and failing repeatedly, I decided to use Unity’s Line Renderer instead of generating a real mesh. Besides being easier by orders of magnitude it also helps keeping the polycount down, while offering good visuals, although it seems to ignore most of my material’s properties. Not sure if I can get this under control. I kept the curves I calculated, and created an empty for each sub-Spline with a Line Renderer Component using the points calculated for the respective subspline.
Here is the finished code. Sadly it doesn’t have the instant feedback in the Editor anymore, but I had to remove the ExecuteInEditMode. The objects created weren’t cleaned up properly when returning from PlayMode. If I find a way to have both, I will update the code.
For my current project I need some way to show the player which button does what. The easiest and way that doesn’t show too much or annoy the player is some wires connecting the buttons to their respective mechanisms. First I created some models, but I wanted more, so I decided to write some code to procedurally create wires between two objects.
I divided the problem into three smaller problems:
- create a Master Spline between two objects that curves according to gravity (cosh(x))
- create multiple sub-Splines that curl around the Master Spline
- create the actual mesh by creating and connecting vertices around the sub-Splines
I teased a bit about my current project in my last post about squishy bones in Unity, and I figured I should finally put some information up. It is the final project for the practical course at university, with the requirement of being a platformer. I decided to create a 2.5D puzzle-platformer-hybrid, starring a blob of jello (after attempting and failing to recreate a look I wanted to use for a short-movie once).
Two days ago I wanted to get an animation using stretchy bones from 3ds Max to Unity. I tried to simply export it using .fbx, but when I played the animation in Unity, my character, a blob of jello, just waggled a bit, and didn’t squash or stretch. Yesterday I found a working solution, and I thought I’d share this here, just in case someone has a similar problem and finds this.
First a little warning, or two. This might not be suitable for complex rigs, for several reasons, one of which is the second warning: I will be breaking a paradigm here, that I usually adhere to almost religiously. As you might be aware (if not, you will be after reading the next few lines), you should never ever (ever) scale an object that you might want to animate at any point in the future, especially not non-uniformly. Scale only in edit Poly Sub-Object mode or use a XForm Modifier. If you scale on object level, you distort the object’s transformation matrix and all children will move/rotate in this distorted coordinate system. You can easily notice one problem, when you rotate a child of a non-uniformly scaled object. If you really have to scale on object level, always use Reset X-Form afterwards to reset the transformation matrix (rotation is set to (0, 0, 0), scale to (1, 1, 1); position is left untouched), even if you don’t plan on animating the object ever, just to be on the safe side. I try to avoid the pitfalls I know of here, but be careful anyways.
Read More »
I am well aware that this might not ever reach anyone even close to EA, but I have to write it somewhere, and before I hijack someone else‘s blog to write about something he might want to write about himself some time in the future, I figured I use my own, you know, like a sensible person.
I know you want to make money (well, anybody knows that) and I am quite sure you want to salvage as much as you can from the wreckage that was once labeled to be the next bright star in the MMO universe, also known as Star Wars: The Old Republic, but the way you are trying to do that right now is just plain wrong. Not open for improvements or worse than other ideas (actually these, too, but that would put it too mildly), but wrong. You know as well as I do, that the F2P option was the last resort for the game, but your F2P idea is not even related to what other people (and especially gamers) understand under F2P. When I read the limitations for the SW:TOR F2P accounts, all I saw was a big Fuck You! sign. Always a bad thing to show to a potential customer. You might say that you only lost a gamer who doesn’t pay, he won’t need the bandwidth he would need otherwise, making this a net gain, but again, you are wrong. You want people to play the game, even those who won’t ever pay anything, since they populate your servers and when they already have fun with the game, they are more inclined to pay some money for it. Someone who doesn’t play your game will never pay for it. There are tons of other F2P games that welcome gamers with open arms. Just providing something for free doesn’t make people use it. It might not take any monetary investment to play your game, the only barrier to entry is a good internet connection, but we have to invest something else: our time. And for many gamers this is an even more limiting factor than money, especially if you have a full day job. People will rather spend their time playing something that looks like it could be fun to play and doesn’t take core features hostage until they shell out some amount of money. You don’t want F2P accounts to feel like they are punishing those who don’t want to or don’t have the means to pay for it. You want players to feel like they are playing a complete game, not some trial, and anything that they can pay for is a bonus, not something they expect from the game anyway and is missing. F2P gamers currently are second-class citizens in your MMO. You even call gamers who have spent money ‘Preferred Status Players ‘ to drive that point home. Stop that madness and remove the limitations you are using.
One thing I nearly forgot. These limitations don’t only hurt F2P players. Your preferred status players can also suffer from them. When the server or client fucks up for some reason, and you are booted into F2P-mode although you are still on an active subscription or have a valid timecard, you have to rebind all your actions to your toolbars when you are back in the full game, you receive all the collectors edition and other promotional items again and it is in general quite the bother for the player (if you wonder how I know so much details about this specific topic, just this happened to a friend of mine today). Think about it, even players who love the game (for whatever reason) with all its flaws are annoyed for no reason, just because of your stupidly wrong view of the F2P market.
Added two more enemies. A flying saucer that fires lasers in a spiral pattern and mines that are deployed in random minefields. These mines explode on impact (obviously) and can be shot down. Additionally, they are magnetic, so when the player comes to close, they start tracking him, but he can fairly easily move out of range again. Probably into the range of another mine, evil grin. Sometimes the last resort is a Smartbomb. Just like with asteroids, the player’s guided missiles will not lock on to mines, but unlike asteroids, enemies can pass through mines unhindered and enemy projectiles also won’t destroy them.
Lastly the spacecraft from the last post are now created in groups of five, flying one behind the other, just like in the good old days of SHMUPs. It is slowly getting crowded on screen. I might have to create real enemy patterns soon instead of just spawning them more or less randomly, to make it less luck dependent.
I updated the uploaded build, so you can try it and see how long you survive. Did I mention that I halved the players health?