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

The First Post…

Computers, DrPoodle.com, Gaming, Internet, Student, University, Xbox 360 2 Comments »

So here I am, half past midnight with a fresh copy of WordPress installed on my new website. As you can tell by the title, this is going to be anything but a linguistic adventure, and for that I apologise in advance.

My name is Adrian Hayter and I am a 19 years old student currently residing in the United Kingdom. I say “student” but this is in fact false since I have yet to start my course at University. Technically speaking I am a Core Administrator at a pensions company, but the job is only temporary and I like to think ahead, so to make matters clearer, I will refer to myself as a student. In September 2007 I am embarking on a 3 year course in Computer Science with Artificial Intelligence at Royal Holloway, University of London.

As you have probably guessed by now, computers are my passion and I have been interested in them ever since I was introduced to my father’s old IBM machine (Windows 3.1…you are sorely missed!) and this interest has been magnified throughout my life. I have had experience with most versions of Windows, Mac OS X, and more recently Linux (Ubuntu). Being the son of a software engineer had a load of perks, and not just an abundance of PCs around the house! We were one of the first families in my area (that I know of) to get Internet access which came with the ever so lovely CompuServe connection software (”Welcome to CompuServe!”…anyone?). Since that day I was hooked on all things to do with the internet, which admittedly wasn’t that much at the time (this was before Google had even been contemplated remember). As time passed though, and more and more people got interested in what would become a global phenomenon, I learnt more about how the “web” worked.

At age 15 I was taught the basics of HTML, the first web language, and I started writing offline web pages that I stored on my home computer. It was also around this time that I acquired my Internet Alias: “DrPoodle”, which I obtained through a series of events that I will not go into at this precise moment. Suffice to say, DrPoodle has become a large part of my life online and indeed offline, which brings me neatly onto the next section.

In 2004, the video game “Halo 2″ was released with Xbox Live functionalities. Already a Halo fan, I became an intent online gamer…to the point of obsession. My XBL Gamertag was, unsurprisingly, DrPoodle, and it was through the medium of online gaming that I met some truly remarkable people who I still consider very close friends. However, with us all thousands of miles apart, we needed somewhere to be sociable and have group discussions about various topics. It was at this point that I decided to take the plunge into the world of websites, and on 15th April 2005, I created DrPoodle.com.

My first attempts at a full blown website were…less than satisfactory, but as time went by, I got better and more skilled, learning XHTML, CSS, and PHP. Fast forward 2 years, and the same website is barely recognisable. It was a recent decision of mine to relinquish my personal hold on DrPoodle.com, mainly because the community had grown so much that I felt it would be hardly fair to attribute everything to myself. So even though it still bears my Internet Alias as a name, DrPoodle.com is a Community Discussion site, aimed towards advocates of Freedom of Speech and Expression.

It was also because of this choice, that I started this website…my new personal website, AdrianHayter.com. On this website I will write regular blog posts to do with certain aspects of my life and my interests. Hopefully people will be interested…if not, well, that’s just the way it goes.

-Adrian Hayter

*Note: I will be making a new theme in the near future. I can only describe this one as “Fat iPod” and it needs to go…

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