If you couldn't tell from the title, the first basic game I will be creating is Space Invaders!
I love Space Invaders, and allows me to flex some new graphics programming muscles, including (but not limited too ):
- Efficient Collision Detection (There will be 20 - 25 Space Invaders Per Level)
- File Loading (I need to load the maps from a file)
- State Machines
- And Pre-Visualization!
And now to explain my long absence:
In the time being, I have:
- Learned BASIC
- Learned DarkBASIC
I have been wanting to learn DarkBASIC for some time. Originally I believed DarkBASIC was a quick way to prototype games and program graphics.
And wow, was I wrong.
Although DarkBASIC has probably helped me become a better quality, the only real redeeming quality I've seen is learning BASIC. It's a great beginner language, however it can only really achieve 2001 level graphics. It's more for learning basic graphics programming (Even then, it's procedural programming syntax is horrendous. Imagine C, however you must use:
REM User-Defined type Type myType string$ REM You can't have functions in objects, making them more like glorified containers. EndType REM For some reason, you must also use "End" to show DarkBASIC where your program ends, and you may REM only declare functions after your program ends. End REM A function function myFunction(x#, y#) returnValue = x# + y# EndFunction returnValue REM The returnValue goes after EndFunction (God knows why)this code)
I imagined it as a mix of Basic, PHP, and a bad version of C.
There are so many bugs, and the people who work at "The Game Creators" don't even know how to code. They hire a new programmer to fix bugs because there sole goal is making money off new programmers who believe DarkBASIC is a good way to get into graphics.
Spoiler: It Isn't.
There are literally no redeeming quality's of this language.
Also, when you create Sprites / Images, Three-Dimensional Objects, or almost anything important involving graphics, they don't allow you to name it (At least with variable you only have to put symbols after their names or use a terribly inefficient AS command). You give every object a number.
A Number. How are you supposed to tell what different objects do?
And this is why I hate DarkBASIC. It makes its users write terrible code (I don't believe it's possible to write good code using the "number" system), and advertises itself as a "professional game engine" that will help its users.
I'm abandoning DarkBASIC for normal BASIC (From what I've seen, the Graphics Libraries for plain BASIC are even better, never-mind Visual Basic), and programming Space Invaders in C++.
Also, Hooded is still on Hiatus (Sorry )