They have just set up this webpage according to the announcement on one of their dev blogs. Of course there’s irony that they include MonoGame, because if it hadn’t been for MonoGame, all of the XNA library code would have been lost. XNA was Microsoft’s own game development technology that got to version 4 and was then abandoned.
There’s also a page of tutorials teaching Godot, Unity and a backend service called PlayFab. It never ceases to amaze me that Microsoft don’t invest just a little bit more into their games development. They’ve got lots of different platforms including various XBox consoles, PCs, Mobile and so on that can all be programmed using Microsoft related technologies using Microsoft supplied software that is very good and often free. It often feels like they’ve backed off from the days when they were publishing games.
Back when I wrote the About.com website I created (curated!) a list of useful C libraries. You can still see if you look on archive.org, for instance this is it back in 2013 when I finished working on about.com.
Now that library was general stuff, not with a games (or loosely games related) like this site but many of the links still work. Back then most websites used http not https, so if a link doesn’t work, change the url to https and try it again. Some links will have ‘rotted’; its inevitable on the web (and I never miss a chance for a visual pun!) but all of it was open source so it probably has a higher chance of it still being around.
I will also be trying to salvage games/games related links from there and add them to my sites games links or C code links. For instance I found the CBM-64 BASIC and 6502 emulator in C by developer Michael Steil on GitHub and have added them to the C code links.
Well not if you live in the EU. I came up with Glitzville back in 2002. It doesn’t sound too bad. However, if you do a search of the European Trade mark database for the word Ville, you’ll find EU009774613 a trademark on the word Ville in three classes of trademarks. Classes 9 and 41 between them cover virtually any use in software, games, electronic devices and online. While class 25 covers t-shirts and other items of clothing.
The long and the short of it, if you live in Europe and want to sell a game that ends in ville or even do t-shirts and other merchandise, forget it; you’ll likely get sued thanks to Zynga, creator of games like FarmVille etc.
I had registered the domain years before 2011 the year when this trademark was taken out. I wasn’t the first to use it, as back in 2004, in the game Paper Mario there’s a city of that name. See Glitzville but it didn’t become a problem until Zynga came along. So has Zynga ever sued anybody? Most certainly, for instance here’s a case from 2012.
For most small publishers, the chances are that your game/app name will not get you into legal trouble but it’s probably worth a bit of checking just in case. And trademark violations (unlike copyright ) have some seriously big fines with them- possibly tens of (£)thousands.
This is somewhat off-topic and a little bit of self-indulgence because (a) it’s about a computer that existed over 36 years ago and (b) a game that was programmed in 6502 assembler. It’s also a game I played a lot back in 1984.
The reason for including it here is because a British Web Developer called Mark Moxon has created an excellent website about the game, looking at the algorithms, source code etc. of the BBC Micro version of Elite. Everything you wanted to know about how it works.
I’d sum up this website as the “Cliff’s Notes” to the BBC Micro version of Elite. Be sure to click the three bars at the top left as the Navigation Bar gives an idea of just how much there is in this website. There’s bit by bit breakdowns of variables for example, in generating System Data.
Government
----------
The government is given by a 3-bit value, taken from bits 3-5 of w1_lo. This
value determine the type of government as follows:
0 = Anarchy
1 = Feudal
2 = Multi-government
3 = Dictatorship
4 = Communist
5 = Confederacy
6 = Democracy
7 = Corporate State
This is a remarkable piece of work, I can’t imagine how many hours Mark has put into it. Possibly as many as it took to develop the game originally!
A developer called Michael Gerdes just published a MiniGolf game on GitHub. This uses OpenGL for the graphiocs and according to GitHub is made up of
C 76.5%
C++21.4%
GLSL 0.8%
Scheme 0.7%
Objective-C 0.6%
HTML 0.0%
Every project on GitHub has these on the RHS of the home page. They include links with filters to see the particular set of files. Particularly telling is GLSL which are shaders. If you do 3D graphics, that’s something you need to learn. Its why I stick to 2D. The other stuff probably comes as part of various linked libraries.
It’s nicely done and the GitHub page has four animated gifs showing how it works. It also uses the open source Dear Imgui GUI library.
Oh I do play much newer games such as Far Cry 5 which I’ve completed recently but Quake II was a favourite of mine back in 1997 when I bought it. I’m more of a Quake than a Doom person. Unfortunately for me, my then PC couldn’t run it. It was only two years old as well. But I got a new PC in 1998 and that played it just fine. I’m not saying I’m a saddo but I can play it through on the hardest level without losing a life.
The reason I mention it because of an article I came across that described the different ID Tech Game engines and the games made with each engine. All have been open sourced (Up to ID Tech 4). Quake II was written using the ID Tech 2 engine itself written in C and assembler.
For some reason the link to Quake II source code is wrong in that article but you can find it on GitHub. In one of 18 of ID Tech’s 18 repositories there.
If you are interested in downloading and trying to understand the Quake II source code, I strongly recommend you read Fabien Sangard’s walkthough of the code.
I occasionally answer (often in a somewhat ascerbic tone) questions on Quora.com, not just programming though that;’s the bulk of my answers. Feel free to follow me there! One question today was asking whether it was better to deveIop IO games on Web or mobile first.
I’d never really looked at this category- what is an IO Game? Very loosely, its the replacement for Flash games, and unlike those, it can run on mobile or cross-platform. A typical development system for such games is Godot, an open source cross-platform development system. The main language is GDScript based loosely on Python but any programming languages that has GDNative bindings (so C++, C#, Rust, Nim, D and any others I don’t know about. ).
You get games like the multiplayer game agar.io which has an entry on Wikipedia and is cited as an example of an IO game.
I noticed that the Covid lockdown had made streaming of chess games very popular and did a search to see if I could find the source of one in C. The first one I found was actually C++ (cout << is a bit of a giveaway!) but I found this one by a developer called Tom Kerrigan. It runs from the command line and the exe is just 157 KB in size.
Note it is copyrighted but he has put his source code out there so if you are interested in seeing how a chess program is written this is an excellent place to start. His code also includes a lot of comments and includes an opening book.
My new side project is a free to play multi-player mobile game about living the life of a celebrity. It’s brutally competitive and will accommodate up to 10,000 players in one game. It scales horizontally so multiple games can be run at the same time. It’s an idea I’ve had for years and now I’m on it.
The idea is that you start moving to the big city. A city where your dreams can come true by becoming famous in some field. Whether breaking into film, or sport, on TV, a famous writer and so on. But first as a wannabe, you have to get a job, whether its pumping gas, waiting on or one of a dozen jobs. And try to make your way up the greasy pole to the top of the A-List.
I have devised mechanisms for this. But there’s way more depth to the game than what I’ve said. The game is basically about decision making. Every action has consequences. If you go to this party, you might make friends with someone who can open doors that will give you more public exposure and earn celebrity points.
The game server generates events that you can attend. It’s a busy life attending openings, first nights, filming of videos, commercials, going to auditions, making guest appearances, signing books, partying, going to concerts, balls, awards ceremonies, opening fayres, launching ships, or more mundane things like product launches, endorsements, appearing in TV adverts and more.
All this has to take place in a game city. So the game server has to create a city populated with buildings, with jobs. Celebrities actually do jobs. Those books don’t write themself, or films make themself. Musicians have to record songs, go on tours. But you are also interacting with other players, helping them and helping yourself.
As a game designer and programmer I have to translate all this into code. In the past I programmed postal games. These were games where orders were sent by post, processed, results printed out and then mailed back. In this case, they’re entered on mobile and uploaded to a game server. Here a program will run at regular intervals and process a day’s activities. All those parties etc. have to be processed and the consequences determined. Did you make friends, did you get any new job offers? Have you accumulated some more celebrity points and moved up in the league table? Did you escape from being a wannabe to C-lister yet?
Then after that’s all done, the results and new decisions can be fetched onto mobiles and players decide what their next decisions will be… That’s what I’m designing and programming. Both the game server engine and the mobile clients.
Much as I like creating games, game jams are not really my thing as I like to spend time polishing and making them look good and that’s not really how you want to spend your 24-72 hours.
But clearly they are for others as the GMTK Game Jam in 2020 had over 5,000 entries! Here’s a GitHub staff pick of their favourite top ten entries.
What is a game jam? Well Wikipedia helps out “A game jam is a contest where participants try to make a video game from scratch. Depending on the format, participants might work independently, or in teams. The contest duration usually ranges from 24 to 72 hours. Participants are generally programmers, game designers, artists, writers, and others in game development-related fields.”