Something went wrong. Try again later

PeezMachine

This user has not updated recently.

707 44 20 25
Forum Posts Wiki Points Following Followers

SummerJammers Update #5: Ask Forgiveness, Not Permission

If you're new here, I'm working on a Giant Bomb themed version of the 1994 Neo Geo "classic," Windjammers. It's like pong with a frisbee.

We're back. Here are some screenshots.

No Caption Provided
No Caption Provided

Welcome to the world of placeholder art! The big circles are player avatars, the small red circle is the disc, and the little red bar in the upper right corner is a goal. The first shot shows a player holding the disc (I haven't touched any of the position "origin" logic, so the disc goes to the upper left hand corner by default) and the second one shows the disc in motion. For testing purposes, I can control both players with a single X360 controller, with player one moving about on the left stick and player two via the right. Yes, this means that I can play SummerJammers against myself. No, I have not been doing that.

So what's new since last time? On the surface, not much. The throwing is new, and I fixed an issue with resolution scaling (and centered the letterboxing, which is what those blue bars on the top and bottom are). I did a little bit of work on moving some of the hard-coded test code into more generalized implementations; for example, the players now get their control schemes properly constructed instead of being hard coded to respond to particular inputs from my X360 controller. I also finalized how I'm implementing the GameComponent class (not using the XNA one at all).

The rest of my time on SummerJammers - and it honestly wasn't much, what with the holidays and all, most of my work has been in the past 24 hours - was spent thinking about further engine changes and (gasp!) some actual mechanics. Firstly, on the engine front, I'm probably going to redo the render system so that it uses a "viewport" that essentially views a projection of the render surface. The transformation math is really trivial for a physics major like myself (which is good, because this part of XNA's library isn't its most user-friendly bit), and I think it will make it a lot easier to deal with z-axis stuff like disc pop-ups and (another gasp!) jumping, possibly. There are times when I'm still tempted to redo large chunks of the GameComponent framework until I remind myself "it's flexible and modular, you can override methods in your subclasses if you need to" and move on to something else. I've been doing a lot less pre-optimization lately, taking a more "get it up and running in some fashion now, generalize it later" - the "better to ask for forgiveness than for permission" of programming - and it's been working out very well for me. Fortunately, I've done a pretty good job of "black box" programming, which is ensuring that when part of the program needs to talk to another part, it doesn't have to worry about how the sausage actually gets made. Part A will simply ask, "hey, Part B, you got that thing I need?" and Part A does some hidden magic and produces a result. This makes tinkering with the innards of individual parts of the program fun, easy, and less likely to break a lot of other things in the process.

So let's move to the fun part (although, to be honest, all the "thankless" engine work so far has been incredibly rewarding and educational), the actual game mechanics. I haven't implemented anything yet, I've just made some short pro-con lists and thought things over in the shower and over my giant whiteboard (but not both at the same time). Here have been some of my musings so far.

1) Dual stick controls? Moving with the left stick and throwing by flicking the right could allow for more in-air control of the disc, but would also restrict the range of usable controllers and increase reliance on using back triggers on controllers, which isn't always a great idea when you need to be precisely working two analog sticks at the same time.

2) Charge meters? The special moves system in Windjammers has never struck me as particularly elegant, so it was one of the first things I thought about in terms of mechanics. Right now I'm coming down against charge meters, as I don't want the game to devolve into a "play it safe until you can drop a special" fest. Making the specials feel rewarding without having the game be all about them is definitely the biggest design question on my mind right now.

3) Jumping? I'd like to reward players who can take control of the court and push right up to the center, and I think having the ability to jump and spike the disc could be a good way to do this. Think of it like guarding a ball handler in basketball - if they're so quick that you have to stay back from them so you don't get passed, you're unable to pressure them on a shot. Jumping would also make for a great way to punish a misguided lob attempt. Get that outta here!

In other news, I'm cutting the update cycle down to one week from here on out unless I think I''ll be unable to do much work for some reason. The 2-week turnarounds usually end up with me putting in a few days of work, finishing what need finishing, and then taking the rest of the time off, and I'd like to get this train a jammin' if you get my drift.

ALSO, HEY, it's time to seriously talk about staffing up over here. I'm hoping to have the collision detection and viewport rendering all done by next week, which means that I will be more that ready for assets. So here are some things I'm going to need help with:

1) Art and animation assets (all 2D). I can handle the logic, we just need the assets unless you really like my big white circles. Style will largely be left up to the department head(s).

2) Sound and music.

3) Networking (probably not until the game is otherwise feature- and asset- complete)

4) Something else, I'm sure.

I'll keep doing the design, logic, and writing (story mode, baby!). I would like each department to be headed up by one or two people who know what they're doing and would be in charge of whatever people they can scrounge up. Since we can't sell this game (for obvious intellectual property and likeness rights issues) nobody's getting paid behind any of this. Next week's update will hopefully include a formal call for department heads, so start thinking about it. If heading the department isn't your kind of thing, you can still contribute as a team member! What do we think would be the best way to manage all of that? Google doc for sign-ups? Let me know, we have a week to think about it.

So happy 2014 and Jam like nobody's watching. I'mma go add some collision detection. See you next week!

2 Comments