Andre Lamothe Launches XGameStation
TheAdventurer writes "Andre Lamothe, author of many popular video game programming books, has released his XGameStation. The initial offering, the XGameStation Micro Edition, is a retro level hardware platform, similar to the old Atari and NES systems, designed to teach enthusiasts and students the elements of console hardware design and effective low level programming skills. The unit comes with an e-book written by Andre on how to develop on the platform using its assembly language IDE (included) and how to make your own extensions to the device. It is priced at $199."
Cheers,
Erick
http://www.busyweather.com/
How many people out there do you think there are that would want to learn assembly? I learned it when I was young and tinkering with a C64... but now a days, you ask any young programmers, 95% of them don't want to bother learning assembly...
Don't get me wrong, I do embedded development, and use of ASM is frequent, but modern consoles don't need such low level programming, the API's handle almost everything... I doubt that this is so much about learning to program consoles, as it is learning to develop for embedded systems... modern consoles don't qualify in my books...
---
Programming is like sex... Make one mistake and support it the rest of your life.
If you cannot do that sort of stuff on a modern computer (which you can, to an extent), what's the point in learning about it? Is it just for people who want to learn ASM, with the prospect of being able to use it in embedded devices or something? These days alot of the graphical things are handled by the GPU anyway, meaning much of what you learn is rather useless in terms of modern game programming, plus any of your creations have a rather limited distribution market. Though it is rather cool if you DO want to make things in ASM larger than your normal bits of inlined stuff, I guess.
A bit of background on Andre....
I'm posting this AC because I know this will get modded down as flamebait.
I've been working in the game industry as a programmer for 15 years, and have never regretting purchasing a single technical book (and I've bought hundreds) until, one day when I was at Barnes & Noble, buying six by Andre Lamothe thinking they might be useful.
Not only are his books terribly tied to specific platforms (he wouldn't know how to program if sample code wasn't handed to him on a platter by Microsoft--most of his sample code is taken STRAIGHT out of Microsoft's examples), but he can't write a paragraph without factual errors to save his life.
I remember a whole section where he was talking about 56 Kbps modems having a total of 56 Kbps of bandwidth split between incoming and outgoing data, and if you sent more, you could receive less. And another where he dismissed NAT because IP addresses on the internal network would conflict with those on the Internet and the idea would never catch on (he'd never heard of reserved netblocks, apparently).
He has become just a name and a marketing tool; do NOT rely on him for actual game programming tips and information.
I'm glad I'm not the only one who noticed those books were lousy. HOLY CRAP. Those are the only books I've ever thrown away. Ever.
I wish we had this when I was in school, it would make a good course, imho
The design of the xgamestation is almost *exactly* like the arcade hardware that we're using at work.
This little bit of hardware might seem to be underpowered, but I can tell you from experience that this is the kind of stuff that a lot of professional game developers are using today.
With the arcade business being what it is today, the challenge is to fit the most amount of game into the smallest (meaning cheapest) hardware. The game I'm working on right now runs on hardware (similar to the xgamestation) that only costs about $40 for each unit. It's basically a 66mhz Z80 cpu, 4mb of texture memory, and an fpga that is really good at moving around memory, and it's a childrens redemption piece (ticket spitter) that's going to sell like hotcakes.
When I applied for my current job, I was one of the only guys who had any non-pc game development experience (through the sony net yaroze). This little box should open the door for a lot of aspiring game programmers.
Between Torque and the XGameStation, young programmers have no excuse for not having a kick-ass game for their demo reels.
for great justice, this sig has been moved
The only thing that really gets me on the thing is this price. Would it be cheaper to homebrew your own console? I mean you can still get 65C02s and memory in such small amounts shouldn't be that expensive, right?
Anyway this thing is off to the right start I think. It even has a demoscene, which to me shows how interested people are in this thing. I might get one of these in the near future and mess around with it.
An emulator also often means that the performance may be less than expected because of the actual instruction:result ratio. If you're doing programming for actual hardware, an emulator is nice but a physical machine is a good thing to have.
You're not just paying for the motherboard whenever you buy this package. You're buying an IDE, documentation explaining the hardware, plus an emulator designed by the same people designing the hardware. While it's true that there are free alternatives to almost every mainstream console out there, they're usually not officially by the manufacturer for obvious reasons and alot of them are works in progress.
Whether it's actually worth its weight in gold or not, the important thing is that you pay extra if you want the official development tools for your gamecube, your PS2, or your dreamcast. If Nintendo, Sony, or Sega did that, then who's gonna garuntee the big-label companies make as much money as they do? Would there be any point in spending millions in R&D for these companies?
This may not be a direct path to engineering, but it would be a good toy for an 11 year old with those inclinations. Most kids, even geeks, aren't going to gravitate towards learning code.
We all start somewhere, y'know. I knew every peek and poke and hack and crack on my beloved C-64. Not a single hour I spent on it could be considered "useful", but I did walk away with the confidence that I could master any machine.
You couldn't base a college class on Dreamcasts because you couldn't order them in reliable quantities, or get them repaired easily, and you have to burn CD-Rs all the time. Well, okay, you could, but you'd eventually come to a point where it was more trouble finding units at non-fixed prices off of ebay than it was worth. And DC serial cables are too hard to find and DC BBAs are too expensive.
In fact, I think the best system out there right now for teaching game programming might be the Game Boy Advance. ARM processor, easy to load software over a link cable, easy to buy in quantity.
#naabhaprzrag, #sverubfr-000, #agi-fcbafberq, negvpyr[pynff*=' negvpyr-ary-'] { qvfcynl: abar !vzcbegnag; }
Too bad parent is erroneously marked offtopic... I think it's spot on.
I've actually met André LaMothe. I was 14 or 15 at the time and living in Milpitas. I sent an email to the CompuServe account listed in the back of his book and he not only was kind enough to reply promptly, but explained several of the concepts I was having trouble with to me over the phone in more detail. He gave me a copy of what was at the time his newer book, as well as an older version of Watcom C/C++ that he wasn't using any more.
I was used to always writing to an API (I wrote, as an exercise, my own mini-OS in assembly, but it still used the BIOS for everything) and coding to bare metal was a new thing to me. I knew of the dangers of C macros (multiple evaluation, etc) and so avoided them entirely, but he gave examples of where they could be used to great effect and how to avoid those dangers. I learned about how to implement preemptive multitasking from his books, about effective use of lookup tables, about how knowledge of higher math can be leveraged to write much more efficient code.
His newer books ended up focusing on DirectX, and I lost my interest in game programming when I realized that without a full studio and millions of $ it would be near-impossible to compete with the Quakes and other established models that continually raised the bar. I now program in a business context (amusingly enough, using Lisp macros heavily, which put anything C macros can do to shame) but I'm grateful for everything I learned from his books.
I think this XGameStation is a great idea. I may buy one. Something which can show inexperienced programmers through experience the difference between an effecient algorithm and an inefficient one is an idea I fully support, and this looks like it could end up being lots of fun besides.
TO BUY A NEW CAR WOULD MAKE YOU SEXUALLY ATTRACTIVE.
I work at a game company and the title we're working on is going to be out for PC, xbox, PS2, and GC. The lead guy is doing the PS2 port and we have one dedicated guy doing the GC port. It's all on a single codebase with the makefiles deciding what platform to target. We use C++ with GCC and VectorC for the consoles and Intel's compiler for the PC.
Very little is actually coded in assembly. The main things coded in asm relate to graphics: VU's on PS2, the shitty microcode for GC, and the shaders for xbox. I'd be hard pressed to find any asm on the PC port, mainly because many of the intrinsics are already included in the compiler already.
Honestly... you can pick one up for just over a hundred bucks (even cheaper used), plus a flash cart for about the same or less, and you can develop software for a decent, popular console. It's definitely a more old-school style platform (has a nice, traditional sprite-based VDP) and in order to do anything really fancy, you pretty much have to write some code in ARM assembly (which is, BTW, a joy... the ARM has a *really* nice ISA).
As for documentation, the GBA is only rivaled by the Dreamcast in terms of how well documented it is and how large the homebrew development community is. And much like the DC, you can use the standard GNU toolchain for development. And, of course, you can still run regular ol' games on it, so it doesn't *have* to be just a development platform.
So, why would anyone bother with this thing?