We've made pretty good progress.
Week 3 Tuesday 2018-04-17
Medium-high overall. We're happy with our progress. But it's been difficult scheduling meetings - our schedules conflict. And having to do things over text chat makes design discussions challenging.
Basic 3D rendering and client-server communication.
(screenshot of the above video)
Turret (in Blender, not in-game)
Vehicle block (in Blender, not in-game)
Implement bare-bones 3D rendering and model loading using Direct3D and Assimp.
I got about 80% of the rendering and model loading working (Patrick finished the rest, which I greatly appreciate). Specifically, I got hard-coded meshes of solid or gradient colors to render, and started on model loading. I also coded basic texturing support, but was unable to test it.
I pushed all of the work into too few days of the week, and I probably was taking on more than I could handle anyway.
I intend to polish model loading and graphics so that we can load in and render some basic models that we’ll use in the game, as well as implement some of the relevant scene hierarchy. If I have time, I’ll also document the classes and functions I’ve been working on.
I learned that DirectX is relatively straightforward as graphics APIs go, though some of the setup functions are nearly a mile long. I’ve also learned about LP[C/T/W]STRs and the difference between wide characters and ‘normal’ characters (Unicode versus ANSI). The first wasn’t unexpected, but the second I didn’t realize was going to be relevant at all.
As of Friday, I was a bit frustrated due to a combination of too many continuous hours in the lab, technical issues with the lab computers (could not use them at all) and my own laptop (resolved after a day or two), and not being able to communicate with fellow teammates effectively on architecture design (which is too complicated to discuss over text chat, and we met infrequently in the lab).
Yes, I was able to help out with Client-Server connection and completed the tutorial for Direct Sound successfully. There was a very good tutorial for networking. The game now plays a sound at initialization.
I wish I was able to help out more with the networking portion. I also started helping Patrick with implementing the input class but had to class and extracurriculars. However, I did look through all the tutorials and was able to follow what was updated in the code in both cases.
I think we are making good progress, faster than what our weekly milestones have laid out for us. However, we may run into harder implementations soon, where simple tutorials will not be enough. I would also like to contribute more but having a class after this class is very inconvenient.
I think I met all my personal goals.
I’m not sure… just get as far as possible. I’ll help out wherever needed. Possibly work on model loading, possibly on the scene graph and rendering, possibly on networking.
Well-written programming tutorials to get e.g. Winsock or DirectX up and running are indispensable. Also, group communication and scheduling with 6 people doesn’t just magically work out.
Very high! I’m having a lot of fun and I’m happy with our progress.
Get the style and materials setup for blocks and turrets done.
Rough styling of the turret and blocks, materials initially worked on but not completely finished.
Materials took a bit longer than expected to find the right workflow for, since the assets I had gotten online work only through Substance Painter. Some other initial setup took a little bit of time that I wasn’t expecting to update software for consistency between systems.
Get a working model of the block and turret in (textured), with a stretch goal of getting the core block and driving module also done.
Using bezier curves to create nice lines (again, I had forgotten). How to use smart materials in Substance Painter (unexpected). How to get transparency in cycles renderer in Blender (also unexpected), which was useful to see how my block was going to look. It helped me realize that I should shift the fencing inside the block and mess it up a bit.
Solid. Things seem to be moving along more or less smoothly and everyone’s working diligently to get things implemented (some design decisions still to be made later). Pretty satisfied so far.
Set up the client/server connection and send packets across.
Setting up the client and server and sending packets across.
The goal was easy to meet, so I put in some help with the scene graph setup.
Integrate the graphics client with the networked client/server branch.
This week was slow for me, didn’t have as much extra time to put in as I thought beforehand. And all the networking was pretty much review from CSE 124.
I feel pretty ambivalent, like I am just coasting along. I just feel unsure about the game engine architecture, and we are just tackling issues as they come along.