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/
This is a good way to get a new generation of engineers going. I know many of us probably got our start with games, computers, etc at an early age. It seems like it was easier back then because the systems weren't as complicated as they are now. Back then we had nice breadboards, through-hole components, eeproms, etc that made hardware hacking and learning easier. Now with all the SMT, it's hard to jump in and learn from scratch.
A new device such as this with eduction in mind from the start surely sounds like a nice hobby experience.
Buy your tech gear for much less.
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.
and more powerful as well.
Around $25 for the system on ebay, then a quick search for a bootdisk.
Plus, it can be made bootable, so other people can play your game without any modifications to the DC.
~~~
Click here, you know you wanna!
You haven't done much PS2 programming, have you? I have, and yes they do.
word.
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
If you cannot do that sort of stuff on a modern computer (which you can, to an extent)
You just can't do the stuff the xgamestation does with modern hardware. Modern hardware has a framebuffer, but this thing has a directly controlled raster stream allowing pixel level timing and color control via software loops, so essentially you have to calculate and update the color of each and every pixel you want to display on the fly. With modern Hardware you're hard pressed to even get notified of the vertical retrace. What you learn with this thing is useless for programming modern games on modern hardware, but It may be a fun way to learn assembler (that's just an 8 bit CPU in there - they planned to use an ARM but found it "too complex") and realtime programming similar to what you would have to do on DSPs.
He may have built this more for people who want to learn for the sake of learning, not for any particular glory or power. True, APIs are great, but you cannot be a truely great programmer unless you know what the API is doing, and could at least theoretically craft it your self. Doing it all your self once for the sake of learning it will make you a better programmer when you retrun to useing the APIs because you will know how the internal algorithm is working, and can make your code intergrate better.
The article says "built in programmer".
I knew the Japanese people were small, but this is ridiculous.
You can learn to program on DOZENS of the best "classic" arcade platforms (as well as more modern stuff like Dreamcast) and it won't cost a dime. Download MAME and an assembly language manual for the machine of choice and have at it.
Spend $199 and hours of time to learn obsolete skills? Games aren't programmed in assembly anymore... things have changed in the last 20 years.
It would appear you have completly missed the point here. First they do plan on making compilers for C and basic.
second on of the main ideas here is to learn how to be a GOOD programmer, the limitations of the system will force you to code well. this wont be like a desktop where you can have super sloppy code, but Ghz of power to force it to run.
Third, one of the things this is designed to teach is the hardware side of things. Its designed to be a completly open system to let you hack, tinker, and create. It comes with a book that teaches you the entire EE side of designing such a system. The idea being that if you dont like this system (or just think it might be fun) you can build your own system, and make it do whatever you want.
200$ is a bit expensive for a hobby video game programming system. Why not just pick up a dreamcast for cheap and use it?
There are plenty of resources for it and some good examples of homebrewed games and applications already out there.
Not to mention it's a lot more modern and you can use some nice rendering hardware.
Linkage:
Dreamcast Programming
Dreamcast Homebrew
Dreamcast Emulation
At my job, most of the code I write gets changed around dozens of times before the product is out the door. That's just the nature of the business.
First they want a space ninja, then they want a caveman lawyer. The game you start programming the first month of the project is almost guaranteed to be an entirely different game from the one that you finish.
Frustrated with all of the changes, I asked my boss once for the design document, and he pulled out a barely legible scrap of paper.
That goes for the low-level hardware stuff too. Even the hardware might change mid-project! My sprite code stopped working one day after we got new boards from the hardware people. I called them up, and sure enough, they changed around the hardware! (Thanks for telling me beforehand!)
Long story short; assembly programming is a skill that every serious game programmer should know, but you never know where you're code is going to end up, so it only makes sense to write well-documented C/C++ instead of the complicated ASM equilavent. (yes, I know you want to prove how clever you are with your 100% ASM programs, but in a professional environment you need to make sure that your code is understandable and modifiable by everyone on the project.)
Even on the low-level system I described in my previous post, we still use C.
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.
i've always been interested in homebrew game development.... but $199? for that price, i could buy a gamecube, max-drive-pro, nintendo ethernet card, and datel keyboard. the ideal gc-linux setup, ready for all the low (or high) level programming you want. plus, the hardware's a lot more capable.
In the near future the ARM version will be released. They wanted to have a "simple" system to start and work their way up to a more complex system.
Thanks,
Leabre
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.