Adventures in 3D: How can I create a 3d game without spending a penny?

How to create a 3d game without spending a penny?
How to create a 3d game without spending a penny?

Loads of my students spend hours each night playing 3d computer games. I’ll be honest, if I wasn’t a teacher or a dad, I’d probably be doing the same thing.

My brightest students often ask: “How can I make a game like Fifa / Call of Duty / GTA?” and I’ve always wanted to be able to give them a better answer than the usual “it takes a lot of time, money, effort and skill”.

One thing I’d love to do is set up a student game production company that can design, create and publish high quality games to sell to raise money for good causes (like my retirement fund!)

So this series of videos and blog posts is dedicated to students who are willing to invest the time and effort into learning the 5 skills I reckon you need in order to create a your own 3d games that you can be proud of.

I’m aiming these videos primarily at iMedia and Computing GCSE students at Fulford School in York who want a fun project to apply the skills they’re learning in class to do something fun outside of lessons but I’m deliberately only going to use software that you can download and use legally for free.

Of the 5 skills that are going to be covered in this series, you don’t have to have all of them yourself, I strongly recommend you team up with some friends and share out the roles based on what you’re interested in (and good at!)

I’ll try to keep the videos between 3-5 minutes long so that you can dip in and out of the stuff that interests you. I’m not going to attempt to go much beyond the basics – just enough to give you an idea of what’s possible, to get you started and to let you loose amongst all the other great tutorials available online. Getting started is often the most intimidating stage but once you learn the basics the only limit is your imagination and the amount of time you’re willing to invest.

The first video talks you through 5 tools that I’m recommending you download. All are free and all focus on a different skill. Ideally, you’ll have 5 people in your team, each one with a different piece of software, each one with a different role, but by all means try out as many of these as you want.

On the next page are the 5 skills that I think you’ll need in order to get started creating 3d games:

Bug bounty: 2 major bug fixes thanks to reports by students in one week

Bug bounty: 2 major bug fixes thanks to reports by students in one week

Did you know bugs in computer code are named after one a tiny moth that exploded when it landed on a computer?

The heat from the valve killed the moth, which blew the glass casing around the valve and broke the whole computer system.

Fixing the problem with the computer code literally meant going looking for the bug which was hidden / splattered on one of the valves.

Now, when we talk about debugging, we thankfully don’t mean cleaning up bits of insect gore. We just (ha! – sometimes it doesn’t feel like ‘just’) have to trawl through our code to try to mop up after our own (or someone else’s) mistakes.

This week,  I’ve been really grateful to two students who’ve reported some pretty irritating bugs in create.withcode.uk, the free tool for writing, running, debugging and sharing python code online. One student is a bit of a a genius in my Y8 class. The other is a lot of a genius of a student teacher.

Debug: find and fix mistakes in a computer program
Bug bounty: find and report bugs to get free stuff, respect and eternal gratitude.

Bug 1: I recently changed the text editor in create.withcode.uk so that it would work on android phones / tablets. Sadly, the new text editor got confused between tabs and spaces – which caused all sorts of frustration when you had to indent code in python. Thankfully, the code editor now always adds spaces when you press the tab button. Thanks for reporting that one.

Bug 2: I’ve noticed that once or twice when students save their work by pressing Ctrl + S, someone else’s work appears mysteriously on the screen. It only very rarely happens and it’s easily fixed with the code vault feature that lets you recover any work that you’ve previously run in the browser. But it was really irritating. Anyway, it turns out that I’d made a stupid mistake in the algorithm that generates a shortcode for saved python programs. The database stores each saved python project with an integer id number but I wanted the URLs to be easily read out by students off the board which meant keeping them short. I tried to avoid ambiguous characters (like i and 1 looking similar to each other, or O and 0) so that there wouldn’t be any confusion reading URLs off the board. I’d made a mistake which caused problems with any shortcode with a capital V. Thanks to Mr Conroy, that bug has now been well and truly splatted.

Many big tech firms (like microsoft or facebook) will encourage people to find and safely report bugs in their code, running a bug bounty scheme. If you’re able to spot a potential security vulnerability and report it responsibly you can get rewarded with money, job offers or just the respect and admiration of a grateful tech company.

I can’t promise massive rewards (this site is run as a free service by me: an individual teacher) but you can expect my respect and gratitude and something to arrive in the post to your school to celebrate your tech superpowers.

If anyone else can find a bug in create.withcode.uk please report it below and I’ll make sure your bug hunting skills go rewarded with some free stuff / prizes (on the condition that you’re a student at school or a trainee teacher).

Please do not submit personal contact details: only school address or school email addresses please, for child protection and data protection reasons.

Submit a bug report:

Fields marked with an * are required

Thank you for reporting a bug or suggesting a way that create.withcode.uk can be improved.

If your bug report leads to an enhancement or fix, I'll make sure I send your school some free stuff to pass on to you.

Thank you for taking the time to report a bug or suggest a new feature.

All personal data submitted will only be used for bug squashing purposes and will not be shared with anyone else or used for any other purpose.