Bona Fide OS Developer
View unanswered posts | View active topics It is currently Mon Dec 10, 2018 12:24 am



Post new topic Reply to topic  [ 12 posts ]  Go to page 1, 2  Next
 programming for entertainment 
Author Message

Joined: Sat Jul 25, 2009 9:15 am
Posts: 257
Post programming for entertainment
I wanna share a nice idea here about (OGOS) Online Game Operating System that would teach people operating system concepts and encourage programming because it be fun...

Its based on ideas originating from movies like The Matrix and Tron and the like... The best type of game I can think of are the real time strategy games like StarCraft and Command and Conquer and the like...

You basically take a machine... a really powerful machine... say an 8 core system with 2 GB of RAM... The Kernel is the game itself... and I would be a simulation of a virtual world... not necessarily 3D, it can be 2D...

I'll take StarCraft as an example... The virtual world basically is the kernel... The programs or processes are the individual soldiers and vehicles and stuff... Its a real time world but players do not interact with it with the mouse and keyboard like its been done traditionally... Players basically submit code and the kernel (the virtual world) would execute it... So basically a player is given a resource budget and then with it he creates soldiers, gatherers, workers, vehicles, etc... the player attaches a program to each individual item and submits it to the kernel to execute... after that his creation is gonna be out-there on its own... its like traditional game bots but thats the whole concept of the game... he who makes the better bots wins...

This whole game makes learning how operating systems work fun... The skills you'd learn from it are highly applicable to the real world... you got the kernel which is the game environment... you have system calls which provide services like sight and communication between bots... the system calls would also be used for behaviors like walking, shooting, gathering more resources, construction of buildings and stuff...

I think it would be fun and educational and it would make a bridge between Operating Systems and Video Games...

The neat things about this kinda of game is that a player would spend like 4 hours before going to bed creating some bots. He would submit them and then next morning and he could check to see how his bots are doing... players could hold an empire 24 hours a day 7 days a week but only interact with his bots like a few hours a day...

and the real neat thing is that if you have a really fast powerful PC you can predict the future way in advance before it happens... all a player would have to do is download a snapshot from the server then on his PC he would simulate in really fast foward mode to see what would happen in the future... but as players submit or alter their programs they would also alter the path of time...

The game doesn't have to be like StarCraft... a game like Civilization can also fit the model...


Sun Feb 21, 2010 8:59 pm
Profile

Joined: Wed May 19, 2010 12:14 am
Posts: 10
Post Re: programming for entertainment
Quote:
The Kernel is the game itself


Good lock with creating all possible drivers for all existing video cards...

It's impractical. You have DirectX and OpenGL on Windows and Linux platforms, which take care of this problem. Why not create such a game in Windows, or Linux? It won't be much different, except for all the headaches you get when creating drivers etc.


Mon Aug 09, 2010 1:38 am
Profile

Joined: Sat Jul 25, 2009 9:15 am
Posts: 257
Post Re: programming for entertainment
since when do you need a video card to access the network??? I am confused???


Mon Aug 09, 2010 8:34 am
Profile

Joined: Wed May 19, 2010 12:14 am
Posts: 10
Post Re: programming for entertainment
DudeOfX wrote:
since when do you need a video card to access the network??? I am confused???


You said about 3d... and also 2d.. unless you want to lack hardware acceleration for rendering, (and rendering with the processor is really slow) you will need drivers.

Also about network cards, you will still need to make drivers for them.
You can stick with an existing operating system, like linux or windows which have these components, and you worry more about the game than the hardware related stuff.


Tue Aug 10, 2010 2:13 am
Profile
Site Admin

Joined: Sat Jul 25, 2009 7:44 am
Posts: 274
Location: United Kingdom
Post Re: programming for entertainment
Or he could target a free virtual machine supported on many platforms, then only needing to write drvers for this limited selection of hardware...

_________________
Thank you for reading,

Kieran C G Foot


Tue Aug 10, 2010 9:01 am
Profile WWW

Joined: Wed May 19, 2010 12:14 am
Posts: 10
Post Re: programming for entertainment
Kieran wrote:
Or he could target a free virtual machine supported on many platforms, then only needing to write drvers for this limited selection of hardware...


It is possible, but you won't get too much 3D on a virtual machine...

What you could do, if that's what you're trying to achieve, is a game console... For example PlayStation3 has the same specs on every console, so (i don't know for sure, i never made a PS3 game) they made a BIOS with these drivers included, so the games are in fact operating systems. If they didn't, it's still very easy to make the drivers, since you know what specs you have. Standardization is what makes OsDeving so much easier...


Tue Aug 10, 2010 11:10 am
Profile

Joined: Sat Jul 25, 2009 9:15 am
Posts: 257
Post Re: programming for entertainment
this idea was about a server running a simulation (a virtual world) like the matrix... then there are the clients... all that clients do is take snapshots of whats happening inside this virtual world... the idea was that clients could be done in any platform... depending on how fancy the client is people could view their snapshots in 2d or 3d it didn't matter... also if somebody had a powerfull PC and could do some simulation on his own that individual could see things before they happen cause on his PC he can fast forward...

its programming for entertainment because the idea of the game is to submit AI programs for your characters... its not like starcraft that you point and click to command your troops... all your troops are suppost to be on their own but not really cause you are submitting the programming scripts... but it is still posible to create a starcraft like interface to control your troops but its still up to you to make the better AI...


Tue Aug 10, 2010 4:30 pm
Profile

Joined: Wed May 19, 2010 12:14 am
Posts: 10
Post Re: programming for entertainment
I think I see where you're going... you want the clients to program their character, the AI, and it would be like a competition or survival or something in a giant world. Say you have 100 000 users, you would need at least 100 000 running threads, so a huge number of processors... it's not very easy you know... at least the system requirements are huge...
Sounds like a fun idea... but not very practical/possible(yet) ... i don't know... and I think it's going to be extremely difficult to program it... like buggy code, you don't want buggy code since it could bring down the entire virtual world.


Wed Aug 11, 2010 4:47 am
Profile

Joined: Sat Jul 25, 2009 9:15 am
Posts: 257
Post Re: programming for entertainment
well now 100,000 would be a huge success, lets take this time to ballpark calculate processing requirements... I would not say 100,000 players at once, I would say 100 players each commanding 1000 troops

I suppose that a character needs to be updated 12 times a second (I got that number cause a game needs to be able to read the joystick at least 12 times a second or a human player will notice lag)

lets take a Pentium 4 single core running at 3.8 GHz as a base processor.

Q1: how many instruction cycles per update are available?
A1: 3.8GHz divided by 12 ~= 317MHz

Q2: If a game contains 100,000 active characters how many cycles would each get if they are evently distributed?
A2: 317,000,000 / 100,000 = 3,170 cycles each

3KHz a piece is not so bad because each character is not suppost to do a whole lot in 1/12 of a second. Also note that cycles don't have to be evently distributed. you can have 100 pawns each taking only 10Hz each and a secret agent taking up 317KHz...

The system can devote another CPU core for communitating with real players and other OS tasks hence this setup minimum requirements is a dual-core P4 3.8GHz

--------------------------

Lets talk ram usage... lets devote 1GB of RAM for per individual character memory... evently distributed thats 10KB per character... I believe that sounds sufficient...


Wed Aug 11, 2010 8:04 am
Profile

Joined: Sat Jul 25, 2009 9:15 am
Posts: 257
Post Re: programming for entertainment
UPDATE to above:

Lets say 3 cores are needed minimum cause the system needs to provide senses and physics to these characters... each one of these guys needs collision detection the ability to see and walk and stuff...


Wed Aug 11, 2010 8:15 am
Profile
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 12 posts ]  Go to page 1, 2  Next


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by Vjacheslav Trushkin and tweaked by the BF Team.