My name is Sean Stevens, I'm a second year Games Software Development student at Sheffield Hallam University.
I've always had an interest in making and creating games from back when I was younger. I first discovered the programming language Lua back in 2008 when I was just 13 years of Age. After self teaching myself the basics I created cloud based games for free on ROBLOX (a massively multiplayer online game), these game have now gone on to receive in total over a million plays.
As part of my second year of studying I used DirectX 9 to create two games. DirectX itself is a fairly complicated 3D graphics API which handles the rendering of 2D and 3D assets, key input, mouse input and joystick input. Although DirectX handles the rendering, the API still needs to be setup. There are no magical shortcuts to handle collisions, sprites or simply getting DirectX to work.
All my DirectX games come with the necessary DLL files included alongside the executables.
Tiltageddon is a marble rolling game with a twist, the aim of the game is to reach the end of the level with only the light of your ball and your mini-map to guide the way. The holes placed across the map must be avoided with care as they may be your peril. There are also power-ups placed within the game; the light powerup increases your light so you can see more of the surrounding maze while the indestructible power-up (yes, you guessed it) allows you to roll over holes for ten seconds.
The game features a menu screen which is traversed using the mouse, the game itself is controlled via the mouse movement which tilts the maze accordingly, you can zoom in and out with the scroll wheel on the mouse.
Behind the scenes the game utilises the Singleton design pattern, using which I created a "SpriteManager", "MeshManager", "GUIManager", etc. etc. which dynamically load and deload assets as required. I created my own button class to handle the mouse input on the GUI menu in a much easier fashion. To download the game either click here or the screen shot to the right.
Cosmos is a futuristic space simulation in which the player must destroy surrounding asteroids for score. The game itself is just a prototype and has no real objectives other then destroying asteroids and avoiding the sun (and it's gravitational pull).
To control the ships orientation, the mouse handles the pitch and yaw. The 'q' and 'e' keys rotate the ship left and right respectively. To increase the ships velocity use the 'w' key while to decrease the ships velocity hold the 's' key. The 'p' key pauses and resumes the game while the "Esc" key quits the game. Pressing the left mouse button fires your ships laser which destroys the surrounding asteroids.
The GUI's located in the top left display your ships current shield energy, hull integrity and the ships current energy (which is used to fire the laser and accelerate/decelerate). Also located in the top left is your current score (how many asteroids you have destroyed).
To download Cosmos click here or the image on the right.
I have used Unity on a few occasions, I have the necessary knowledge to use the mono editor to edit C# scripts as well as putting together different scenes to make an overall game.
One such game I made as part as my first year is "Kurushi", the game itself is based off an old Playstation One game called "Kurushi", our task was to recreate the game as we saw fit. I personally decided to take the approach of making the gameplay as close as possible to the original.
The aim of the game is to destroy all of the grey cubes before they fall off of the edge, beware of the red cubes however, destroying these will result in the loss of one row per red cube destroyed. You fail if you fall off the map by destroying a red cube, or when the grey cubes fall off the end too many times.
To destroy a cube, you "mine" the square you are standing on with the space bar. You then repress the spacebar to destroy any cube which is on or moving onto that square. If you destroy a green cube, the surrounding blocks will be mined. By pressing the 'x' key the mined squares will destroy all blocks above them.
To move the player you can use ASDW keys or the arrow keys, pressing spacebar will mine the square you are standing on, and the 'x' key will activate any squares which have been mined from green cubes. To download -and play- the game, just click here or the image on the right.
In 2008 I stumbled across ROBLOX, a free online game site which you can play and create games. Soon enough I had figured out how to make my own game using some of the free assets available and tools available.
Shortly after creating my first ever game, people started playing it and I had over 1,000 concurrent players! In October 2013 a feature known as Developer Exchange was released, it allows users to trade their earned virtual currency for USD, from then on I've been actively working on games in my free time.
To create games on ROBLOX I use "ROBLOX Studio" which is similar in functionallity to Unity.
You can find my ROBLOX profile by clicking here. To play any of my ROBLOX games either find them from my profile or click the images on the right.
I am still in the progress of creating a horse racing game, the horses are fully animated and scripted using RBX.Lua (a custom version of Lua).
The game itself has been received popularly with players even though it is still a tech demo. The game has currently received over 3 million plays and can be found by clicking here or the screenshot to the right.
The game is compatible on iOS, Android, Mac & PC, the controls for Mac & PC are as follows: 'w' or the "Up Arrow" key to move forwards, 's' or the "Down Arrow" key to move backwards. To move left and right it's the 'a' key or "Left Arrow" key and 'd' key or the "Right Arrow" key respectively. To activate the horses sprinting the "Shift" key can be held or pressed to toggle sprinting as necessary.
Playing on iOS or Android is a little different, on-screen GUI's allow the player to toggle their sprint and control movement however, to turn the horse you rotate the view in the direction you would like to go.
Lava Surfing is a game I made back in 2009, I made the game when I wasn't incredibly familiar with RBX.Lua just to see if I could. The game quickly landed on the front page and received around a hundred thousand plays, it has now gone onto receive over 622k plays since I first created the game.
The aim of the game was simple, players would ride a surf board and ride down the floating ramp made of lava, at the bottom they would attempt to jump off and reach the finish zone where they would receive an increased cash income rate and access to the V.I.P obstacle course.
Players could also take part in building a tycoon and fighting in the arena (the volcano).
The game now is dated and slightly broken but still remains my most played game on ROBLOX.
Personally, I enjoy the sport bowling and felt it would be a good idea to recreate the game in ROBLOX. I set myself the task of researching the rules to make the game as accurate as possible, to provide replay-ability I added a Rank system and Cash which could be earned through playing good games.
Players can claim a bowling lane by clicking on their desired lane (as long as there is a space free), once a player owns a lane, they can click on a ball to pick it up. To throw a ball they click and hold to build up their power and release to throw the ball.
To make the game a little harder compared to other bowling games (e.g. Wii Bowling) I had two red zones on the power bar, releasing when the power meter is between a red zone would cause your throw to go off by a random angle.
Procedural Obstacle Challenge
Obstacle course games on ROBLOX are commonplace, I decided to take it to the next stage by procedurally generating each level, the game itself is really just a tech demo to show how it could work.
Procedural generation is an interesting topic, I decided to create an obstacle course which was generated procedurally and gets harder the further you progress. The obstacles I generate range from "Lava Jumps", "Stepping Stones" and "Invisible Path".
Each player has a difficulty value which increases as they reach the end of an obstacle and decreases as they fail, the further they get the larger the distance they have to travel to reach the finish.
The game can be played with multiple players while each player can only see their obstacles as I generate each course locally.
Utilising the power of raycasts, I decided to create a rain simulation demo. The demo features blocks of rain which are created around the player and the cameras position to create a level of immersion.
The rain itself is affected by wind and splashes on contact with the floor or player/objects and utilises SUVAT to fall with realistic velocity.
The game features a fog effect and clouds to better represent weather conditions. To prevent lag from too much rain, the rain is created locally per player which also prevents the server from slowing down due to too much stress (a side effect of this is increased lag on the client).
The rain blocks are created at the camera height with a check to prevent the rain blocks being created above the clouds.
My tank tech demo features a map created from blender and imported into ROBLOX, the tanks rotate around the map using SOHCAHTOA combined with raycasts to calculate the necessary angles.
The tank barrel follows the mouse cursor and utilises SUVAT for realistic projectiles. To turn the tank it's the 'a' key and 'd' key respectively, to move the tank forward and it's the 'w' key and 's' key respectively.
Pressing the 'q' and 'e' will rotate the view clockwise and anti-clockwise respectively.
Since the game is just a tech demo, tanks have no health properties and cannot destroy other tanks (although they can drive over other tanks).
Blocky Bird is a game I created to test my capabilities and is based off the Dong Nguyen's hit game Flappy Bird. The game features a highscores table and offers micro transactions for users to buy to continue when they die.
The bird and pipe colours can be changed from a range of 64 different colours, options also include the ability to toggle the scenery (which helps reduce lag). The game features multiple modes, normal, insane and serenity. Insane mode being double the speed of normal while serenity has bigger gaps between the pipes with longer distances.
The game can be played on iOS, Android and on the PC, the controls are straightforward and only require clicking or tapping to make the bird fly upwards.
The game (as frustratingly hard as it is) has been played over 37k and features a point system and badges as incentives for playing (and winning).
The game also allows you to search for your friends highscores by name if they have played the game before.