Multiplayer game development announcement - Space Chooter -
Shiunbird - 12-05-2021
Hello everyone,
I started seriously learning how to code in the beginning of the year. I'm proficient in bash, expect and powershell because of work, but I never tried the real deal.
So I started diving into C and learning a bit of OpenGL just as means to visualize my ideas. I thought of writing a benchmarking tool for GPUs, but I found an excellent one that builds fine in any computer I tried, so I dropped that endeavour.
I ended up writing GLPandemic as means to visualize how diseases spread and what would be the threshold for herd immunity depending on vaccine effectiveness and I dropped OpenGL for a while.
However, as I went through the book "Advanced Programming in the UNIX Environment", I realised that I have everything to build a game:
When I did GLPandemic, I got:
- collision tracking against moving objects and scenery
- object status tracking
- random events
- events based on probability
As I dig through the advanced programming book:
- sockets
- network communications
- serial communications
including all the endianness shenanigans.
So hey, why not?
My goals are the following:
- standalone client and server
- hybrid multiplayer (two people in the same room can join the server via serial port and connect to others via internet)
- no textures, so everyone can enjoy
- 20Hz target refresh, so everyone can enjoy, and also to fit on 115200.
- quality toggles to reduce number of polygons and lights, if a slower machine struggles to reach the target.
- big endian default (endianness only affects multiplayer code)
- server only relays players and objects positions, and processes hits, kills and deaths. It's not going to be cheat-proof, but it will be lightweight.
- IRIX and HP-UX using Motif, Mac and Linux using GLUT. I'm hoping to get a Solaris box during the next months.
- No sound, but I will leave blank sound functions as placeholders in the code.
For development, I am using:
- No Google, only asking friends and reading the books. I want to put my brain to work. In case of fatal emergency, I may ask at stack exchange.
- Advanced Programming in the UNIX Environment (I've got all the 3 editions).
- OpenGL programming for the X Window System
- a few C books that I collected during the last year.
- HP's and SGI's OpenGL reference
- Softbench and Apple's XCode
- I wrote a simple build distribution system that I can trigger from my Mac Pro (running remote Softbench on my C8000 via XQuartz). I can trigger remote build from my Mac Pro out to my C8000 and my Octane.
The idea is a simple space shooter (like many during the 90s) supporting around 8 players, and you can hide behind asteroids for cover. I'll write a *very* dumb bot system just to test the code. I'll try to reach a good balance between hunting for other players and, at the same time, use the asteroids to cover while having to dodge them, as they can damage your ship.
Any thoughts?
I'm attaching a screenshot of GLPandemic.
RE: Multiplayer game development announcement - Space Chooter -
Raion - 12-05-2021
Nice. Years ago when I was a teen I learned 68k ASM and I made a simple missle command clone on my Amiga 1200. It never worked properly, I never figured out how to properly time interrupts to Paula to produce sound, and it crashed once your score hit 256 because I stupidly at the time stored things as an unsigned 8-bit integer by default. I unfortunately lost the code when I broke my Powerbook G4
RE: Multiplayer game development announcement - Space Chooter -
TruHobbyist - 12-06-2021
Your idea of a game sounds like a great way for learning about a lot of topics: C, sockets/networking, computer graphics + OpenGL, game development.
I'm definitely looking forward to the progress and outcome of your adventure.
RE: Multiplayer game development announcement - Space Chooter -
Shiunbird - 12-06-2021
@TruHubbyist: That's exactly the idea.
Simple is the name of the game. No scope creep.
And I've heard too many horror stories in handling sound that I will skip it altogether, maybe in the future.
Plus the game is set in space. No sound makes it more realistic. =)))))))
RE: Multiplayer game development announcement - Space Chooter -
TruHobbyist - 12-06-2021
(12-06-2021, 08:49 AM)Shiunbird Wrote: Plus the game is set in space. No sound makes it more realistic. =)))))))
RE: Multiplayer game development announcement - Space Chooter -
vishnu - 12-07-2021
You might want to consider SDL, the book "Programming Linux Games" is a great reference, I think it's available as a free download these days. The author was commissioned by Loki Software to write the book, John Hall. Tragically he died of malignant melanoma when he was only 24.
RE: Multiplayer game development announcement - Space Chooter -
Shiunbird - 12-08-2021
I'll look into it.
Funnily enough, I was installing random stuff in HP-UX and came across Xplane, and it's exactly what I want to do, but much more advanced and 2D. I'm resisting the urge to check the source code, but gosh - the thing runs smoothly, and I quickly managed to set a match between my Octane and my C8000. Very impressive, well done and good fun.
https://en.wikipedia.org/wiki/XPilot
RE: Multiplayer game development announcement - Space Chooter -
jenna64bit - 12-11-2021
XPilot looks neat, but a new GL based game sounds awesome. Always good to have something new, and good to learn with.
RE: Multiplayer game development announcement - Space Chooter -
jpstewart - 12-12-2021
(12-07-2021, 10:40 PM)vishnu Wrote: You might want to consider SDL, the book "Programming Linux Games" is a great reference, I think it's available as a free download these days.
Thanks for the book recommendation, vishnu. I've downloaded a copy and can't wait to read it. I've got plenty of programming experience, but not for games.
RE: Multiplayer game development announcement - Space Chooter -
Shiunbird - 12-12-2021
Yup - I got it as well. It looks good!