First time using the journal system as I've only just upgraded to GDNet+ which to be fair is somewhat overdue as I've only been a member now for... oooh 5+ years!!
Anyhoo, I feel like I'm giving a little back to the community now, not just with my GDNet+ susbscription, but also I'm being more active in trying to help in the forums now as I'm starting now to feel like I have somewhat of a reasonable grasp of games programming in general... and boy it's taken a long time to get to this stage purely because there is always something new to learn... I suspect it is one of those things you can never truly master.
Anyways, I'm currently working on my physics system for Madlib mayhem. It's pretty much doing the job it should be, but I just found out that it's only really working properly when the collision plane normal's y component is 0, i.e. it is not slanted up or downwards. That's okay though because it will be simple to create a set of collision polygons for any object that follow this rule and is quite in keeping with the 2d/3d style of play.
I also got sick of seeing the enemy puck sitting there doing nothing, so in about 30 minutes I coded up a rudimentary AI system for the puck, and while it sometimes moves about like a kangaroo on speed, it is actually quite a fearsome opponent!
I plan to overhaul this with a more OOP friendly design rather than the hack I presently have in, and I think I'll be more systematic in my design, letting the AI set itself goals such as defending the goal, anticipating the puck position, trying to take a sneaky snipe shot at the goal and so on. I'm going to try and model it as closely as possible on human behaviour and give it a few variables that I can use to adjust the skill such as goal changing speed, offensiveness, defensiveness, etc.
One thing I worry about though is that it may be hard to cater for airhockey tables that are not a regular shape. I'd like to be able to have tables with multiple goals per player, circular tables, triangular tables and so on.... something a bit different to the norm!
I'm also a little unsure how to implement the mad-lib element in a manner that doesn't feel like the idea was just an afterthought. I'm thinking that each round will be a fight over control of the current word going into the madlib. Each map will have a dictionary of words to choose from and players will choose a random word of that category to use. Whoever scores next will have their word inserted into the madlib.
I think this system would be fun, but does feel somewhat tacked on as the word really has no relation to the airhockey gameplay. I have no solution yet, but I'm thinking on it!!