3D Tetris - XNA Gaming Heaven

Computers, Gaming, Programming, Student, University, Xbox 360 8 Comments »

3 weeks ago, we were given an assignment to work on in small groups. The assignment was to make a game for the Xbox 360 in XNA Game Studio Express, which could either be 2D or 3D. The possibilities were endless, and so me and my partner Conrad decided to go all out and port one of the most popular 2D games (Tetris) to a 3D environment.

When our lecturer first heard about this, he was concerned that it might be a bit too much work for 3 weeks, and that we should start out small, perhaps trying to make 2D Tetris, and then if we thought we could port it across, start to make it in 3D. Fuck that we thought, and started planning a 3D game engine.

Of course, being lazy students, we didn’t do much but plan for the first 1.5 weeks, and then realised we had so much to do in very little time. So we started out by building an environment, which had a rotatable platform, and an array of booleans that would act as the movable area for the blocks. We then decided that even if Tetris 3D was even possible to play in 3D, it would be the hardest game ever…and so we did what any irrational programmer would do…make it harder. We renamed out project “3D Psychedelic Techno Tetris”, applied a spinning background with awful clashing colours, and added the aptly named “Logical Song” by German techno band Scooter…on and infinite loop.

Programming went better than we had ever expected, and we soon had a fully playable game that used a multitude of clever and intuitive methods to move and detect blocks. Without intending to do so, we had inadvertently created the first fully operational 3D Tetris Engine, which could be easily modified, and content (such as new bricks) easily plugged in. Since everything in controlled by a series of constants and calculations, you can easily change the size of the platform, the shapes of the blocks, and even the way the camera moves around the grid, and the game will work out how to make it playable. As so many people have claimed for so many different products: “It just works”.

So I guess I should get down to features:

- Blocks spawn at the top of the environment and move down until they either hit the platform or another block.
- Blocks can be rotated about the X, Y, and Z axis.
- A “shadow” block predicts where the block will come to rest if you were to do nothing further to it.
- Lines and columns that are “complete” will disappear and blocks above will move down to fill the gaps.
- The next block is displayed in the top right corner, and score / level system components are kept track at the bottom.
- The camera can be moved 360 degree around the platform, as well as up above the platform for a birds-eye view, and down the bottom for a normal tetris view.

Some pictures:

The game when you have just started. The first brick is floating above the platform, whilst the shadow brick predicts where it will fall. Both the current brick and the next brick are the same, and examples of the new types of brick we created in the game for the 3D version. Other than the standard bricks, there are 5 extra bricks to make the game more challenging.
Tetris Start

An alternate view is gained by rotating the camera.
Tetris Alternate View

An example of how things can rapidly build up if you don’t play well enough.
Tetris Build

What happens if you really mess up…
Tetris Fail

I should point out that all images above were prepared by myself in the game, and I am really not as bad at this game as it appears. I am in fact the current world champion at 3D Tetris, with a score of 3800 at level 8, and I welcome anyone who reckons they can score more than me.

Popularity: 4% [?]

These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Digg
  • del.icio.us
  • StumbleUpon
  • NewsVine
  • Slashdot
  • Netscape
  • Technorati
  • blogmarks
  • Spurl
  • YahooMyWeb
  • BlinkList
  • Reddit
  • TailRank
  • feedmelinks
  • Furl

Thoughts for 2008

Atheism, Facebook, Linux, MyBB, Student, Ubuntu, University No Comments »

Well, this is my last blog post for 2007, and it has been a really great year for me. I’ve completed my first term at university, converted to Ubuntu Linux, and played Portal, BioShock, and Halo 3 for hours on end. However, instead of commenting on the year that has past, I thought I’d comment on my hopes for 2008, in reference to things that will affect me.

facebook

For a student, facebook is a very important tool. It’s a linking point between everyone you know, whether they are at university or not. You can plan events, share photos, send messages (either publicly on the wall or privately), and do hundreds of other things thanks to the growing number of applications. However, there are still drastic improvements to be made:

  • Generate news feeds in real time. When one of my friends changes their name, I want to know immediately, not several hours later. There is no reason why they can’t do this already, and it would certainly keep everyone up to date with things.
  • More control over notifications, especially those concerning applications. I’ve really had enough people inviting me to “become a werewolf” or “see what kind of eyes you have”. Either ditch the invitations, or include an option to turn all application invitations off. I know they have an “application blocker” feature, but I don’t want to have to go through every single application I don’t want to be invited to and block it…
  • Remove the 60 photo limit on albums. This is the 21st century facebook, people have digital cameras now. They can take more than 60 photos at a time. Again, there is no reason for the limit. You can create unlimited albums, but only have 60 photos in each one? It’s absurd.
  • Remove the limit on the number of groups you can join. Honestly, if they think people can only have a maximum of 200 beliefs/ideas/viewpoints/favourite (actor/tv show/film) in their lifetime then they have led some very sad lives. I’m already a member of 169 groups, and at the rate I join / create them I’ll probably be at 200 in a few weeks. I don’t want to go through them all and decide which ones I “don’t really agree with that much anymore”.

On a final note for facebook, thanks for removing the “is” from statuses. It gave me quite a few laughs over the next few days when I saw people who hadn’t realised it had gone. Stuff like “John going to the cinema” and “Jane tired” were great for a grammar Nazi like myself.

Linux

Not much I can say about Linux, seeing as it is already a fantastic operating system. I look forward to Ubuntu 8.04 in April, which has an awesome new default theme, and better compiz support. One thing I would like to see on it is the BBC iPlayer, which they have been forced to make available to Linux and Mac thanks to a nice lawsuit. I’m also be trying out Linux Mint in the new year, because apparently it is better than Ubuntu.

MyBB

Hopefully we will see the release of 1.4 in 2008, as well as a complete release of the MyBB Merge system. There are a lot of other plans for MyBB, both official and unofficial, but for obvious reasons they cannot be revealed just yet.

Atheism

After creating a group on facebook for “Atheists at Royal Holloway”, I’ve got a few more members for a possible Atheist Union / Society at Royal Holloway. Nothing is official yet, but we are definitely on our way. We’ve been invited to a debate by the Christian Union in February on the subject of belief, which should be fun.

I’m gonna end it there, I’m sure there will be far more to look forward to in 2008, but I must get things ready for the New Year party tonight!

So, farewell 2007, roll on 2008!

Popularity: 6% [?]

These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Digg
  • del.icio.us
  • StumbleUpon
  • NewsVine
  • Slashdot
  • Netscape
  • Technorati
  • blogmarks
  • Spurl
  • YahooMyWeb
  • BlinkList
  • Reddit
  • TailRank
  • feedmelinks
  • Furl

End of Term

Programming, Student, University No Comments »

I told you I’d keep this blog updated didn’t I? :D

So yes, yesterday was the official end of term for most Computer Science students at Royal Holloway, due to the fact that I had my last lecture of the year. The last week was pretty empty on an academic scale. All my lecturers started canceling their lectures because we’d completed the module, so I ended up averaging 1 lecture a day instead of 3. My last tutorial was also canceled because my tutor was off sick.

Anyway, my coursework is all complete for the year, and I got 100% in all my programming assignments, and an “A” in my last Database Technology assignment, which I am very happy about. I also got to show off my SQL Simulator to my database class because it impressed our lecturer so much.

I’ve now got 3 days until I go “home” for the Christmas break, and I have all the free time in the world during them. I’m going on a shopping trip with one of my flatmates today to Staines, which should be fun, and on Friday we are all going out to the Student Union for the “Christmas Blowout” party, which means I’ll get very drunk and be up until 5 ordering some kind of food from Dominoes.

All in all, it’s been a great first term, and I’m really sad to be leaving all my friends here, but we’ll see each other for New Year. I can’t wait until the second term starts and we get new modules (since Web Technology is one of them).

Popularity: 3% [?]

These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Digg
  • del.icio.us
  • StumbleUpon
  • NewsVine
  • Slashdot
  • Netscape
  • Technorati
  • blogmarks
  • Spurl
  • YahooMyWeb
  • BlinkList
  • Reddit
  • TailRank
  • feedmelinks
  • Furl

It’s Christmas Time…

Computers, Programming, Student, University No Comments »

So it’s been a while since my last blog post, the main reason being that I started university and everything has just completely overwhelmed me! It’s such a massive change of lifestyle you forget all about the things you used to do at home, but I’ve been bugging myself for weeks to get back to my blog, because I enjoy writing it.

I arrived at university on 22nd September, and moved into my accommodation, which is really really nice! The rooms are all en suite and quite large compared to most university rooms. They each have a double bed, a large desk (which is good because my computer setup consists of two 19″ monitors, a sub woofer sound system, printer, Xbox 360, and other gadgets), and plenty of storage space.

After a week of partying and getting to know all my flat mates, I started my course in Computer Science with Artificial Intelligence. On the first day, I met a guy called Ewan who I instantly clicked with, and is now my best friend at Royal Holloway! He is a Linux user and a total geek (like me), and managed to convince me to convert to Linux as my main operating system. Ever since doing so I have loved every minute, and I would recommend it to anyone who is sick of Windows being so slow and buggy. I also converted because my course requires basic knowledge of Linux and Unix systems, and this way I get to learn how to use Linux whilst enjoying a much more satisfying computing experience.

I’ve settled into my course really well, and for the most part it has been very easy (mainly because I already know programming, and once you know one programming language, learning others is very easy). Having said that, Java is still challenging because it is a terrible language, and has so many rules and annoyances. However, it is compatible with most Operating Systems (Windows, Mac, Linux) and you can use it on most new mobile phones as well.

We also learn about Computer Engineering (circuitry, processors, and Assembly language), Maths (decision maths involving computer languages), and Database Technology (which I already know a lot about, especially on the SQL side).

So the last 9 or so weeks have flown by, and now we have reached the end of the term (and year) it’s a great time to reflect on how much has changed, and how much independence I’ve gained since going to university. I’ll continue to update this blog more frequently throughout coming weeks, and add new features to it.

Popularity: 3% [?]

These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Digg
  • del.icio.us
  • StumbleUpon
  • NewsVine
  • Slashdot
  • Netscape
  • Technorati
  • blogmarks
  • Spurl
  • YahooMyWeb
  • BlinkList
  • Reddit
  • TailRank
  • feedmelinks
  • Furl

Never trust the Student Loans Company

Student, University No Comments »

Practically every student applies for a loan to cover maintenance and fees at university, and to get it you have to go through an organisation called the “Student Loans Company”. The process of applying for a loan is very complex, as usually both the student and his/her parents (if he/she lives with them) have to go through a long questionnaire. After this, the student is required to send some form of identification (passport or birth certificate), and the “parents” are required to send in information about their salary (P60’s etc).

Simple…at least it should be.

I applied for my loans back in May (well before the deadline) and sent off my passport, as well as my mother’s salary details, and my mother’s partner’s salary details. My passport came back to me about a week later, and we assumed they were keeping the salary information in order to do more checks and calculations of how much I should be getting.

Two weeks ago, I was getting concerned, mainly because some friends of mine had received their loan confirmation yet they had applied after myself. I phoned up and spoke to an advisor who told me that “[my] loan would be confirmed soon and [I] would receive a letter in the post within a week”. So, I waited a week…and still nothing.

It was 2 days ago that I decided to phone up again and ask what was going on. This time I got through to a Scotsman who told me that he had no idea what the previous guy was talking about. Apparently the Student Loans Company hadn’t even confirmed my parent’s salary information yet. He was extremely helpful, and gave me the direct number to call, although by that time the lines had closed.

So today I finally give them a call, and get through to a woman who says that they received my passport, but no details about my parent’s salaries. I told her that was impossible since I had sent them all in the same envelope, and that my passport had been sent back. We also sent the package with a delivery receipt, so we know for a fact that it had been delivered successfully. She told me she would go and check my file, and came back saying that there had been some huge mistake, and that the salary details were there!

So apparently my loan will be processed and confirmed on Monday, but they’ve made such a mess of the process so far I will be phoning up to check anyway. This should serve as a warning to future students: Never trust the Student Loans Company! The least you can do is phone up every few weeks to check the progress of your application, and make sure you do it multiple times since you’ll probably get a different answer depending on who you speak to.

Popularity: 2% [?]

These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Digg
  • del.icio.us
  • StumbleUpon
  • NewsVine
  • Slashdot
  • Netscape
  • Technorati
  • blogmarks
  • Spurl
  • YahooMyWeb
  • BlinkList
  • Reddit
  • TailRank
  • feedmelinks
  • Furl

Sickness, Girlfriend, and Computer Games

Computers, Facebook, Girlfriend, University, Work, Xbox 360 1 Comment »

I haven’t made a blog post for a week or so, and even though I have meant to quite a few times, things have come up at the last minute. However, I’m now free for 20 minutes or so, so I thought I would crack one off.

Last week was my last week at work, and it started well (with a bank holiday Monday to relax on) and the weekend prior had been filled with fun at the beach and great weather. Things started going wrong there though, and I felt ill through Sunday evening and all day Monday. Assuming I had recovered on Tuesday, I went into work, sat down, and promptly threw up all over my desk. Evident that things were just going to get worse, I went home and spent the entire day in bed.

The next couple of days (Wednesday and Thursday) were also spent at home while I shook off the stomach bug I had apparently contracted. By Thursday I had practically starved myself for 2 days so I spent the day building up my strength again. On Friday (my last day) I finally actually went to work for the last time. It was a great day, and I will miss all of my friends that I made there.

On Friday afternoon, Jennie, my girlfriend came down to stay for a week which is great! We haven’t seen each other in over a month due to various commitments on either side but at least I have her all to myself for a week. The next time I’ll see her is after my freshers week at University, which is in just less than a month.

Speaking of University, things are really starting to heat up and get exciting. With only a few weeks until I leave, people are talking about it all the time, especially on sites like Facebook. I can’t wait to get there and meet everyone I’ve met through the various Groups I’ve joined on it. I’ve finally got my Student Insurance sorted out, and my student bank account should be available to use within a few days. The Student Loan Company haven’t sent my declaration form through yet though (and they said they would send it last week) so I’ll have to give them a phone call tomorrow.

As for other things in life, even though I’ve been following the Bioshock story since last year, I somehow totally managed to miss the release of the actual game. I bought it a few days ago and my initial reactions to it are good. The entire look and feel of it is breathtaking, as are the abilities you can use in it. The only thing that I can find fault with at the moment is the physics engine, which somehow manages to throw enemies through walls that they really should bounce off…to the point that two Splicers I had just killed fell through a tunnel and into the water outside.

The story behind it is great though, and I look forward to playing it more and more in the next few weeks.

Popularity: 5% [?]

These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Digg
  • del.icio.us
  • StumbleUpon
  • NewsVine
  • Slashdot
  • Netscape
  • Technorati
  • blogmarks
  • Spurl
  • YahooMyWeb
  • BlinkList
  • Reddit
  • TailRank
  • feedmelinks
  • Furl

New Laptop - Oh yeah!

Computers, Laptop, University 2 Comments »

It arrived! It finally arrived!

I’m currently typing this blog post whilst lying (sat up) on my bed, and it feels sooooo relaxing! I wonder if it is in fact too relaxing, because I have been using my laptop like this for the past 2 days (it arrived on Friday) and it was only this morning that I realised I hadn’t turned on my computer at all for the past 2 days either.

Now I did promise a picture of the laptop, so here is a photo I took whilst writing this blog post:

My Laptop

When I first got it out the box I was really shocked at the size of it. I knew it had a 17″ screen, but it looked so much bigger in real life than it did on the website. Having said that, the extra width means that I can reposition programs to to more things at once, and the keyboard has a numpad which I use a lot (I work in banking…it becomes a habit).

The mousepad has a great design as well. It’s metal (rather than plastic) plated so it feels smoother on your finger, and it has a special “scroller” on the right, which allows you to scroll up and down documents / websites by just flicking your finger in either direction. There is also a button at the top which can turn the pad off / on in case you don’t want to move the mouse by accident.

You can tell by looking at either side of the laptop that hp tried to pack as much into it as possible. All in all I count 15 slots / ports for different items, including CD / DVD Drive, 4 USB ports, a 5-in-1 card reader, and all manner of others. I found out after some research that PC World rated this laptop 14th out of their “20 Best Products of 2007″, the only actual personal computer system to get into the top 20…and after using it you can tell why.

Popularity: 2% [?]

These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Digg
  • del.icio.us
  • StumbleUpon
  • NewsVine
  • Slashdot
  • Netscape
  • Technorati
  • blogmarks
  • Spurl
  • YahooMyWeb
  • BlinkList
  • Reddit
  • TailRank
  • feedmelinks
  • Furl

The Thrills of Deliveries

Computers, Internet, Laptop, University 1 Comment »

Right about now I should be relaxing on the sofa, or maybe lying on my bed, writing this blog post from my new laptop. That was the plan anyway. A laptop would mean I could get out of my computer chair (which although comfy is not the best position to be in for a length of time) and still be able to do the things I can with a computer. I could surf the web, talk to friends, listen to music, do pretty much anything I want…

…if the couriers actually had half a brain cell between them, but no, they don’t. My laptop was meant to arrive last Thursday, and to tell you the truth, I was looking forward to getting back from work and playing around with it. However, no delivery had come that day at all, so I phoned up Comet and complained. Comet said they handle all “small” shipments with external couriers, and these couriers hadn’t been able to find my house, and therefore unable to make the delivery.

Well let me explain something to you. I live in a small hamlet which is really just a small series of tracks that come of a main road. I would say there were about 15 houses altogether, and on one of the large and longer tracks you find my house, about 200 yards down. It’s not like we are hard to find!

So the weekend passed by without delivery (seems they don’t do weekends either…jeez) and on Monday, to make absolutely sure they found us, we put our house name outside on a piece of card. Anyone driving past would see it…or at least you would assume, but no. The van in question (which we maintain was the delivery van) drove straight past, turned around, and drove back to the main road. Of course we couldn’t catch up with it in time so it escaped again.

Today (after many complaints) they agreed to deliver it in the morning, but of course we received a phone call saying they were stuck in Portsmouth, and would get it to us in the afternoon. Suffice to say, it’s now almost 10PM, and I am still sat at my computer *sigh*.

*Adrian wonders whether he will ever see his laptop…

Popularity: 2% [?]

These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Digg
  • del.icio.us
  • StumbleUpon
  • NewsVine
  • Slashdot
  • Netscape
  • Technorati
  • blogmarks
  • Spurl
  • YahooMyWeb
  • BlinkList
  • Reddit
  • TailRank
  • feedmelinks
  • Furl

Joost is all “juiced” up and raring to go!

Computers, Internet, University 2 Comments »

My last blog post covered some clever ways of avoiding bringing a television to University (due to the costs of TV licenses). I mentioned that TV episodes can be watched online, which can be good, but it does have it’s drawbacks such as poor picture quality and a small screen size.

I recently stumbled upon a free service called Joost, which is a free online TV. I signed up for the beta, and today I got an acceptance email, inviting me to download and try it out.

Essentially, Joost tackles the problem of illegal viewings of TV shows by acting like a normal TV service. It shows the content to the user for free, but puts an advert at the start and end of each show to generate revenue (which in turn pays for the shows people are watching). The adverts are about 5 seconds long so they don’t get annoying, and they never appear in the middle of a show.

Using Joost, you can select from a variety of channels and genres, or do a search for a show. Once selected, Joost downloads the show whilst streaming it, which on a fast connection is just like watching the TV. It has a steadily growing selection of channels to choose from, and is extremely promising for a beta product.

So if you want free TV on your computer, visit: http://www.joost.com and download the beta package.

Popularity: 2% [?]

These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Digg
  • del.icio.us
  • StumbleUpon
  • NewsVine
  • Slashdot
  • Netscape
  • Technorati
  • blogmarks
  • Spurl
  • YahooMyWeb
  • BlinkList
  • Reddit
  • TailRank
  • feedmelinks
  • Furl

Avoiding the TV License Men

Computers, Internet, University, Xbox 360 2 Comments »

An average student will bring some form of television to university, whether they use it to watch actual channels, or videos / DVD’s. However, either way the TV Licensing people demand you pay for a TV license, which costs over £100 per year and for students is quite an expensive item. The main reason for this is that the TV Licensing people have quite literally thrown student rights out of the window. A normal household is expected to pay for one license per TV, but when it comes to university accommodation (where a large number of people share flats) the rules suddenly change. Each student has to pay for a TV license if they own a TV, so pooling together is not an option. Sounds pretty unfair, so I’m not going to let them get me in their little game.

It helps that I don’t watch TV that often, and when I do, it is almost always online. I use sites like TV Links which update with links to TV episodes on a very regular basis. Using that site alone I managed to catch up on the many Doctor Who episodes that I had missed, or just wanted to watch again. Other such sites are All UC and Quick Silver Screen. However if you want to watch something a little more detailed, then the BBC has recently launched it’s “iPlayer” which allows you to watch programmes shown in the last 7 days. It’s alright to use, but you will need Windows XP and Internet Explorer to do it, a sad fact for people like me (who tend more towards Linux and browsers like Firefox and Opera).

So that covers actual channels / programmes, but what about TV components like DVD and Games consoles? This applies to me more, as I watch DVDs and own an Xbox 360. The easiest option for DVD’s is to watch them on you computer. Most students have one, and if you don’t have one that plays DVD’s then it’s time you upgrade your system! DVD drives for computers are very cheap and can be installed easily, but there is a very high chance your computer has one already.

Games consoles are little more tricky, but I have succeeded in getting my Xbox 360 to work with my computer monitor and the setup for the visual side is actually quite simple. You need to get a VGA adapter for your Xbox, which goes into the output port on the back instead of the standard cable (red, white, yellow). Instead of the yellow video cable, there should be a plug that fits into the back of your monitor. For audio, it gets a little tricky. The VGA adapter comes with the standard white and red cables for audio, so if you have a monitor or speakers that support them, then use it!

However, if (like me) your monitor and speakers only accept the headphone audio jack, you will need to use the VGA to Headphone adapter that luckily comes with the Xbox 360 VGA Adapter (at least the official one). Now, if you have a monitor or speaker with this port in it, simply plug the jack into it and the audio should work.

However…if (still like me) you don’t have such a monitor or speaker, you will need to buy a pair of speakers that have the green audio plug coming out of them (mine cost £10). You will also need a female-to-female audio jack coupler (costs around £2). Connect both the VGA audio plug and the green speaker audio plug into each end of the coupler and everything should work!

It is a long winded method, but it only cost me around £25 (VGA adapter, speakers, coupler) and saved me bringing a TV and buying the license.

Popularity: 3% [?]

These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Digg
  • del.icio.us
  • StumbleUpon
  • NewsVine
  • Slashdot
  • Netscape
  • Technorati
  • blogmarks
  • Spurl
  • YahooMyWeb
  • BlinkList
  • Reddit
  • TailRank
  • feedmelinks
  • Furl
WP Theme & Icons by N.Design Studio
Entries RSS Comments RSS Login