Online uplink clone

Ideas for future addons and sequels

Moderators: bert_the_turtle, jelco, Chris, Icepick, Rkiver, Punisher Bass

Cyber_Ghost
level1
level1
Posts: 19
Joined: Tue Dec 20, 2005 7:21 pm

Online uplink clone

Postby Cyber_Ghost » Tue Dec 20, 2005 7:40 pm

OK, so after most attempts to clone uplink to an online game died away, I've came up with a more interesting idea.

I've started building a system that goes way down to the hardware level. Basicaly, each program is a CPU emulation, giving each player a fake 32bit CPU, a basic 1MB of memory and a 15MB disk drive.

Once the hardware implementation is complete, and basic programs can run, we can start going deeper into the game pahse, and build a baisc OS for the CPU, then some basic tools (password cracker, tracer and trace log, etc...)...
The idea is to make the game playable for a total newbie (who uses pre-made tools, and would probably be able to complete most missions), and for an experienced "hacker" (who has the ability to write his own tools, exploit OS weaknesses, etc...).

To make the game more enjoyable, new users enjoy protection for they PC, while advanced users can be hacked and their data stolen/damaged, opening the game for more "wargaming".

I've already made a basic writeup in Java for the CPU class (Implements a kind of ALU, registers, memory), and if there is interest I'm going to upen the source and make it a community project.
User avatar
Mr. Roboto
level4
level4
Posts: 826
Joined: Sat Jan 08, 2005 6:05 pm
Location: Baltimore.md.us

Postby Mr. Roboto » Wed Dec 21, 2005 2:10 am

Sounds like an original idea, except...

There are a couple of clones already out there called "Mindlink" and "Blue Sky", although BS is more console based.

Many of your ideas have been attempted and used in other hacking sims, without much success. Especially the online components.
Cyber_Ghost
level1
level1
Posts: 19
Joined: Tue Dec 20, 2005 7:21 pm

Postby Cyber_Ghost » Wed Dec 21, 2005 3:06 pm

The idea is to combine the components, and create a whole web of machines.

The basic software (PC emulation) can be used to learn OS development, etc..., and since it's all open source it can be easily improved.
User avatar
Mr. Roboto
level4
level4
Posts: 826
Joined: Sat Jan 08, 2005 6:05 pm
Location: Baltimore.md.us

Postby Mr. Roboto » Thu Dec 22, 2005 3:41 am

The Onlink mod is attempting to combine stuff as well. For some reason, I can't get it to run on my system. :?

Let me know if (not when, IF) you ever get something out there. I may use some downtime and probe it to see what it's about.
LaplaceOperator
level0
Posts: 6
Joined: Wed Jun 30, 2004 5:25 pm

Postby LaplaceOperator » Mon Jan 16, 2006 9:07 pm

There is another project that tries to do something similar. Its called Code Wars. You can find it here: http://www.igarry.com/codewars/index.htm. But i don't know if they are still making progress or ever did :wink: . But theres some good ideas in the forums though.
I was just wondering: Are you planning to do yours multiplayer too? Massive-Multiplayer or only for Lan-play?
If Massive-Multi... i don't think that the whole virtual machine thing would work. This would be just too slow or you will need a big server farm to simulate the virtual internet.
User avatar
Flamekebab
level5
level5
Posts: 2979
Joined: Sun Feb 24, 2002 5:39 pm
Location: Cambridge, UK
Contact:

Postby Flamekebab » Sat Jan 21, 2006 5:52 am

Hehehe, FieldDoc..

I don't really trust him to actually finish a game..

Linker will know what I mean.

*evil chuckle*
Cyber_Ghost
level1
level1
Posts: 19
Joined: Tue Dec 20, 2005 7:21 pm

Postby Cyber_Ghost » Mon Feb 27, 2006 7:53 pm

I'm actualy making a little progress, I've decided to simplify it a little bit, and not make a fullblown PC emulator like if first intended.
Cyber_Ghost
level1
level1
Posts: 19
Joined: Tue Dec 20, 2005 7:21 pm

Postby Cyber_Ghost » Sat Mar 11, 2006 1:33 am

Ok, my basic outline is done.
I have a very baisc CPU emulator wich can read opcodes and execute commands.
The CPU has 4 32-bit general purpose registers, uses direct memory addressing eliminating the need for segments and offsets, has a built in stack support, and can preform basic commands.
Currently it can do the following:
ADD
SUB
MOV
AND
OR
XOR

Each opcode 1 byte command, and 1-2 bytes operands. I know it can be done with less, but I felt like I could waste some memory.

What's most important now, is to have some basic user interface, but I'm a lousy designer and my GUI programming skills are close to 0, so it'll take me some time to learn SWING to get something going.
The idea is a basic console screen, 80x25 to show some text, in the future it'll need to be a pixel based screen, so that a gui for the CPU can be created, but it'll be a long shot since after I finish the cpu and it's assembly language, I'll need to create some basic HL language to ease programming.
Cyber_Ghost
level1
level1
Posts: 19
Joined: Tue Dec 20, 2005 7:21 pm

Postby Cyber_Ghost » Sat Mar 11, 2006 3:27 pm

A friend of mine spoted some big bug in the game... the CPU can't access byte or word values, since I use java integers wich are all 32bytes.

Now I'm adding support for smaller registers, turns out to be a bitch.
I now have to support 4 GP 32-bit regs, each has 1 GP 16-bit reg, and each 16bit reg has 2 8-bit regs.
It's similar to the 80x86 architecutre.

To make things simpler, all the non GP registers can't be moved, only poped and pushed, so it makes life easier.
Cyber_Ghost
level1
level1
Posts: 19
Joined: Tue Dec 20, 2005 7:21 pm

Postby Cyber_Ghost » Sat Mar 18, 2006 8:22 pm

OK, that little bug turned out to requite a total rewrite of the code, so far I'm struggling with the MOV operations.
I have to support 3 different mov operations, each with a number of registers, etc...
Perhaps I should make more opcodes for mov, so that there's an opcode for moving 32bit data, 16bit, and 8bit.

I've started a SF project, http://sourceforge.net/projects/ghostlink
Don't have a webpage yet, no time for it.

I'd apreciate comments and help with the project.
welterde
level2
level2
Posts: 113
Joined: Thu Dec 01, 2005 5:18 pm

Postby welterde » Thu Mar 23, 2006 8:10 pm

Why didnt you chose OS Independent (Written in an interpreted language) instead of you Win and Linux only OS support? The Java program would run easylie also on Mac OS.
Cyber_Ghost
level1
level1
Posts: 19
Joined: Tue Dec 20, 2005 7:21 pm

Postby Cyber_Ghost » Sat May 20, 2006 8:26 pm

OK, project is still alive, and kicking.
I've had a major rewrite done to the basic functions, as well as add some more opcodes, and made basic interrupt support.
More to come soon...
Deepsmeg
level5
level5
Posts: 6510
Joined: Thu Mar 21, 2002 1:26 pm
Location: Register 2102
Contact:

Postby Deepsmeg » Sat May 20, 2006 8:32 pm

Surely this thing's gonna turn into proper vapourware?
Image
Cyber_Ghost
level1
level1
Posts: 19
Joined: Tue Dec 20, 2005 7:21 pm

Postby Cyber_Ghost » Sat May 20, 2006 8:57 pm

I'm going to work on it :)
However it'll take me a year atleast to make it into a workable system...
Deepsmeg
level5
level5
Posts: 6510
Joined: Thu Mar 21, 2002 1:26 pm
Location: Register 2102
Contact:

Postby Deepsmeg » Sun May 21, 2006 3:24 am

Wrong answer!
It is going to turn into proper vapourware. And don't call me Shirley!
Image

Return to “The Future”

Who is online

Users browsing this forum: No registered users and 5 guests