• Advertisement
Sign in to follow this  

Unity Open Source Console

This topic is 4504 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Ok, this thread is inspired by this thread, the OP there is looking for developers to code for what sounds like a Pentium 300mhz based console with no 3D rendering support, there seems to be a lot of unwanted "recomendations" there, so I thought instead of adding to them, I rather start a new thread. Not long ago I had the idea of making bootable knoppix disks as medium of distribution for games, the disk itself would contain installers for Windows, Linux and the option to run the game directly from the disk on Linux, in theory, this could provide the basis for a new console, which would be sort of a dumb PC. Now, this other thread has inspired me, and I would like to hear your sugestions for building an OpenSource console. Marketability is not much of a concern here, think of this as a console by developers for developers, though, lets try to keep it cheap [smile]. Here are some initial specs (just throwing what first comes to mind): MicroATX motherboard (one with integrated sound and network card), AMD athlon 1GHz processor, Geforce 2 or 3 video card, with TV out, 128MB ram.

Share this post


Link to post
Share on other sites
Advertisement
In order to boot from a USB key the drivers for it would have to be in the BIOS.

As for booting from knoppix on a CD-ROM I know that the Amiga Forever emulator has a Knoppix-based live CD that boots AmigaOS through a version of E-UAE so I suppose it is possible.

Share this post


Link to post
Share on other sites
Including the OS on the CD or USB key drive would reduce the maximum size of the game.

Share this post


Link to post
Share on other sites
Quote:
Original post by Roboguy
Including the OS on the CD or USB key drive would reduce the maximum size of the game.


Yes, which is why I am now thinking about a FlashROM PCI board, which contains the OS, basic functionality such as playing DVDs, and the mechanism that launches the game from the IDE CD/DVD if present.

I have some electronic engineer friends at work, I'll ask them tomorrow about how feasible it would be, if posible, in theory, all it would take to turn a PC into this Open Source console would be to build the FlashROM card, or buy it already built.

Share this post


Link to post
Share on other sites
Quote:
Original post by samuraicrow
In order to boot from a USB key the drivers for it would have to be in the BIOS.

As for booting from knoppix on a CD-ROM I know that the Amiga Forever emulator has a Knoppix-based live CD that boots AmigaOS through a version of E-UAE so I suppose it is possible.


Is it possible to modify the BIOS? the FlashROM card I talked about would have to use a similar mechanism such as that of booting off a network card (or so I would imagine).

Share this post


Link to post
Share on other sites
Quote:
Original post by Roboguy
Including the OS on the CD or USB key drive would reduce the maximum size of the game.


A ~160MB would suffice to being able to successfully boot up a bare windows installation. If you were to use a large flash drive (1GB+), then you'd not need to really worry about too much of a size restriction. Even if you had a ~512MB flash drive, you'd have about 256MB worth of free space for a game to use. Of course the main problem with that whole idea is speed. Botting up XP on a USB drive is extremely slow on 1.1 (roughly ~10 minutes). If you could guarntee a USB 2.0 interface, then you'd not need to worry about that.

If you have no idea of what the heck I'm talking about, look here [smile] Me and a friend just did it this evening and it worked great. Although it does not work on AMD computers, just intel, so you'd have to take that into consideration too. I'd still need to experiment some more with the whole idea, and I'm going to try putting a SDL game on the USB drive and see how it all works in the end.

Share this post


Link to post
Share on other sites
Quote:
Original post by Drew_Benton

A ~160MB would suffice to being able to successfully boot up a bare windows installation. If you were to use a large flash drive (1GB+), then you'd not need to really worry about too much of a size restriction. Even if you had a ~512MB flash drive, you'd have about 256MB worth of free space for a game to use. Of course the main problem with that whole idea is speed. Botting up XP on a USB drive is extremely slow on 1.1 (roughly ~10 minutes). If you could guarntee a USB 2.0 interface, then you'd not need to worry about that.


Well, it would use an OpenSource Kernel, Linux comes to mind first because of NVidia's strong drivers for it, but FreeBSD could also be used.

Also, you could have the option to install a full OS in its HD, but bare bones, all it should have is basic CD/DVD playing capabilities, think like a PS2 or PSP, so the OS shouldn't take much time to load. I like the FlashROM idea because it is much more "write only" than the USB key one.

Share this post


Link to post
Share on other sites
I worked with some people on a similar idea for awhile a couple years or so back. Its really easy to do all the 'fun' stuff, coming up with a name, specs, case design etc. and think you're part way there. Even limiting the discussion to the 'fun' stuff, specs are a headache. To source parts that are available and cheap, but yet don't suck is near impossible. It gets expensive even for a fairly modest setup unless you have the capacity to manufacture a custom system (where everything is integrated in one mobo.) We struggled to keep cost at around 200, but that was ignoring case and manufacturing.

Moving on to the less fun parts, firstly, you need to have a firmware/os guy, for say, a linux based system, AT LEAST someone who can build a small but game-worthy version of linux, but prefurably someone who has done OS work on embedded systems. Even thats just the tip of the iceburg as far as the more difficult work is concerned. I'm not saying that its impossible, or even that its something not worth dreaming about-- It would be F'ing cool, but its just so much trouble to go through. If you're not familiar with the indreama story, there was a company, a real company, that wanted to bring out a linux-based console around the same time as Xbox, with roughly the same specs. They pulled out dispite having hardware in the final stages, really intelligent, experienced people, and a sizable budget. Even if you're not trying to compete with the big boys, this is only a niche market of about 12 people (actuall sales, not people who tell you they'd buy one.)

So basically you have to ask yourself this-- "Is it worth it?" Ignoring the wide-eyed, wouldn't-it-be-cool factor, wouldn't your time be better off in an existing console dev community such as the GBA or dreamcast? Both systems are EXTREAMELY easy to get into and require no modded hardware. Dev tools and libs are freely available, and although still a niche market, its much larger than 12 people. On top of that, the dreamcast and all the tools/hardware you need can be had for like 70 bucks, and is a fairly powerful system. It has a pretty capable graphics chip (certainly better than a Geforce 2) and the SH4 CPU has some nice features for 3D such as a built in Mat4x4 * Vec4 operation. It may have built in dot and cross too, I forget. Theres even a company that has released 2 DC homebrew games commercially, called Goat Games. Also, 90% of dreamcast units will play a CD-R with no issues (Goat Games uses standard CD-Rs) so when you have a finished product, its entirely possible that there is an existing, though small, market for it.

Sorry if this is all a bit rambly, its just too much to organize more in the time I have.


EDIT-- All that said a supply of these would be nice: Motherboard
Its a motherboard with integrated Celeron-M CPU at 1ghz, paired with an Intel 845 chipset with integrated graphics which are passible, but pairing this with a PCI radeon 9100 or similar nvidia card could be pretty nice. From there you'd just need a case, psu, ram and drive(s)

[Edited by - Ravyne on September 19, 2005 8:12:17 PM]

Share this post


Link to post
Share on other sites
Quote:
Original post by Ravyne
[Long Post] [smile]


Thank you for your input Ravyne, appreciate it, [smile] like I said, this is not really for money (though I can see where money could be made if this takes off), it's not even that serious, I have a bunch of spare parts around which I could use to build a prototype, my idea is to modify the PC as little as possible to make it behave like a console, then post the directions to build one as a hobby project (like those home made arcade machines build out of an old pc running MAME).

The development process would be the same as developing for the PC, just that the game would have to run off the CD, so ports become almost trivial.

Once the FlashROM card design is finished, then we can start standarising the hardware, with standarised hardware, then we can get into production lines.

In the meantime though, lets just try and make spare PC parts behave as a console [smile].

Share this post


Link to post
Share on other sites
You know, the Dreamcast and GP32 are the closest things to "open source consoles" currently available. The GBA also has an active and highly productive homebrew community, with products that actually run on retail hardware. Why not adopt one of those.


Open source doesn't lend itself well to tangible objects. Even if your specs are completely open, your firmware licensed under GPL and freely available, and your custom kernel, libraries and utilities ready to download, you lose the ease of adoption factor because people now have to lay out a not-insignificant amount of cash to run your OS. Not to discourage at all; I just think that there's a mix-up in terms/philosophies here.

Open source design isn't much use without free fabrication facilities. This is why the most important open source utility/application ever written in the GNU Compiler Collection.


Quote:
Original post by Kwizatz
...my idea is to modify the PC as little as possible to make it behave like a console, then post the directions to build one as a hobby project (like those home made arcade machines build out of an old pc running MAME).

Maybe that's the real solution: build your "console" around an emulator, which solves the problems of hardware variance by emulating a consistent environment. Or, if you prefer, you can call it a Hardware Abstraction Layer. [smile]

Share this post


Link to post
Share on other sites
Quote:
Original post by Oluseyi
Maybe that's the real solution: build your "console" around an emulator, which solves the problems of hardware variance by emulating a consistent environment. Or, if you prefer, you can call it a Hardware Abstraction Layer. [smile]


You know, I've actually got a project like that kicking around in my head, I wrote a simulator for a NES/SNES/GENESIS inspired GPU for a job application. All it'd need is an equally retro CPU simulator and a few other bits... Problem is, I got the job, so my time is limited ;)

Share this post


Link to post
Share on other sites
I built myself a "DOS console" a while back. 100MHz Pentium 1, 32MB RAM, some Crystal 100% SB16 compatible sound card, 32X CDROM drive and floppy drive.
I formatted a floppy disk under DOS 6.22 with the /s option, added a bunch of system drivers (CD ROM extensions, mouse driver) and used RAMDRIVE.SYS to create a 20MB RAM drive.
I knocked together a simple DOS application in QB that would try and open a file to write on the CDROM drive. If that failed (no disk) it would loop around until it broke out with a different error code (to the extent that the disk was read-only). At this point it went through a list of files referenced in a text file on the floppy, seeing if they existed on the CD (a crude way to work out which game you'd put in). It would then, if found, look up which file to run on the CD in the same text file and shell it. When the game was quit it would eject the CDROM and prompt (if any had been created) to zip up the contents of the RAM drive and copy to a floppy (there's my nifty memory card system!) Before running the game it would let you unzip files from your "memory-card" floppy to the RAM drive too.
Unfortunately, there was a lot of disk swapping between the system disk and the memory disk, booting off a floppy was horribly slow and it wasn't very elegant to have to sit through an installer/config for some games. It ran DOOM, DOOM2, Blood, Quake and Tomb Raider fine, though!
Not entirely related, but that's my experience. [smile]

Share this post


Link to post
Share on other sites
IDE compact flash addapters would also work. They'd probably be a fair bit cheaper than thouse specialized IDE flash disks.

Is there a problem booting from a CD? Discs would/could be customized to include a small OS, and it wouldn't add too greatly to the size, ~50MB at most. Have the OS create a ram disk and load itself there... you could probaly even use an image of the OS which would be faster to load and compressable to save disc space.

If you do go through all the trouble of having a flash disk, you may as well use a hard drive and have the unit double as a media player (possibly with PVR capabilities.)

Share this post


Link to post
Share on other sites
If you're going to be hackish, you might as well go all the way: Why not use a decent compression algorithm (like PAQ) and compress as much as possible (including video drivers, etc, so only the bare essentials of the OS are uncompressed). Sure, it'll take a few minutes to load up, but you could then probably skip the CD drive and run off a $10 flash drive.

Share this post


Link to post
Share on other sites
my idea is to either run a small os on it(only a couple of commands;eject,run game/program/whatever, and other neccesities(leave the actual commands to the programs)). My other idea is put the os'es on a live CD with HD write capabilities.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
  • Advertisement
  • Popular Tags

  • Advertisement
  • Popular Now

  • Similar Content

    • By 3dmodelerguy
      So I am building a turn based rogue-like (think CDDA). The game is going to have a very large map (up to 1000's x 1000's) however to alleviate most of that I obviously can't render everything so there will just be render a certain radius around the player and just load in and out data as the player moves.
      The next major system I am prototyping is making interactive tiles destructible and pretty much everything will be destructible besides basic landscape (cars, doors, windows, structures, etc. will be destructible)
      While I am only rendering a certain amount of tiles around the player, I want to keep the amount of colliders active at one time to be as small as possible for performance and currently the tilemap tool I use automatically merges colliders together.
      So instead of creating a separate colliders for each of these tiles and having the destructible behavior tied to that object (which my tilemap tool would allow me to do) I was thinking that I would store an array of all the X and Y locations for the interactive tilemap layer and let the tilemap manage the colliders. 
      Then when I hit a collider on the interactive tilemap layer, instead of of getting the behavior for how to deal with the destruction for that tile from that game object, I would pull it from the array I mentioned earlier based on the tile I attempt to interact with which I already have.
      Does this sound like a good approach? Any other recommendations would be welcomed.
    • By NDraskovic
      Hey guys,
      I have a really weird problem. I'm trying to get some data from a REST service. I'm using the following code:
       
      private void GetTheScores() { UnityWebRequest GetCommand = UnityWebRequest.Get(url); UnityWebRequestAsyncOperation operation = GetCommand.SendWebRequest(); if (!operation.webRequest.isNetworkError) { ResultsContainer rez = JsonUtility.FromJson<ResultsContainer>(operation.webRequest.downloadHandler.text); Debug.Log("Text: " + operation.webRequest.downloadHandler.text); } } The problem is that when I'm in Unity's editor, the request doesn't return anything (operation.webRequest.downloadHandler.text is empty, the Debug.Log command just prints "Text: "), but when I enter the debug mode and insert a breakpoint on that line, then it returns the text properly. Does anyone have an idea why is this happening?
      The real problem I'm trying to solve is that when I receive the text, I can't get the data from the JSON. The markup is really simple:
      [{"id":1,"name":"Player1"},{"id":2,"name":"Player2"}] and I have an object that should accept that data:
      [System.Serializable] public class ResultScript { public int id; public string name; } There is also a class that should accept the array of these objects (which the JSON is returning):
      [System.Serializable] public class ResultsContainer { public ResultScript[] results; } But when I run the code (in the debug mode, to get any result) I get an error: ArgumentException: JSON must represent an object type. I've googled it but none of the proposed solutions work for me.
      Also (regardless if I'm in the debug mode or not) when I try to do some string operations like removing or adding characters to the GET result, the functions return an empty string as a result
      Can you help me with any of these problems?
      Thank you
    • By nihitori
      The Emotional Music Vol. I pack focuses on beautiful and esoteric orchestral music, capable of creating truly emotive and intimate moods. It features detailed chamber strings, cello and piano as the main instruments, resulting in a subtle and elegant sound never before heard in video game royalty-free music assets.

      The pack includes 5 original tracks, as well as a total of 47 loops based on these tracks (long loops for simple use and short loops for custom / complex music layering).

      Unity Asset Store link: https://www.assetstore.unity3d.com/en/#!/content/107032
      Unreal Engine Marketplace link: https://www.unrealengine.com/marketplace/emotional-music-vol-i

      A 15 seconds preview of each main track is available on Soundcloud:
       
    • By RoKabium Games
      Another one of our new UI for #screenshotsaturday. This is the inventory screen for showing what animal fossils you have collected so far. #gamedev #indiedev #sama
    • By eldwin11929
      We're looking for programmers for our project.
      Our project is being made in Unity
      Requirements:
      -Skills in Unity
      -C#
      -Javascript
      -Node.js
      We're looking for programmers who can perform a variety of functions on our project.
      Project is a top-down hack-and-slash pvp dungeon-crawler like game. Game is entirely multiplayer based, using randomized dungeons, and a unique combat system with emphasis on gameplay.
      We have a GDD to work off of, and a Lead Programmer you would work under.
      Assignments may include:
      -Creating new scripts of varying degrees specific to the project (mostly server-side, but sometimes client-side)
      -Assembling already created monsters/characters with existing or non-existing code.
      -Creating VFX
      -Assembling already created environment models
      If interested, please contact: eldwin11929@yahoo.com
      This project is unpaid, but with royalties.
       
      ---
      Additional Project Info:
      Summary:
      Bassetune Reapers is a Player-verus-Player, competitive dungeon crawler. This basically takes on aspects of dungeon crawling, but with a more aggressive setting. Players will have the option to play as the "dungeon-crawlers" (called the 'Knights', or "Knight Class", in-game) or as the "dungeon" itself (literally called the 'Bosses', or "Boss Class", in-game). What this means is that players can choose to play as the people invading the dungeon, or as the dungeon-holders themselves.
      Key Features:
      -Intense, fast-paced combat
      -Multiple skills, weapons, and ways to play the game
      -Tons of different Bosses, Minibosses, creatures and traps to utilize throughout the dungeon
      -Multiple unique environments
      -Interesting, detailed lore behind both the game and world
      -Intricate RPG system
      -Ladder and ranking system
      -Lots of customization for both classes s of customization for both classes
  • Advertisement