top of page
  • Writer's pictureDwight Gibson

Introductory Project - Indie Games

Updated: Oct 2, 2020

The game is almost ready. The game page is visible for everyone to see, but the final version will be visible to all this Friday (Oct 2nd) at 12:00BST.

Our introductory project for this year is to create a demo for an indie game of our design. Our choice between three themes - "system," "virus," and "childhood" - was the former, "system."

We constructed several ideas for each theme, ranging from a multiplayer maze to a children's racer, but settled in particular on a 3D racer revolving around space rovers. Obstacles are strewn across the course(s) and a time limit is also in place. The game will be primarily be single-player and be targeted towards children (accurate ages pending).

Above are some pieces of art that will serve as inspiration for the landscape - primarily mountains, yes, but different courses will have different hazards and landscapes. Besides, it is currently unconfirmed as to whether or not the game takes place in our solar system. We want each course to be distinctive, but not so much that it doesn't feel like a planet that, in possibility, could actually exist. However, we only have a month to complete this task, so we may only be able to finish one course, and probably not the way we envision it.

Each member of our team has a particular focus - mine is on the programming and other technical aspects. It's been roughly six months since I've done any coding - due to the sudden outbreak of COVID-19 - so I'm probably going to struggle with this task, but there's only one way to find out.

Sept 10th

After trying some Unity Playground projects, we have decided to change the game from 3D to 2D - primarily due to the deadline of the project, but also (personally, at least) out of being more comfortable with it. It will still be a racer, but based on a platformer. An example of how this'll potentially work is the Turbo Tunnel from "Battletoads" except with slopes, shortcuts, and variance in obstacles and scenery.

The Turbo Tunnel from "Battletoads" (1991) as featured in "Rare Replay" (2015). The Tunnel was notorious for its difficulty and still is to this day.

Sept 15th

Today's developments in the project regarding programming:

  • A death zone: whenever the player or enemy touches a certain area, they instantly die. This killzone can take various forms - lava, pits, whatever is necessary.

  • Pickups that heal the player or enemy. I tried working on a temporary increase in fire rate but I ended up breaking a script, so I had to fix that. After talking to a lecturer, I now have a potential plan. The real problem now is figuring out the code.

  • Enemies no longer die in one bullet.

  • I tried making the player's gun capable of rotating, but I still have yet to figure that out.

Sept 16th

After learning about the creation of buttons that are actually functional, I'm going to implement a brief title screen. So far, there's the button and a little bit of additional text ensuring this is only a demo.

The movement for the player was problematic today, or so I thought. I just had to change movement from all directions to horizontal only.

Pillars have been added and can be destroyed by bullets. Animations will probably be needed, but at least it works.

A course design has been thought of and is under debate.

Sept 17th

Today, I attempted to create a script to allow for pickups to give additional effects to the player or enemy that picked them up, such as some healing, extra speed, or increased fire rate. I can't find a lot online about that, but I might be looking in the wrong place.

I have removed the character rotation mechanic. It seems to interfere with the movement controls on occasion.

The course is also under construction. I am adding components to the course so it can take shape.

Example picture of the course under construction. Default assets are being used, but will be replaced.

Sept 18th

The level design has been finished. It now includes a cave section - complete with platforming - and falling rocks. Other racers are still a hopeful ambition, but we'll implement it if we can. After toying around with auto-mass, we should have some form of balancing if we have racers with different weights. Maybe heftier racers will have a superior boost to compensate...?

The control scheme I ended up with, including compatibility for arrow keys.

After battling Unity for a while, I decided to go with a somewhat unique control scheme (right). Oddly enough, Unity was having some troubles having both movement and rotation mechanics on WASD and arrow keys respectively. This control scheme makes the game playable and somewhat enjoyable, especially alongside the shooting. While there isn't much to shoot, it'll be fun to try and include something down the line.

Sept 22nd

The primary focus of today was designing a new controls image - which I'd say worked. This (left) is a lot cleaner than the last one. While I prefer the previous one stylistically, it didn't really work functionally.

After working on that, I decided to rework a portion of the course being too complex. This IS a demo, after all. This area is still under construction, but I can't wait to get it finished. Unfortunately, one of our team members has been absent for the past week, so we are missing their assets.

Sept 24th

Updated art assets are now being added to the game. Now I don't have to stare at stock purple blocks and an endless black abyss for a background.

The portion of the course I was still working on before has been finished. Instead of an absolute cluster of platforms, we instead have fewer platforms, complete with additional movement.

We have also added falling rocks. Why? Because it provides a sense of action.

Sept 25th

Okay, now THIS is a pretty big problem. One of the core Unity scripts - the UI script "Selectables.cs" - is getting errors. I don't know how to fix it, our lecturer doesn't know how to fix it, and I can't find anything on the Internet to help either of us fix it. We have an idea of a solution, but it's going to take time to find out if it works. At least now I definitely know not to work straight from OneDrive...

The problem has been solved. I had to make a second version of the game and copy all of the assets and scripts. Exporting via HTML has some problems so it's a downloadable file.

Sept 29th

The first course is pretty much done. We just need to add a few more assets here and there and we're ready to send out this demo. As a challenge, we'll come up with concepts for a second course, even though - let's be honest - it probably won't be finished in time, alongside some environmental hazards such as spikes or lava or something.

Sept 30th

The demo is incredibly close. We just need to work on more particle effects and we're good. I've got a version prepped in case we can't finish those in time, however.

The WebGL export solution has been found and, as such, I am shifting the demo from executable to in-browser HTML.

Oct 1st

On the penultimate day, one final snag. When implementing the final flame effect for the bike, I have gotten it to toggle between visibilities depending on whether or not E has been pressed. However, its current status is that accelerating - the thing you do with E - hides the flame, whereas releasing it shows it. That's the exact opposite of what I'm looking for.

The problem has been solved and all I had to do was untick the Sprite Renderer. The demo's done and published ready for tomorrow in both HTML and executable forms.

Oct 2nd

Okay, there's one small bug that I can't fix. The "Return to Title" button that appears on destruction by rocks doesn't work. I tried fixing it but it still doesn't want to work, so I'm leaving it be.

 

Final Thoughts

How do you feel the project went?

Considering we had about four weeks for this project, I'd say it went pretty well. I haven't used Unity before this project but, now that I've tried it out with one project, I'm feeling pretty confident about the rest of the course. Coding my own scripts was, at first, a struggle - primarily because I have also never touched C# before. Still, at least I now have a small amount of C# experience.

If you could do this project again, how would you improve it?

I do have one idea as to how I could improve this project - adding music. I mean, ambiance is nice and all, but it doesn't really get a sense of adrenaline - something that pretty much NEEDS to be in a racing game, even if it's more of a platformer than a racer. The only problems being that I don't know much about making music and I don't think we'd have enough time to get it perfect.

What can you take from this project that you can apply to projects of your own?

Unity is an incredibly useful game development tool - a tool that is widely used in the industry and has active support. While I may choose a different engine for some projects, Unity is a really great starting point.

My small experience in C# can also help me to grasp further examples of C# script and maybe even work on some myself. Whether or not I will is a different story, however. There are a plethora of languages out there and I still don't know what language suits me best.

 

External Links

9 views0 comments

Recent Posts

See All

Controlling and Monitoring the Production Process

Scrum is a subform of Agile which involves working on tasks in sprints, arranging meetings at the start of said sprints to coordinate and assign tasks to complete during it. The main goal is to “impro

Post: Blog2_Post
bottom of page