Slashdot Mirror


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."

15 of 173 comments (clear)

  1. Pretty cool by Grant29 · · Score: 4, Insightful

    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.

    1. Re:Pretty cool by Trizor · · Score: 4, Insightful

      The best of the new generation of Engineers will not get started on games, but will begin with low level algorithm design and bottom up programming. An 80 MIP RISC doesn't have the power for abstraction layers. When I first began learning to program way back when, processors capable of this had just hit the market. I was taught, instead of writing the program directly in the language, to write tools for writing tools, then take those tools and write tools for solving a problem. You need to do this once, but there are people who are professional tool makers. This teaches you on a processor not powerful enough for that layerd abstraction that APIs bring, instead you must write directly in the language for speed reasons. It will not train the new generations of engineers, it will give good programmers a toy.

  2. A Dreamcast is cheaper. by wantedman · · Score: 3, Insightful

    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.

  3. Perhaps the point of this device is being missed.. by Trizor · · Score: 3, Insightful

    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.

  4. Want to learn to programs for "retro" systems? by poptones · · Score: 4, Insightful

    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.

  5. Re:News Flash by RTPMatt · · Score: 4, Insightful

    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.

  6. Re:interesting by sm.arson · · Score: 3, Insightful

    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
  7. Re:interesting by shamilton · · Score: 2, Insightful

    Read the Quake II source (sans obsolete software renderer) and tell me "game code still uses alot of assembly." Even the math library is C. And that was seven years ago.

    --
    "[A] high IQ is like a Jeep; you will still get stuck, just farther from help!" --Just d' FAQs, c.g.a
  8. Re:News Flash by AltaMannen · · Score: 2, Insightful

    "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."

    To get the best performance out of limited hardware you are going to have to be a very BAD programmer. Out of code ram for that special effect loop? just change a couple of bytes in a similar one and call it. Need to make sure to update the sound DAC every 100 cycles? put in a call to the DAC check between every other call and in long loops.

    The system is great for learning what hardware and APIs do for you, but to be a good programmer you need to work with a complicated system. Different tasks require different skills and game programming have many different tasks. If you program for any of the current consoles you are going to have to learn about writing efficient code, because you will always need to do more with less cycles.

  9. cool, but too expensive by TheLittleJetson · · Score: 4, Insightful

    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.

  10. Re:News Flash by leabre · · Score: 2, Insightful

    Because he is shipping ebooks with it that "assume" the reader knows nothing about harware design, and if you go through the book from start to finish, you'll be able to make the unit yourself. Of course, you'll learn how to make that system, and maybe it'll teach you how to make your own system, as well.

    Thanks,
    Leabre

  11. Re:interesting by Fjornir · · Score: 2, Insightful
    A good argument, except for one fact: "game code" does not always equate to "games for a PC with all-you-can-eat memory/disk/clock cycles/...."

    Look at titles for portables, the smaller handhelds (e.g. a gameboy), a great many of the uprights in the arcade...

    The fact is that a lot of code is still being written for devices/systems where your app will be seriously starved for resources. This is where "game code still uses alot[sic] of assembly". And you can bet that even though the bulk of the codebase may be in C that someone has taken the time to disassemble it and make sure the compiler is doing the right thing -- and then re-writing portions in assembly or reworking the code to make the compiler perform better on it.

    --
    I want a new world. I think this one is broken.
  12. xgamestation vs. 2600 by boutell · · Score: 2, Insightful

    Seems at first to be an Atari 2600, little more or less. I was going to ask why, when emulators for the 2600 are exceedingly close to the real thing due to the thousands of games by unconnected programmers that they must successfully run, anyone would take this approach. But on closer inspection there's 128K of "fast 15ns static RAM" in there, and he mentions that it's fast enough to use as a conventional graphics framebuffer. So you don't necessarily have to take the pure Atari 2600 approach.

    Also, the CPU is much faster -- it's probably inaccurate to say 80 times faster because I don't know whether the instruction set is more or less primitive than that of the 6507, but I doubt it could be much more primitive.

    That's probably the reason why there is no sprite hardware (*): you can program your raster-on-the-fly graphics fast enough without it. (Yes, even the 2600 had one-dimensional sprites which you could reposition or alter between scanlines.)

    (*) If something they would have burned into an FPGA should really be called hardware. Firmware, I guess. For programmer purposes it certainly is part of the hardware.

    So this is sort of a super Atari 2600 on steroids, if you ignore the easy way out of simply using the static RAM as a framebuffer or using somebody else's prewritten subroutine for doing so. Apply the same freaky scanline by scanline tricks the 2600 programmers did, but accomplish more with them! In that sense, it's a really neat machine, and I wish him luck with this.

    Still, I think writing new games for the 2600 appeals to me more. Not that I'll never do it. Hell no. When it comes to assembly, I'm strictly a voyeur and a dilettante.

    "Oh look, Geoffrey. The 6507 programmers are sweating as they seek to save a single clock cyle with a cleverly placed jump instruction. Oh my yes, that is quite admirable. I do work up a thirst watching another man work. Another martini? Why thank you..."

    --
    Check out the Apostrophe open-source CMS: http://www.apostrophenow.com/
  13. Graphing Calculators... by ragingmime · · Score: 2, Insightful

    Graphing Calculators can provide a similar (and much cheaper) tool. Beginners can start off with BASIC programs, and although these require some tweaking to run smoothly, that's part of the fun. (I goofed around with one myself a little while ago). More advanced assembly programmers have achieved some amazing stuff (such as greyscale on a black-and-white screen and a very accurate port of Bubble Bobble. The specs are all there for the asking.

    Sure, calculators aren't as cool or powerful as what Lamothe is putting out there, but they do force you to be creative and do a lot with a little. Besides, making something happen on a little box just seems cooler - you tend to take having complex software for granted with PC's.

    --
    I produce electronic music and write little games. Have a look.
  14. Re:Take this with a grain of salt by Anonymous Coward · · Score: 1, Insightful

    I really blame you for buying 6 books by a single author if you're not familiar with his work to know better. That's just pretty freaking stupid.