|
Post by Der Luchs on Apr 27, 2014 6:22:43 GMT -5
That's probably getting a bit advanced for a beginner's tutorial... that said some sample code for 3D Imager, Lightpen, VecVox donated to the public domain would be REALLY useful :-D cNp LOL, yeah I'm mean just a tutorial ^^ Or a beginner tutorial for starting 3D coding would be great as well ;-) VecVox is/was donated to the public domain, but I've really no clue where I found it...
|
|
manu
Vector Runner
Posts: 13
|
Post by manu on Apr 27, 2014 8:48:30 GMT -5
Hey Manu, your code examples have been very useful for me too... one bit of code I would have liked to have seen but I get a 404 on your site is the scoretest using your own font... is that intentionally removed or just 'missing'? Cheers, Chris It was missing, can be found from here now : pastebin.com/WM1jbD04- Manu
|
|
|
Post by cNp on Apr 27, 2014 9:18:39 GMT -5
Awesome, thanks Manu!
cNp
|
|
|
Post by 50tbrd on Apr 27, 2014 9:51:30 GMT -5
Some people can use all the help they can get. It may make the difference between someone making the next great game or giving up.
|
|
|
Post by ledzep on Apr 29, 2014 5:17:34 GMT -5
A step by step guide that takes the various ideas that are out there and puts them sequentially plus fills some gaps to getting a game working could be helpful. The two 'Chris tutorials' plus Manu's code for joystick input and moving a 'sprite' on screen are enough to get anyone going... but adding collision detection, score, lives, etc. all in the same programming style and with comments would be good. One thing it could drive is discussion from the various people programming as to what they do differently and why. cNp Agreed. Going through a tutorial of a game from beginning to end with all the necessary parts included would be great. Filling in the blanks that you've found from programming your first game using the currently available guides and tutorials, the "Oh yeah, I need to do this before doing that and then this thing that nobody mentioned" issues, that's what some of us need. I'm trying to teach myself HTML5 and CSS3 to deal with a website my brother wants done. I ended up buying this book - www.amazon.com/HTML-CSS-Design-Build-Websites/dp/1118871642/ref=sr_1_1?s=books&ie=UTF8&qid=1398766324&sr=1-1&keywords=html+and+cssbecause it goes step by step about how to build websites and, even better, shows code for an example and then an image of how the result will actually look on a computer screen. I would suggest doing something similar for a Vectrex game. Meaning example assembler code for player scores along with a picture of what that would actually end up looking like on a Vectrex so that if we do it wrong it will be obvious. It's not like it has to be a great game, either. It could be PONG or Breakout or Combat, nobody cares. Just go from beginning to end and explain why certain things are being done. Just pick a game that has all the basics - controller inputs, scores, lives, movement, player/missile design, collision detection, etc.
|
|
|
Post by VectorX on Apr 29, 2014 9:11:44 GMT -5
Agreed. Going through a tutorial of a game from beginning to end with all the necessary parts included would be great. Filling in the blanks that you've found from programming your first game using the currently available guides and tutorials, the "Oh yeah, I need to do this before doing that and then this thing that nobody mentioned" issues, that's what some of us need. I ended up buying this book - www.amazon.com/HTML-CSS-Design-Build-Websites/dp/1118871642/ref=sr_1_1?s=books&ie=UTF8&qid=1398766324&sr=1-1&keywords=html+and+cssbecause it goes step by step about how to build websites and, even better, shows code for an example and then an image of how the result will actually look on a computer screen. I would suggest doing something similar for a Vectrex game. Meaning example assembler code for player scores along with a picture of what that would actually end up looking like on a Vectrex so that if we do it wrong it will be obvious. That would definitely be good, unlike some so-called tutorials for many products over the years that don't really explain squat and you end up not learning anything (lotta computer software guides come to mind).
|
|
|
Post by christophertumber on Apr 29, 2014 14:55:17 GMT -5
IMO, there's three very different aspects to this:
1) Learning to program - There's a whole bunch of different concepts here that if you're unfamiliar with coding there are learning curves and basic concepts you need to assimilate. (variables, program flow control [loops, conditional statements], logic, IO). Learning this on esoteric hardware using language (ASM or C) not really designed for teaching is problematic.
2) Learning MC6809 assembly language - or C, but I would submit that you're better off skipping C because if you're at all ambitious you're going to want to learn ASM eventually and while learning ASM is not trivial I'd suggest that the kind of programs typically run on a Vectrex are about the best type for learning ASM (not really any complex data structures, not a lot of string handling, not a lot of obscure APIs just a handful of BIOS routines [that you'll eventually stop using]). However, low level languages are quite different than high level especially when it comes of a bunch of things you wouldn't worry about (memory usage, optimization, assemblers) so not a trivial task.
3) Learning the Vectrex hardware - The hardware's quite well documented at this point but it is pretty unique and so even if you're an experienced assembly language programmer there's some learning here. Plus throw in things like emulator and hardware testing.
So for someone starting from scratch it's difficult to create a path that isn't overwhelming since you have to learn a little bit from all three streams even just to get something simple ("Hello World") up and running.
Please feel free to ping me if I can be of any help.
|
|
|
Post by xefned on May 6, 2014 15:39:35 GMT -5
I LOVE this idea (!!!) a lot - and would be willing to pay for an online class if you choose to offer it that way. I'm currently teaching myself and trying not to ask too many annoying questions so I research every step one at a time. The first task I assigned myself, seemed simple enough: compile "Hello World" as outlined on playvectrex.com (Salomon tutorial.) I was finally successful working at it for about 12 hours over 3 days. It was a lot of trial-and-error, and I'll spare you the gory details for now. But I haven't even begun to learn how to code yet... So yes! Consider me an eager student. You could even use Veccy Bird as your walk through.
|
|
|
Post by mikiex on May 7, 2014 14:47:33 GMT -5
I LOVE this idea (!!!) a lot - and would be willing to pay for an online class if you choose to offer it that way. I'm currently teaching myself and trying not to ask too many annoying questions so I research every step one at a time. The first task I assigned myself, seemed simple enough: compile "Hello World" as outlined on playvectrex.com (Salomon tutorial.) I was finally successful working at it for about 12 hours over 3 days. It was a lot of trial-and-error, and I'll spare you the gory details for now. But I haven't even begun to learn how to code yet... So yes! Consider me an eager student. You could even use Veccy Bird as your walk through. Well doing is definitely the best way to learn so you're on the right track. Not sure I would use Veccy Bird (hate returning to things!) , I kind of wanted to do a tutorial as a way of starting another project. Probably a simple Bottom of the screen shooter. Have you coded in any other languages before?
|
|
|
Post by xefned on May 7, 2014 18:37:07 GMT -5
I know the feeling of not wanting to return to the past; every new project is a new opportunity to learn and explore. Even if you intend to do a 'generic' BOTSS, you just might create something unexpectedly unique as the playground of your mind takes over. I've coded in BASIC on the TRS-80 and TI-99, some PHP for web projects. Also I took a PASCAL class in college. So once I get my bearings with the available tutorials, I should be able to grasp the structure and general concepts, at least on a theoretical level. Stoked!
|
|
|
Post by mikiex on May 8, 2014 14:46:32 GMT -5
I know the feeling of not wanting to return to the past; every new project is a new opportunity to learn and explore. Even if you intend to do a 'generic' BOTSS, you just might create something unexpectedly unique as the playground of your mind takes over. I've coded in BASIC on the TRS-80 and TI-99, some PHP for web projects. Also I took a PASCAL class in college. So once I get my bearings with the available tutorials, I should be able to grasp the structure and general concepts, at least on a theoretical level. Stoked! That sounds enough programming experience to get going. Some things I think are important... 1. Comment everything 2. Iterate you code slowly (only make small changes and they test them) 3. Set small goals
|
|
|
Post by xefned on May 11, 2014 19:34:28 GMT -5
Good advice!
I'm glad you're going forward. I went back through the Tumber tutorial and it made much more sense the 2nd time through. I still got lost in the indexed addressing and tables but I suspect a future visitation will clear that right up.
I'll be checking out your part 1 this evening. Thank you in advance.
|
|
|
Post by christophertumber on May 11, 2014 20:52:56 GMT -5
Yes, indexed addressing and tables should be considered at least intermediate level stuff. Even now I'll not infrequently trip myself up when I'm using a pointer from a table of pointers and taking an offset from that pointer...
|
|
|
Post by mikiex on May 12, 2014 2:35:01 GMT -5
I also stumbled with index addressing tables, maybe I should make some examples for my next tutorial.
|
|
|
Post by xefned on May 12, 2014 15:53:59 GMT -5
I'll be honest, I'm not even sure what the word "tables" refers to. Would it be like a "lookup table" of tabular data?
Mikiex, Thanks again for the well-commented example in part 1. And belated thanks to Chris T. for penning the original document 15 years ago or so.
As I compare the two, it all comes together as I notice Chris' label "waitrecal" and follow your "Wait_Recal" (with underscore) into the Vectrex.I file and see that they both point to the same memory location, or "locker" (not sure if that's correct terminology) in the Vectrex' ROM. specifically: $F192. --> "OK, It's starting to make sense." Slowly but surely.
I printed out the freeware assembler manual so I can start learning some of the mnemonics beyond the basic JSR, BRA, etc.
Thanks guys. I'm pretty excited about this.
|
|