Latest Entries »

Final Blog Post

So currently I have 2 versions that I am planning to submit:P

The Game – Battle of the Space Invaders: Magnet World

The Flight Simulation – Solitaire World

The reason for submitting both is because I initially wanted to create a game and it wasn’t looking like that was going to happen so within the last few days I changed the concept to a viewable simulation that would randomly generate different graphics. But yesterday, Tim Z. actually insisted (and I really mean insisted) on getting this game (control system) working. So what i’ve ended up with are 2 products that are similar in graphics but give totally different user experiences.

No time – But I would have loved to add bigBlue in there too, so if you’re winning another flock of bigger boids come out and act as a higher level of difficulty for game play. Well, there wasn’t time for this, as I was aiming higher… and also slightly more important features such as a collision animation because it was very stock standard. So with a bit of help from Tim also, rather then creating an explosion type, we were aiming for possibly an electric field gatherer that sucks in the boids. Also, as usual, Tim got a little carried away with the concept and wanted to incorporate hp for each boid so the electricity would be shown for a few moments more then just an instant flash… This is one area that is pretty much unfinished as when Tim gave up, I went back to working on the Flight Simulation… Currently, each individual boid has its own health pool and when in range of it the bigger flock will triumph the smaller flock whilst still damaging all boids. The damage is dependant on the size of each flock (was the intention). Also, wanted to show the animation of paths (electricity) forming from one boid to colliding boids.

The Game, as intended now has the gathering system which gathers your ‘pods’ to follow your commander and be able to direct them into the enemy planets. Also, with Tim’s help a missile system was setup and the ability to shoot is crazy fun:P We still experienced a few difficulties when implementing this as well as the control system which have been rectified with the code (solved with the way the velocity was being multiplied). So yes, as I’ve mentioned quite a bit – Tim has helped out an enormous amount and deserves credit for his implementations, but I really wanted to show what my project would be like as a game.

As for the flight simulation some of the game elements have been left out and discarded away. Such as making the boids die on collision so when the avatar boid collides it doesn’t die and therefore the user doesn’t have to click anything during the animation process. Giving the users the ability to control stuff also did feel like a bad idea as it will be confusing for the users to know which buttons to press because of the current screen space. Perhaps I should have made it full screen. This might be considered a good thing too, but the fact that the instructions will never be obvious enough might become annoying and frustrating for the users.

In terms of getting rid of the collision altogether, instead of making it so nothing dies, I think it would still look awesome to keep it as it still gives a battle / war themed feel and so I’ve decided to make the avatar boid the only invincible ‘player’ on the field and you can still see other explosions (if on the screen).

Over the last few days I am playing around with other looks and what could be achieved and so little things like whether or not the rectangle that is drawn over the screen should be black or white? And i’m actually in different states of minds still as sometimes I think it looks better both ways… I thought also that it would look better without the frame being drawn, but looking over previous blog posts of screen shots with the frame, it looks good and I am really not sure which to implement.

The last thing to implement was the automatic transitions and this was a pain. I initially set it up according to the millis(), second() and minute() functions but it was creating a lot of errors (index out of bounds, null pointers, concurrent etc.) It felt like Proscene just really didn’t like it. So changing it to an accumulative amount whenever the draw() function occurs I think was the best way to achieve a fairly controlled yet random duration on each transition.

If I had more time, or had come to the realisation of a non-game-like assignment, then I would have possibly included textures based on the card suites where i’ve placed the squares. The resulting effect also makes me want to play with different types of 3D models too, for example the worlds have a really nice smoothness and fade to them whilst the ships are more jittery and the non OBJ Models create some really kool effects that are in contrast to the 3D models. I would have really liked to try more shapes with actually creating the 3D meshes within Processing as it would have broadened my view on the possibilities.

Now that I have a game and a simulation to submit, I feel as though combining the 2 would create an excellent feel to a crazy world whilst it being a game too… but it’s just a little bit late to try… :/

Overall, I am happy with the outcomes (also due to help from Tim for his technical skills and Mark for helping me out with what libraries I should use). I have learnt a lot to do with flocking in a 3D perspective, especially when I started, I didn’t know anything about 2D flocking and dived straight into 3D.. (could have been a disaster – but I was very fortunate to the contacts at uni). I’ve also learnt a lot in processing itself and I feel like it’s definitely better prepared me for 3rd year.

Simulation progress

(Tim actually got my controls working… I really want to hand in both, just to say, this is what my game would have looked like, the feel and such – but i’ll definitely be handing in the simulation – or perhaps I can combine the 2? so its a simulation and a really tricky game at the same time)


Ships of the Solitaire World

Maybe not as good a ring to it as I am imagining.. but nonetheless, an appropriate name:P So my current progress with this is mainly being able to get the objects within the scene to fade… it definitely looks good, has a lot more definition now, but for some reason I just don’t like it as much as it was b4… There are definitely more pros with this though as it can now easily be a continuous piece that requires no interaction (which is what i still have to fix up).. but I guess time will tell.. Maybe I just need to be drawing a white box instead of black though

This slideshow requires JavaScript.

screen text()

and omg its that simple!!!

textMode(SCREEN) == problems solved!

With the help of Mr Hanman, i’ve been able to create a sorta art-ie feel to accommodate the fact that my project is no longer a game.

The natural effect that I’m seeing here is a ‘Solitaire – win state’ effect and I think at the moment it works quite well, if I adjust some settings more..

I feel like this also allows me to now add interactions to affect the final outcome – either by mouse co-ords on the screen to change lighting properties or perhaps colour of the boids themselves or anything really (that will still have a set of instructions:P). Possibly changing the distance of the camera to the boid it follows.. (if I can actually figure that out too, would be great:P)

This slideshow requires JavaScript.

Charge to the Finish line

OK.. so with only a few days to go… having not touched my Real Time project in a while, I need to set myself a few goals to complete.

As mentioned in previous posts of my current progress, I am now at the stage where trying to implement the controls for the ‘Commander’ boid is a little beyond my technical skills and to attempt to achieve this within the time frame is being extremely optimistic. So the tasks that I have set myself to achieve (and some tasks that would be good but arn’t as important – so ideas in a way) with some direction are:-

  • Add instructions of how to use the program (creating a better user experience)
  • Add a collision graphic for each boid when they die. <- drastically improve
  • Add a background
  • Add more obstacles (as each planets health goes down it sends out perhaps a flock of 3 big droid things and each boid droid takes about 10 hits to kill? )
  •  ****In addition to changing collision graphics, I stumbled upon the surface library that allows the transformation of objects such as torus, spheres, etc so this could help towards the effects of either each boid (although I’d have to change the current boid to a created object rather then the OBJ file i am currently importing) or the planet obstacles themselves as it actually gives some pretty kool effects.
  • ****I also found this other library that mainly handles 3d shapes. I am yet to fiddle around with this but I think it might possibly help.
  • ****Another library is the unwrapping library where it unwraps the 3d mesh – this gave me another though to the destruction of boids or planets. So i’m not 100% sure on what to use just yet.

Alrighty, so I have definitely set myself possibly too many tasks to achieve (maybe in the way to achieve them) but I think it’s good to be optimistic:P and I guess, I’ll keep you posted…


Current Progress

Ok, so on Thursday I had a massive reorganisation day (with help from Rob ofcourse) in writing my code. I now have a clearer idea of how to code up my game and their is a structure now so it’s easier to actually do things that I intend to do without getting sidetracked. 😛

Within the reorganisation process, we managed to get the ‘Collision’ aspect working against the Planet obstacles. So whenever a boid hit an opposing teams planet, it would ‘die’… since then, I’ve been able to respawn the boid back into action so it almost becomes an endless game.. This will have to be changed so i’m going to give each planet a health pool and upon death of the planet a winner is announced. I’ve also attempted to make the flock’s collide and die / respawn too.. Although for some reason whenever I try make a little animation of when the boids clash it doesn’t seem to work (lagg’s immensely).

So after the collision is fixed.. other elements that I will have to try implement is :-

Creating a Commander – Creating controls – Adding decoy planet obstacles (perhaps at certain health of planet?) – controlling the camera better so it’s either always in 3rd person view, or changes to different boid upon death of current Avatar..

Umm… i believe those are the main implementations I will have to add before getting more crazy and mind boggling:P

Since yesterdays class and last weeks when I had decided to continue with a game aspect rather then a screen saver I’ve been worried about whether or not what game mechanics I should include or try incorporate / implement.

Because this is a 3D view (third person), I wasn’t sure if I should make it so each boid can shoot down a target? and I thought, it may be laggy enough without each boid constantly shooting (and then would I have to implement AI if I went down this path?). So I think what I chose is still a fun idea to create… and once I work out the code for normal collision, it’s almost knocking out 2 birds with one stone. So what I am thinking is to have 2 planets (1 spawn on each end and this will be the starting point for each flock). The ‘computer’ that you are versing will do it’s flock-like thing and randomly fly around and if it hits the opposing (your) planet then which ever boid’s that hit /collide will blow up (disappear) and the planets life will be taken down.

Im thinking that as each boid dies… it will they will respawn again at their base planet. Boids can also run into other boids to protect their own planet. (but im not too sure if it’ll be too difficult to make it so i can control some boids seperate to a flock if they’re already in the flock radius? in the event of setting up defences like patrols…

I am also thinking of having other planets (so like a solar system to make it more interesting in having … more things to kill…)

So at the moment I’ve been trying to get 2 flocks working at the same time… (good vs evil or P1 vs P2)

When I first tried, it seemed as though the 2nd flock was limiting itself with smaller boundaries.. so I tried fixing that by adding it into different ‘for’ loops but now I am getting an affect where it looks like there is 4 travelling at the one time when it is only the 1 still. (well when I pause it, its still only 1 unless 4 are travelling at the same time?)

Anyway, I can’t figure out what I’ve done and I can’t get back to where I was (just don’t know what I did), so I am currently in the process of re-writing my code… :/ Hopefully i’ll spot what I’m doing wrong…

Just uploading the presentation slides that we’ve just had to complete in the last week…

This slideshow requires JavaScript.

post presentation number 2

after the presentations I received some very good inspiration and direction from Will and Rob.

And the plan is to make one Boid the captain so to speak and the flock reacts to the captain… (the captain should also be controllable)… time to act..