Friday 28 October 2011

Last minute work, the trade show, and awesomeness!

So we finally finished, fully prepared for the trade show. The past week was spent mostly on eliminating bugs, making sure all the features are in and working properly, and making everything pretty. There was also some balance changes, but no major features were added in. Some minor features include a cheat menu, better looking post-match statistics, tweaking movement/animation speeds, fiddling with hitboxes, and handling input more efficiently. The character physics were also changed to be less buggy and more responsive overall. I think this was the point where everyone did bits of everything, with less focus on their own areas, and it worked out really well.

Then came the trade show! I don't think we could be happier with the way that turned out :) Winning the project prize was an incredible accomplishment, and shows off the hard work we've been toiling over for the past year.

Thanks again to Jordan/Vince/Adam for being awesome team members, and to Luke for keeping up with us throughout the project's timeline. This was definitely the best subject of our degree, and we had the most fun doing it!

Thursday 20 October 2011

Sooo many bugfixes!

Today we all finalised everything in preparation for the submission of the documentation, code, and other deliverables. The manuals were checked for grammatical and spelling errors, then printed out to be ready for tomorrow. I've also had a lot of fun with bug fixes...and fixing the bugs caused from other bug fixes :)

Also added in a few last minute additions, such as a jumping delay and movement/knockback tweaks. For the most part though, it's down to ironing out anymore of those pesky bugs which everyone but me seems to be able to find!

Wednesday 19 October 2011

So much work done!

Over the past 9 days (since the last blog :p) we have all put in a large amount of work into the project. The list of changes is near endless, with heavy focus on bug fixing, neatening the work, and making sure that everything looks good while functioning properly. My focus has been the fighting engine and event manager.
I have also added in a few new features, such as:
  • Making training mode independent and infinite
  • Storing all of the post match statistics throughout the match
  • Adding in "pushing" with attacks (where if a player is closer than the reach of an attack, they are pushed to the hitbox before damage/move inertia is dealt)
  • Implemented all the animations that Vince has created
  • Added knockback, stuns, and knockdowns to moves
  • Failed counters (where the user is in a stunned state until they can recover)
  • Setting the range of a move to it's actionpoint (a set point defined by Vince in the modeller) rather than manually entering it as needed
  • Separating the physics of the game, so that they can continue to function between matches (specifically gravity, inertia, and friction)
The list of bugfixes and minor tweaks is massive, but the key focus has been making sure the game cannot be abused and player immersion does not get ruined by game breaking bugs.

At the moment, I am finalizing the user manual with appropriate screenshots and updated information, which is near completion and will be ready for tomorrow.

Monday 10 October 2011

Counter-attacks, bug fixing

Over the weekend I added in a few features to the project, the biggest change being the addition of counter attack. Now, if a fighter successfully blocks an opponent's attack, they have a (changeable) window of .5 of a second to retaliate, causing an instant and powerful attack to occur. All of the values included in this are fully tweakable, so balance changes can easily occur.

Another addition to the moves are separate movesets for each fighter. There is now a base moveset, containing things like blocking and crouching, which is inherited by all the fighter's separate movesets. These contain the rest of their attacks, allowing them to have completely individual moves per fighter. This means that Ivanov, a slow character, can have slow, powerful moves compared to Catalina, who is a fast character, while both executing the same move sequence.

I also did a few minor bug fixes and tweaks, such as resetting the fighters to their start position at the end of a round, and preventing attacks or movement events to be queued up while blocking.

Tuesday 27 September 2011

Bug Fixing, Collisioning

I spent about 30 minutes today writing some fairly extensive collision detection code that would solve our problems of players running through each other (if they had enough momentum/inertia) when I realised...I could just change 1 character from the code we previously had and accomplish almost the same thing :) so that was a waste of time!

A little bit more of the object phyiscs stuff was added in, such as being inertia based, affected by gravity, rotating on movement (appearing to roll) and such. I also fixed up a bunch of bugs lying around in the code that people didn't get around to doing.

Friday 23 September 2011

Lots of work

Over the past week, we've put in a bit of work into project, but today has had the greatest amount of improvements. Yesterday, I helped Vince put together the workings of Story Mode, which is now playable from start to en.

Today I've been working on two things - making combos work as they should, and level objects. The first part was very successful - combos can now be executed as they should, with an additional fun combo added in for testing (hint: hadouken :p). On top of this, all moves now have a range, which does exactly what it sounds like it should. All of the old moves still have the previously set range of 250 for now though, which Vince will be able to sort through later.

The second thing I've been focusing on is physics entities, or level objects. So far, we have blue buttons, that are knocked back and turn red when struck by a fighter's attacks. Eventually, I'm hoping to utilise the animation engine used for the fighters themselves, allowing for background objects that can have animations and react accordingly when hit. Oh, and I'll give them gravity too...eventually...


The AI can inadvertently hit the objects too! These will most likely not affect the gameplay and just be an aesthetic thing in the end.

Thursday 15 September 2011

Prototype complete!

Last night and today I put a bunch of more effort into getting the move system working and up to scratch. Jordan found some sounds for everywhere in the game, so all the attacks make (almost comical) sounds on hit, miss, and block. Vince made animations to go with the new blocking and crouching/crouch moves too, so the game changed into a very playable state in 24hrs. I also implemented a knockback effect (which, like jumping, can be...exuberant at times =p). Jordan polished a large amount of the UI elements of the menus and stuff so the game looks great now.

 The prototype demonstration today went well as well, and tomorrow we will have another skype work day, and hopefully accomplish a tonne more!

Tuesday 13 September 2011

Week before prototype demonstration!

Over the past few days, I've worked on getting the event manager up to scratch with fighting events. Now, you can attack other fighters! Instead of yourself! Lol also you can block now, which is pretty cool. Jordan has also set up the AI to block, and Vince created animations for both block and low block/crouch block. The game is finally coming together, and you can now properly complete a battle from start to end. There is still room for a LOT of improvement, but over the next few weeks it will all come into place.

Friday 9 September 2011

Bug fixes and Blocks

Yesterday, some minor work was done to the fighting engine. The most interesting is the addition of the block mechanic, which required some extra behind-the-scenes additions to the fighting engine to allow recognition of buttons that were held down. Once this was all in place, Blocking was added as a special sort of Move in the game, and Vince created some animations for each fighter. There is still a fair bit of work to be done for it, but blocking is in there!

 I also fixed some bugs, such as the "earthquake" bug where the controller would constantly shake while you were touching the floor, which now operates properly. Hopefully today we will all spend a good amount of time working together via Skype and accomplish similar progress to last Friday.

Friday 2 September 2011

New Event managing

After some...annoyances...I decided that it was about time that the messy event manager was re-written to some extent. Now, instead of 3 lists of lists of objects, there is now 1 struct per fighter, containing all of their event information. Also, the events, while still abstracted from "FightingEvent", are now contained separately, and acted upon as such. This allows for much easier manipulation and updating between the move and attack events, and solves some very annoying limitations/bugs that were happening before.

My focus now is to get the combo timers working properly again, allowing combos to be strung together if the button presses are within the combined time of all other button presses from that combo.

Tuesday 30 August 2011

Move, Moves, and Attacking

Finally, some moves are in the game! Kind of! Spent a lot of time today trying to get a good system going for the attack moves and the attackinitiationevents. There have been some problems with pattern recognition that are -almost- sorted out, but at the moment you can do an X, XX, or XXX combo. With the system being put into place, adding in the other combos will be extremely simple, and once everything is working properly, all characters will be able to use all of their attacks. There still needs to be a lot of work done this week to sort out things like recovery types and hitboxes, but we're on the right track.

Oh also, the fighters still attack themselves =p really should fix that hahaha

Tuesday 23 August 2011

More event managing and Combo lists

The whole group of us spent a good amount of time working on sensei today, trying to get as much work done as possible. I spent most of my time working on the fighting engine's combo lists, containing the current combo that a fighter has running. At the moment this times out either after 1 second of inactivity or after a combo strung together of 10 buttons. This will probably be changed in the future to be wiped when an attack sequence has finished or the cooldown is over.

I also spent some time helped Vince out with setting up health bars, as well as now being able to actually select your character in the character select screen (compatible with 2 player mode atm), and their names and health being represented properly ingame. We then helped Adam through the screen management, with the title, options and stage select screens being changed.

At our group meeting this afternoon, Jordan also put a tonne of work into integrating the animation engine with the fighting engine, and we now have actual drawn fighters ingame, with an awesome animation :)

Overall this was a very productive day, and hopefully we can maintain this level of work!





Monday 22 August 2011

Events! and other stuff

Today I put a good deal of work into the event manager, and have finally got them working as they should. Now, when a controller(human or ai) tries to "move", a move event is activated inside the event manager, and is processed accordingly. Through inheritance, adding in the other events should be relatively simple now, with all of them being processed appropriately and the fighter's update information being altered by each (if necessary). I also did some minor camera work today, and now the players cannot move beyond the borders of the camera-screen. If they move together towards an edge, the camera will move with them however. There is a slight glitch where players are being dragged along with another player's movement, which we will hopefully be able to fix quickly.

Vince added in some round hud stuff over the weekend as well which is cool, so to add to that I made it so the fighters are always drawn, but only controllable once the timer starts. I also fixed a few draw order bugs.

Friday 19 August 2011

Movement, Damage, Rounds, Players, Screens, Modeller!

This week so far, myself and Vince have worked on a few areas of the fighting engine, mainly involving round states, movement/attack functionality, and player registration. The most noticeable change involving this is that now, the players can be moved individually. A sort of system has been set up for player controller recognition as well, where the player who "starts" the game is registered as player 1 (index 0), and then player 2 (index 1) can join during the character select screen. With some help from Jordan, we managed to work out so that this system is not affected by the order of the controllers to make things more user friendly.

There are now also rounds in the game thanks to Vince, where each player will win the round if they have the highest amount of remaining hitpoints when the timer hits zero, with a current system with best of 3 rounds. To allow this to be tested, we added in our first..er...attack thing, where if a player presses the 'x' button while in range of the opponent, they will do damage...to themselves =)

We also helped Adam out a bit with his screen work this week, and now there is a functioning credits screen, as well as a 'start' screen and post-game stats screen. A lot of exciting work has also been done this week by Jordan, who now has nearly completed the character modeller, which looks very impressive and is very functional.

Hopefully before the week is over we can get some more work put in, and make sure that we're up to date with our expected workloads.



Sunday 14 August 2011

Events and movement improvement

Over the past week, a great deal has been put into the handling of the movement controls of the fighters. Most of this has been managed withing the event handler, as well as some of the basics required for damage controls. With the help of Jordan we also now have a near-fully functioning camera, which moves across the arena with the movement of the players. This will soon be adjusted to create artificial walls at the edges of the screen (so the camera only moves when both players move towards an edge).

My current focus is working on getting the event manager functional, while also working together with Vince to get the round states, and shortly with Jordan to include the proper animation for each fighter. There will also be work with Adam on getting the screens implemented and functional with the rest of the engine.

Hopefully this ends up being a fulfilling week in project related work!

Wednesday 3 August 2011

Event Management

Vince and myself spent a few hours in the project lab today working on getting some of the event code completed, specifically for the movement controls. We focused on identifying the circumstances when a user would like to jump or crouch, as well as different angle sections for each - jumping straight up, jumping forward, and jumping backwards. On top of this, there are controls implemented for the same directions in the crouch position, which may or may not be used for particular attacks (sweeps and such?). Also added on was some attempts at getting the jump code working, with basic gravity implemented as well. This still needs a lot of work, and thus doesn't work properly yet. Some debug code has been added into the fighting screen as well to show the exact positions and health of each fighter.

Tuesday 2 August 2011

Back to Uni

The new uni semester has started up, and we've gone straight back into getting work done. Today, we had a group meeting and discussed a large number of things, as well as putting some effort into developing part of the fighting engine and event manager. We sorted out movement events, and discussed the mechanisms that will be used for the implementation of jumping, crouching, and gravity. We will continue this work over the next few days and hopefully complete a whole chunk of the fighting engine.

Monday 18 July 2011

Holiday Working

Over the past couple of days, I've put a bit of work into the fighting engine of the game. Mainly, I've focused on setting up the relation between the different classes and making sure everything can communicate properly. With the help of Jordan, I now understand how they all work together, and am able to I also added some basic functionality-the round timer, and (simple) human movement controls. Hopefully I will be able to expand upon this over the next few days, where I am aiming to have the engine load and adjust differently depending on the fighter chosen, as well as implement the players choosing what controls each fighter (human/ai).

Wednesday 6 July 2011

Mid Year Recess and Meeting

A few minutes ago, we conducted our first meeting since before the exam period, and discussed what we aim to accomplish over the next week. The emphasis at the moment is getting the menus and interfaces coded up (with placeholder graphics for now), a basic fighting engine, and a basic event manager. On top of this, Jordan will continue his work with the character/fighter creator, which will be integrated with the rest of the project.

We decided that it would be best for Adam to continue his work on the interfaces and menus, as he designed them and knows exactly what is going into them. I will be working on the fighting engine for now, trying to get a very basic match going before Sunday. When Vince is available, he will either continue the work on the fighting engine, or begin on the event manager, whichever he feels better suited to.

We will hopefully have some progress done before the end of the week now, and the project will continue its development process.

Friday 27 May 2011

Busy week!

This past week, I've had 3(large) group assignments for other subjects due, and as such, haven't worked much on project. We had our weekly meetings on Wednesday, and Jordan provided us with information and details relating to the updates to the Modeller program for the game. There is now basic spritesheet implementation with it, which when finalised will allow for creation of the game characters and all of their animations.

Hopefully there will be a lot more implementation by myself in the next week, as we further develop the interfaces and get the actual engine going.

Tuesday 17 May 2011

Preparation of Documentation

Today we spent a while in the lab sorting things out with the technical documentation. We also discussed some aspects of the code, such as move information and data stored in the fighting engine. From that, we filled in some more areas of the tech doc, and I fixed up some mistakes that we identified within the user manual. I also converted it over to a printer-friendly version, which unfortunately was far more difficult than it should be due to photoshop's inability to invert colours on particular layers...

Thursday 12 May 2011

Code and Documentation

Today Vince and myself spent a few hours in the project labs working together for the fighting engine, specifically on the event system and moves. We created basic stubs for some factors of this, before getting side-tracked and working more so on various parts of the screen system in our game. We also documented the event system and added it to the technical manual.

We added in a new screen, the AlphaLogic logo screen, which is the next transition after the JXEngine's logo screen (which was renamed to avoid confusion). This screen may at a later date portray a short video sequence or look a bit more flashy, but was just one of the things we threw in towards the screen system. We were working our way towards the main menu and creating a user interface, but this looks like it will be completed at a later stage, although some planning was made for it's design.

Wednesday 11 May 2011

Manual Modification, Code and Project Labs

Over the past week, we have been working on the stubs of various areas of the code for the project. Myself and Vince have been working on the fighting engine, and will be completing the documentation for this area as well. In the meantime, I have also completed another portion of the user manual, with the addition of the controls and combo lists that were created a few weeks ago.

The project labs have also been opened, which means that we will be able to easily collaborate with one another while working on the project and will have some late nights spent coding there.

Wednesday 4 May 2011

Start of Code

It is now week 9, and we've spent the past week doing some more documentation and basic planning. We have a large portion of the tech doc completed now, and i'll hopefully finish off the preliminary user manual this weekend. This week is also the beginning of the code, where we will begin designing the class structures and basic stubs of the fighting engine, AI, and screens. Vince and myself will be working on the fighting engine, my focus being on the event system, while Adam will be working on the screens, and Jordan will continue his work with the animation system and the AI. We will also have to continue the documentation on these areas, filling in the blanks as we go.

Monday 25 April 2011

Long Weekend, Project Aim, Engine Practice

We have a 5 day long weekend (thanks to easter/anzac day) and so this time allows some more project work and other assignments to be completed than usual. During this time, Jordan has also released a sort of lab task which allows us to learn and practice using the engine of the game. This will prepare us for when it comes to developing parts of the project, having an understanding of the different function calls and parts of the engine.

I am now also working on a part of the technical documentation, the Project Aim. Shouldn't take too long, as it is similar to an area already created on our website explaining what our project is about. I will also be creating a context diagram, showing the different parts of the game and their interactions.

Sunday 17 April 2011

Mid session recess and Manual Design

Its near the end of the mid session recess, and i've made a dent into the game manual. The basic layout and formatting is what i've been focusing on, with the various parts of information being provided to me by the rest of the group. I will have it all complete by our meeting on Wednesday, and hopefully it doesn't look too bad considering we'll be missing screenshots and having placeholder graphics. The basic information about the game is all there however, and will provide enough of an understanding of the game for the preliminary documentation, although some minor edits may be made the game is further developed.

Monday 11 April 2011

More Meetings and Game Design

We had our other weekly meeting on Wednesday, with a skip on the supervisor meeting due to Luke being out of the country. However, we discussed a large deal of details for the game, really focusing on getting the character design laid out, as well as the storyline(s) of both the characters, and the game itself. Vince did a large amount of work in that area, as well as designing a number of moves for the characters that will evolve once the limitations of the 2d bone based animation are found. We are also going to begin focusing on the game manual, and over the mid-semester break, we will hopefully put together all of the basics of each page, and have a presentable game manual ready for showing off. There will be some placeholder graphics and minor changes to some elements, however, for the most part it will be complete.

Each of us have been allocated a section of the game manual to complete, with each section being sent to me to be combined into the manual itself. Luckily, the mid semester break will make this easy to complete, with a lot of our spare time having the potential to be spent working on the project.

Tuesday 5 April 2011

Extra meeting

Today (Tuesday), we had an extra group meeting to spend some time finalising the project requirements. We went through all the different functional and non functional listings, and decided upon a few minor adjustments. We also had a large discussion on the 2D-bone based animation that was intended for use. This will have to be adjusted slightly to allow a much greater range of movements in the fighter's actions, hopefully preventing fighting styles from looking identical and somewhat rigid, with very limited movesets. There was also discussion upon the timeline of the project, and our hopes to push the 2nd semester work into our mid-year break, so as to allow us more time to complete the implementation segment of the project.

We will still be having our group meeting tomorrow as planned, and plan to section off work relating to the user manual and some other forms of documentation. This will also allow us to have work allocated to us to continue to work on during the mid session break, as well as possibly making a start on identifying the different areas of the game engine that will need to be focused upon to get the basics started.

Sunday 3 April 2011

Progress

We had 3 meetings this week - the subversion meeting on Tuesday, and our group meeting & supervisor meeting on Wednesday. A lot of planning in the actual content of the game has been set out and decided upon, with a key focus on the different screens of the game. Vince has designed a game screen, and Adam has brought together screens for the menus and character selection, which all look great and are showing how the project is evolving. Discussion also occurred on how the game will play, with some basic technical limitations discovered that will need to be overcome later.

There was also a small amount of discussion on the theme of the game, which can really make or break it. We seem to be aiming towards a more 'happy' style of play, but this is yet to be contemplated fully and will be decided upon at a later stage. This will probably be reflected in the artwork of the game as it progresses.

Monday 28 March 2011

User Manual Design

Just finished off designing the game's manual and fairly happy with the result. It will most likely undergo some large changes in its format, but areas of pretty much all of the required content is there. Another thing to note is some things, such as the Story Mode of the game, might not make the final version. For this reason, some parts will have to be changed or completely removed from the manual, although this isn't a large issue at this stage. We haven't finalised our functional requirements completely yet, but we have had multiple discussions regarding this during group meetings, so i've mainly included the things we require, and a most of what we hope to have.

Thursday 24 March 2011

Meeting, Flooding, and Designing

We held another group meeting yesterday (Wednesday), with a focus on the design of the game itself. A number of things were discussed, with an emphasis on the screen design, the different modes within the game, and a length discussion on the methods that were going to be used for the AI component. As the final product of the game is hoped to included a number of characters (at least 3), the AI would have to be adapted to be capable of utilising these characters, and having an adaptable strategy when fighting against different characters. Jordan has a method to sort out these issues with the AI, so hopefully it all turns out working correctly.

The planned subversion meeting for Tuesday was called off, due to the severe flooding in the area and Jordan being unable to make it to uni. To make up for this, the meeting will instead be held next Tuesday. A similar situation occured with our supervisor meeting, with Luke being called off campus, which will allow us to have additional planning prepared and presented for next week. The time that we would have spent at the supervisor meeting this week was instead spent (un)wisely, but each of us were allocated our tasks for the week and will hopefully come prepared next week with completed prototypes.

Monday 21 March 2011

End of the 3rd Week

Over the past few weeks, our project work has mostly been working on administrative purposes and getting things organised. Our project choice has been accepted, we've got our group signed in and sorted out, and our meeting times have been set in stone (for both our group and with our supervisor). In our group meetings last week, we also pushed forward our website development, with less emphasis based upon it. Thanks to Jordan the website is actually up already, and looking awesome.

We have decided upon google wave for group discussion and posting of stuff, subversion for the actual project, and blogspot for our development diaries, as well as the posting of meeting information, with a group meeting on Wednesdays, followed by a supervisor meeting afterwards.

We have also decided upon a SVN meeting on Tuesday, which will help provide us with all the information we will need in order to use it properly for this project, and hopefully avoid some of the errors we have had in the past in relation to commits and updates.

Looks like from this week onwards we'll get into the fun stuff (designing, prototyping etc) as well as begin the documentation, so it should be pretty interesting.