See that mountain over there? You can’t walk through it.
That’s essentially the crux of our week. Bert, Dexter, and Pavan came through and gave us working wall and floor collisions. They work pretty well, and the players can even jump on top of each other (it’s kind of buggy though). We also worked on furthering our puzzle creator system, trimming the fat when it comes to game design, and Jeff is now considering a minor in ICAM given how much Blender he’s been doing.
It’s all downhill (i.e. gameplay programming) from here! The infrastructure needs some final tweaks to get things perfect, but we can finally say that the engine is done! This is an engine programming class, right?
Here are some images of stuff that happened!
My goal for this week was to get collision response working.
I got it working! Me, Dexter, and Pavan teamed up and fixed some bugs in the ray-casting to get the wall sliding working. I also got the jumping working, so the players hit their heads on the ceiling, fall off of ledges, etc. This basically makes the first two puzzles fully playable (presumably other folks have screen shots of it?).
My specific goals for next week are to get the inventory system and “chest opening” working.
My morale is great, I put in a bunch of hours and got a lot done!
Sorry, but no poetry this week. I’ve finally finished our collision system. It only took six weeks to get here. Oriented bounding boxes collide with each other properly, and in Release mode, I’m maintaining a pretty high frame rate. The octree I spent so much time implementing is paying off, and I’ve learned a whole lot in the process.
Last week I also spent a little bit of time exploring our particle system, and modified our object loader to parse particle definition files and place them appropriately in the scene. Emitter loading works quite well, but I couldn’t for the life of me figure out why no particles were actually drawn, despite the emitter object being properly placed and initialized. Because the team was really waiting on my collision code, I decided not to invest more time investigating, but I’d really like to get to the bottom of it. Our renderer is gorgeous as is, but you’ve GOT to have particles.
Pavan and Bert managed to get player-player collisions working well with axis-aligned bounding boxes. It was definitely a boost to our morale (in that we’re one step closer to actually having a game) and mine especially, since I’ve been struggling to get the collision system usable enough for gameplay.
Next week’s goal is to flesh out the gameplay. Implement more puzzles, get the player’s crosshair working properly when raycasts intersect interactable objects, and to assist anyone who needs to use the collision system. I’ll be picking up any miscellaneous tasks as needed, and fixing critical collision bugs if (when?) more arise.
This week my goal was to increase the robustness of the Activator Registrator system that was Jason created. Also I wanted to figure out what was going on with the client bug in which when loading 4 clients on the computer, clients would some times gray out and not start.
I was able to increase the robustness of the Activator Registrator with a more generalized version of parsing the naming schema which maps the targets to activators and vice versa. Right now the general framework is set up to be able to parse more complex naming schemas.
I was unable to figure out the the graying of the clients, and Pavan said he would look at it later this week. This might be a show stopper if it appears near release, so it would be very helpful to find it soon.
Next week I will continue to increase the robustness of the Activator Registrator system so that when we implement gameplay, we just have to worry about the naming the blender files. I am also thinking about sending events over networks which will include the sounds. I will be out of commission on Thursday and Friday as I am heading out for an interview.
This week is particularly tough for me and I am feeling really tired. I want to work more on the project but my other commitments are preventing me from doing so. I am doing my best to work on it.
This week I worked on fixing some basis things we relied on, such as player movement. The script I wrote forever ago was very hackish, and made certain things more difficult than they needed be, so I reworked a lot of the FPS controller (fixing a rather nasty bug in the process). I also helped Elton further extend the Activator Registrator, making the system a good bit modular than it was before.
I also worked on using Dexter’s Raycasting API to allow pressing on buttons and levers. While this works fine (hard to tell but I am indeed clicking on that button in the GIF above), it really made be notice the also rather hackish and inflexible way we were sending Input data over the network, something we also did very quickly at the beginning in order to just get things going. I’m going to work on fixing that now, as it makes certain types of input events (such as clicking or jumping, essentially one-time, edge-based actions as opposed to continuous actions like pressing forward) really difficult to do. It’ll also give us much better controller support than what we have now, which is what we want to do.
Finally, others have agreed to add more puzzle components, so I’ll be briefly helping them with how to use the Activator Registrator system.
I’m feeling OK at the moment. I didn’t get as much done as I would have hoped last week (Overwatch open beta ;_;) but now that collision is done (I feel like I’ve said that several times now, hehe) puzzles can be directly tested in actual context, which should make development soar. Not looking forward to diving back into networking code for the Input system though…
This week I focused almost entirely on art, which is just about what I was expecting to do. The main pieces of it that I worked on this week were creating the base room models for the armory and cargo hold. I also worked on several smaller props such as modelling a chest and texturing the pressure plates.
Finally, I figured out and set up a workflow to combine all of the individual pieces together into one large master scene file. Other than art, I made some small improvements to the object loader and fixed a number of bugs throughout the game.
Next week will again be largely art, plus possibly doing some basic UI programming. In particular, I hope to finish up the props for the rooms that I have already modelled, and texture the security room. I am feeling pretty good about where we are in the project and am looking forward to finishing up the game.
Last week my goals were to implement respawning, which I was able to accomplish, and help with wall collision and jumping. Dexter and I were able to help Bert complete both wall collision and jumping so that we were actually able to play our first puzzle through.
My goals for next week are to help Dexter with a crosshair that changes color based on what objects you are looking at. I also will be working on fixing a bug that we have in which clients don’t load fully. It seems like they aren’t receiving all of the data over the network that they need to, so I will probably look into the networking code first to see if I can figure out what is going on.
I feel good about the progress we are making and it was cool to be able to actually play our puzzle last Friday when we finished jumping. We just did a re-prioritization of tasks which also makes me feel better that we will be able to finish on time.