Beginning my programming journey
BlitzMax Forums/BlitzMax Beginners Area/Beginning my programming journey
| ||
Hey all. I am just beginning my game programming journey with BlitzMax based on the recommendation from Simon of New Star Soccer fame. I know what I want my big project to be game-wise but I am quite far from that yet. So I have two questions. 1) Can you guys suggest a good, simple project for me to learn how to create a game? A simple shooter perhaps, A recreation of an existing board game, or something along those lines. 2) Is there a step-by-step guide to creating a game from concept to completion that describes not just the programming aspect but the planning, documentation etc? I am really interested in learning the progress of game creation. Thank you. Scott |
| ||
i found this useful for me. Maybe it's right also for you. |
| ||
Hi there, Someone else can help you with (2), but if you are a real beginner, do yourself a massive favour, and forget the whole planning and documentation aspect to begin with. The only documentation you need at this stage is a few well placed 'rem statements'. If you haven't done so already, have a good read of the BlitzMax documentation. Find a simple demo, for example something from the code archives or something that comes with Blitz, and play about with the code. Change bit, tweak bits, and ensure that you understand what is happening and why. This is an excellent way of learning. Don't get bogged down with things such as MaxGUI, object-oriented programming or types if they seem daunting. There's plenty of time for that later. |
| ||
1) Can you guys suggest a good, simple project for me to learn how to create a game? A simple shooter perhaps, A recreation of an existing board game, or something along those lines. Yahtzee, draughts, a remake of a classic old game, such as space invaders or centipede, a popular genre game such as match-3/hidden object... The list is endless, but really, what you have got to think is, what type of game do you like,as its no good making something you have no interest in. 2) Is there a step-by-step guide to creating a game from concept to completion that describes not just the programming aspect but the planning, documentation etc? I am really interested in learning the progress of game creation. As John mentioned, just have a good read, scour the examples that come with BlitzMax, start to make something, and if your not sure of what your doing, say, handling tilemaps, then just post! :) Dabz |
| ||
How about a game of solitaire or something like that? |
| ||
Have you done any coding before? If not, try pong... it'll teach simple graphics, controls, simple AI, sounds etc |
| ||
Get a bitmap/png image of a face to draw on the screen. Get the face to follow the mouse pointer. Get the face to move around using the arrow keys instead. Get an image of a ham. Place 3 hams at random locations of the screen. Collision detect between the face and the ham. When there is a collision, remove the ham and increase score. Get an image of a stop sign. Place 3 stop signs at random locations of the screen. Collision detect between the face and the stop sign. When there is a collision, prevent the face from moving over the stop sign (it's a barrier) Add some sounds and a background image. This will keep you busy for a while ;) |
| ||
Thanks for the advice guys. I will decide on something simple and start there and I will read and absorb everything I can on this site and the Blitz basic manual....oh, and i'll search Google images for a picture of a ham. ;) |
| ||
Welcome... always nice to see another Canuck on here... where about are you? I'm in Victoria |
| ||
the gamedev link tells you to make tetris which is actually quite difficult |
| ||
seriously...just do this in order and then you'll be on your way.... Hello World. Hangman. Pong. Space Invaders. Pac Man. Tetris. Super Mario. There is so many ways to do Tetris, it's always a good challenge because usually no 2 beginner coders will ever code it the same way. |
| ||
I also would not suggest Tetris as a beginner project. In fact I wouldn't recommend cloning any real game as your first project. Keep it simple, but with your own design ideas. That will keep you motivated. |
| ||
I've done programming for years & years, but I'm still a novice. First thing I made in BLitzMax was a slide puzzle/tile scramble puzzle: - Load a pic - Devide it into 16 pieces - Scrammle - Use arrow keys to re-arrange pieces to put the puzzle back together Rather boring really. I offered my tile scramble game to EA for $1Mil but they declined :( but I did learn something from making it Must agree re: Tetris - I reckon I could make it if I put my mind to it - but it's not a first project to work on unless you have a decent amount of programming experience behind you or unless you think in a very logical kind of way |
| ||
LOL! Well, I started by exploring an existing project and augmenting it to get the hang of it. It was the little breakout in the bmax examples. Although I do have a strong starting point, since I had been programming for nearly two decades before stumbling across bmax. However, it reminded me of my very first beginnings with disassembler on the C64. Even now I havn't finished developing a single complete game, but only due to my focus on learning and the digression of exploration. I know that the four games I've started would all make fun games in their completion and all of them started without a fleshed out concept but just an idea. Along the way you discover the merrit of organizing your code and with that knowledge in mind you simple make a certain structuring your habit. Learn about the Graphics. (syntax, loops, coordinates...) Learn about user control (KEY and mouse, maybe even Events). Learn about Types. (Methods, Functions, Fields of variables...) Learn about String handling, Arrays and the likes... Last but not least Audio, but I'd keep that for last... That's about the order in which I went at it. I'm still fighting with audio, though. That's all you need to make your games. |
| ||
Thanks very much guys. I was also a little confused about Tetris as a beginner project. It seems like it would be too complicated at this point. I will let you know how I progress and what I decide to start with. @_Skully - I am near Toronto. @Arabia - nice idea. I may try something similar. Thanks again everyone. Scott |
| ||
I have to agree about the (over) complexity of Tetris. Also, while it should probably sit some way down the list, you really should look into states and serialization at some point. Saving and loading state data is one of those things that is tricky to retroactively add to a project so it's worth getting into the habit of structuring your game around how you're going to achieve it from the start. |
| ||
Hi ScottFromCanada, How is learning blitzbasic going for you, I am new aswell just purchased yesterday was wondering on your progess. - Kirk. |
| ||
Hey Kirk. It's going well. I am reading everything I can and messing around with the sample code included with BlitzBasic. I am trying to learn all i can. Keep in touch and let me know how it is going for you. Scott |
| ||
Hi Scott, Nice to hear your doing so well in learning I will try help you if your struggling to understand something and give you my noob point of veiw of things. I am doing well myself, I was just messing about creating little programs in the console for a few hours, created a simple number guessing game and went on to using the graphics mode, created a little stickman image in paint and displayed the image. I then went on using the arrows keys to move the image around the screen. So thats where I am so far going to look into Types next and collision detection between sprites. - Good luck! Kirk. |
| ||
Hi Kirk, Sounds like you are doing well. I am trying to write some simple little programs as well. I like your idea of the simple number guessing game. I might give that a try. Scott |
| ||
When creating the guessing game I had a problem with IF statements as from the previous languages I used they slightly different in there use. Good luck with this tell me how this goes. Kirk. |
| ||
This feels like I'm reading somebody's correspondence lol |
| ||
kirk, what problems are you experiencing with the if statements, do you have a simple example? |
| ||
When to use EndIf because in the previous BASIC language I used you use it after ever IF statement. - Kirk. |
| ||
If the If statement is only a single line long, you don't need EndIf. |
| ||
Cheers. |