Beginner's Game
Blitz3D Forums/Blitz3D Beginners Area/Beginner's Game
| ||
I am newb defintely in Blitz. I have been staring at and flipping through pages of my book ever so often but I really haven't put it to any use. Could anyone reccomend like a beginner game to make which isn't too hard? Thank you.... |
| ||
2D or 3D? Either way, I'd start with stuff like moving a block around the screen with keyboard and/or mouse. Then add another block chasing it etc etc. How newb are you? Have you programmed before? If not maybe start with a guess the number game or something similar. Snake is a pretty good starter game too. |
| ||
2D game and I have programmed some things before like html(not really programming), and various text adventures in ALAN and Inform. Well I'd say I have a problem where I can read commands and understand them but I can't utilize them myself. Thank you.... |
| ||
Try a breakout clone. they're pretty straightforward |
| ||
Or try and get a ship on screen, and make it fire bullets. Try to use types for this. Mind you can always ask for help along the way :) Just something to get you used to using the commands correctly :) |
| ||
Well, if you are familiar with writing text adventures, then write one from Blitz. The Blitz community is lacking in this department I would wager. After you've got your text adventure starting to work, add in some extra bells and whistles; graphics, sounds, on-screen map, visual display of inventory, better user interface, etc. The way to start using commands is in the necessity to achieve a desired result. If you have to draw an on-screen map, for instance, then you will be forced to try out some of the related commands to do so. |
| ||
I like Wolron's idea, build upon what you already know. |
| ||
In the samples directory check out SI/fps demo. Or check out the Castle demo. I suggest you make a copy of them in your own projects directory. And then start modifying the code to see what it does. Before you know it you will have a game going. Just make sure you keep an unmodified copy so you can restore it if something stops working. I periodically copy all my exparaments to a directory named after the date. |
| ||
Eggerland .. should be a very easy game to do.. Drawing might even be more work than coding! Eggerland especially learns you how to work with maps. |
| ||
What about pac-man? I like pac-man - you could do that. The adventure game idea is interesting. I used to like doing adventure games, but I always thought people would think that type of game would be naff compared to the 3D stuff that we are becoming used to - perhaps not. |
| ||
I think Wizards and Warriors is an awsome 3D adventure game, It uses outdoor 3D and Indoor 3D. I would like to see more games like that. |
| ||
Ross C. mentioned my method. Don't even start with a full game at first,... just try out a bunch of the commands in short programs. First just get a character moving around with key inputs, then work on a way to display background tiles, then figure out how to collide the character with the background or fire or jump or whatever... etc. Eventually, you know enough commands to start to put something together. |
| ||
(I think we are talking about the same game) Wizards and warriors would be rough for a beginner dont ya think? ;) Its basicly "Wizardry" with differnt characters. (D.W. bradly made W&W after quiting Sirtech) IF you like that game check out wizardry 8 :) But back to the point, and Rpg isnt somthing you want to try right out of the box, heh better off trying to remake one of your favorite classic games (something to keep interest up) good luck! Zmatrix |
| ||
Before you start to write your own game. Load some sample games that came with blitz and tinker/modify them. You will learn much quicker if you read other peoples programs first. |
| ||
How about making pong? it's pretty straight foward and theres a good tutorial on www.blitzcoders.com |
| ||
Pongo's elaboration of Ross's suggestion is the way to start. Even a simple game is a big project for your very first project in Blitz. Your first project should be just making one aspect of what you may eventually need to do developing a game. |
| ||
as I said, there's not much simpler than an Eggerland clone, and a damn addictive game you'll get in the end! |
| ||
What is Eggerland? |
| ||
Was wonderin that myself :) |
| ||
Same here...never heard of it.. Zmatrix |
| ||
Eggerland is a game from distant past. Well.. if one can call 1985 distant :) It's a puzzle game which I believe first appeared on MSX series of computers. Barney |
| ||
The best thing you can possibly do first, is remake something you've done before in other 'languages' so, my suggestion is a text adventure. This will help you to establish what the differences are between Blitz and anything you happen to have used before. |
| ||
actually I was assuming that -as with many games- this game was released at multiple systems.. http://images.google.nl/images?hl=nl&ie=UTF-8&oe=UTF-8&q=eggerland&sa=N&tab=wi&lr= addicitive puzzlegame, if you can grab it somewhere, try it in an emulator.. it'll cost you your eveninghours, for granted :) |
| ||
Hey "Jonman99", have you had any thoughts on what you'd like to do? |
| ||
I only mentioned Wizards and Warriors because of puki's statement about Adventure games. I still enjoy a good 3D Adventure game more then any other type. That is why I am trying to perfect an outdoor engine, so I can write one that has a large outdoor world to explore. |
| ||
@Jonman99 Do like me and start with something very basic - open a screen - display a character / graphics - make character move and bounce off edges - make character move with joystick or arrow-key - try to play some music ... ... ... |
| ||
Im thinking of a text adventure and I have an a cool breakout clone idea. It is a mix between space invaders and breakouts. Don't you know the blocks instead they are like the aliens who move down in space invaders and you must use the ball and destroy them all before they reach the bottom of screen. How does that sound? |
| ||
I love that text adventure idea actually, I'd just need a helping hand working with me to help me through the ins and outs. I am making a test one room game now so I'll release it soon. If anyone wants to help with it email me at Jonman99@... I think it could come out as a benchmark for text adventures in Blitz Thank you... |
| ||
"Jonman99" - just to clarify - what sort of help will you need? Are you talking about just implementing what you already know into Blitz or in terms of actually making the game? |
| ||
I have encountered one problem. My source code follows like this: ;text adventure test one Print "The world goes around is what the sages speak. You awake in a room stirring with a awful headache." Write "What would you like to do >>>>" For some reason it automatically closes once it prints it how do I keep the program open even though it already executed the command. |
| ||
Puki: I mean helping around with ideas, fixing code, writing, and helping with code. |
| ||
Oh I see - not to worry - you need an input routine - I haven't done any adventure stuff in PC blitz - I used to do this stuff on Amiga Blitz. However, I can help you. My adventure games were more based on Beam Software's Hobbit and Lord of the Rings games - I liked the way they presented everything on screen. Not just a case of: > You can see: a bag a fish a sword Exits lead: north south west but more like: You can see a bag, a fish and a sword. Exits lead north, south and west. > I'll try to knock something up today and E-mail it to you if you like? |
| ||
try "waitkey" |
| ||
"Jonman99" which Blitz product do you have? |
| ||
I have BlitzPlus which I just bought. Oh and that is my intention too doing it like the Hobbit and Lord of the Rings Games. I am though more of a presentation in like a list of commands you can do which each have a number assigned to them. If the user presses the button it will execute the action like in Conversations in rpgs somewhat. "You see a valley of darkness ahead of you." Press 1 to go north Press 2 to go south >1 You tread on down the trail north. What do you think about that idea of presentation? |
| ||
You'll have a lot of key presses - including sub keypresses. You can do that, although, you can incorporate that idea with relevent text input, so that the player can choose their style. How far are you taking the "key-press" idea - is it just for movement or are you using that to manipulate objects as well - such as picking them up, dropping them, using them etc.? i.e are you pre-scripting the game in terms of what the player can do in each location? ie if there was a troll at a location are you predeterming options to 1 talk to troll - 2 attack troll - 3 ignore troll, etc.? |
| ||
Well first I'd like to see how you would do a text adventure input. Could you send me a sample maybe so I could get a feel of how it is done? What I mean is send me a demo with text input and tell me how it is done. I have an idea with Goto's but they will likely mess up the game and I tried using input variables. How do you do it? |
| ||
There are 2 normal ways of doing the text input - either as a standard input or by writing a custom routine. I can give you input like a normal text adventure - "N" or "North" or "Go north" whereby there is more than one legal way. Including things like "Take all but sword" or "Take all but sword and ring" and the same with dropping stuff - "Drop all but sword, ring and backpack". I don't use BlitzPlus - I use Blitz3d and the original Blitz Basic - I don't think we should have any problems though. I won't be able to give you loads and loads of stuff for a week (like NPC stuff with dynamic moods and dynamic friend/foe/neutral stances) - but I will go away and knock up something you can interact with - don't be surprised if you don't get it until tomorrow. A few locations with a few objects that you can pick up and drop in any location and also examine and use. PS. what part of the world do you live in? I am in the UK - this is just for time-difference. When you said "intention too doing it like the Hobbit and Lord of the Rings Games.". Did you play the original 8 bit adventure games published by Melbourne House? - that is the sort of thing that I can do for you - I copied their style when I first learnt to program. |
| ||
I've started coding a framework for you. In the meantime - coz this is what you are waiting for - use: dothis$=Input$("What now? ") You can interpret the string dothis$ for the time being. If you use: dothis$=Input$("What now? ") Print dothis$ it will print what you typed in - which you can interpret. I'll carry on writing the framework with the main keywords you'll probably use - don't know if I will finish it tonight though - I'm doing it between watching TV. |
| ||
It doesn't do much yet Move by entering n, s, e or w - l or look redescribes the location - type help for no help - TO QUIT - type q or quit or end or end game I know it's kind of basic at the moment - will do more in a week Next thing I will do is give you objects to interact with. I'll have to tidy it a bit and put more comments in - but at least it is a start. ; A simple adventure game framework by "puki" - 10th January 2004 - removed: WIP |
| ||
Looking at your data statements, I wonder how many bytes are taken up by the double quotes( "" ) which determine which directions are available: 2?, 1?, 0? If they take up more than zero bytes in the final .exe then a better way would be to use an integer (or SHORT if possible) to store a value that indicates which directions are available, followed by those directions. i.e.[CODE]DATA "","","garden","","kitchen","","bedroom","","",""[/CODE]- which is 7 (or 14?) extra bytes could be[CODE]DATA 84, "garden", "kitchen", "bedroom"[/CODE]if N=1,NE=2,E=4,SE=8,S=16,SW=32,W=64,NW=128,U=256,D=512 An even better format could be a lookup table for the room names. So the previous Data statement:[CODE]DATA 84, "garden", "kitchen", "bedroom"[/CODE]could be DATA 84, 1, 3, 4if a table was made containing these values: DATA "garden", "hall", "kitchen", "bedroom"where garden=1, hall=2, etc. So the original format for the Data statements taking up 27 bytes (or more?) could be reduced to 16 bytes if numbers are stored as integers(4 bytes) in DATA statements, or even less if the data was stored in a seperate file (because they could then be stored as SHORTs and BYTEs, thereby reducing it down to (in this example) 5 bytes) |
| ||
Too true "WolRon" - I was kind of messing with different ways to go about it - just to get the thing up and running quicker so that "JonMan99" could get a look at what he could do. I'll be refining the data and the calling of it soon. Thanks for your post though. |
| ||
sounds cool, I was intending on doing some small test with it first. I mean like a no plot beta which is used to just set a benchmark. I want be demanding you to do things like that, It's your decision if you want to or not. I have done some test, I believe and I need a example of the framework. From that we both can work on a beta? My email got changed so it now is justanotherguy992003@... Email them to me and we can talk more. Thanks P.S I live in the east coast of the U.S, I think a 3-6 hour difference. |
| ||
"Jonman99" - I've got two weeks holiday from Thursday onwards - so I'll be able to lend a hand. |
| ||
Long time since i did any programing But i wrote a pacman in AMOS, started in blitzbasic, then my amiga bit the dust. Ive also written a scrabble type program, in delphi, still play around with it, eventually it will work - honest:) But the idea of writing what you know, and at least as importantly, what you like is the best way to go. A good way to go, already mentioned, is start on a support function for the program, my suggestion would be the opening screen/option screen - whilst you're at it, try to make it stand alone, so u can reuse the important bits. I made the mistake of trying it half way through my last project, got confusing working on the load/game, screen resolution, number of players, etc, had fun writing the graphics for the opening screen though, taught me a lot. I included a high-score table, specific variables can be set to so only the parts you want for the project working on are needed. Hope that isnt too confusing, late here, and still trying to get into programming mode again:) |