Uplink 2

Anything and Everything about Uplink

Moderators: bert_the_turtle, jelco, Chris, Icepick, Rkiver

ToRmEnToR
level5
level5
Posts: 2420
Joined: Sun Jul 14, 2002 5:48 pm
Location: Israel
Contact:

Postby ToRmEnToR » Tue Sep 27, 2005 8:23 am

DaZjorz,

You're rushing through an open door that stands on the edge of a cliff.

Before you get your programming stuff together, you should at least think of how gameplay will work on the most basic level.

DSO (darksigns online) had it going realy well a year ago (or was it over a year ago?) with its beta. Basically, the beta was playable and enjoyable purely because of DSO was complex (it featured an ingame scripting language and a linux-like shell) and flexible (you were allowed to create your own servers and manage them using the scripting language). It created a simplfied real world situation world in which people could hack each other's server and group up in teams (or even create software companies, tsunami corp of example, haha brings back memories).

How the hacking was done you ask? exploits in the scripting language, much like in real life.

The project was canceled because of obvious reasons.

Darksigns is still showing some signs of life... Who knows maybe something good can come out eventually.

www.darksigns.com

ScareyedHawk wrote:"Wai~" as in, "Wai~! Watashi no ringo wa aoi desu~~!"?


Strange, almost half a year has passed since I've seen romaji and now it feels much more natual for me to read and understand it...

Too bad that in the process of learning japanese I began to develope a strong unexplained hatered towards the japanese culture :\
meow
DaZjorz
level1
level1
Posts: 58
Joined: Sat Sep 24, 2005 12:05 pm
Contact:

Postby DaZjorz » Tue Sep 27, 2005 4:00 pm

Hello

Thanks for your serious reply, ToRmEnToR!
I have already thought of a lot of idea's on how to make an Uplink2 server. I ran in a few problems on how to do some things like running programs, but they are all solved now.
I'm not trying to make an uplink 2 with lots of differences to uplink 1, things like hacking other people and creating servers e.t.c. isn't possible in the first plans. My plan is to create a server that Uplink can talk with... The game will be the same as the first in many ways, but only a few differences like chatting with other hackers, new chatgroup software next to the irc software, ...

I don't want to make a version with lots of differences. The game is almost the same in my plans. This is to get the client-server app working. After that I can always start to program new functions, new programs, new missions, etc.

I know that it is a big project, but I really want to do it, and I really want to spend time on it.

Before you get your programming stuff together, you should at least think of how gameplay will work on the most basic level.

Gameplay will be basically the same, a few differences, not a very big new version etc.
Deepsmeg
level5
level5
Posts: 6510
Joined: Thu Mar 21, 2002 1:26 pm
Location: Register 2102
Contact:

Postby Deepsmeg » Tue Sep 27, 2005 4:45 pm

My question still stands about the mock titlebars you made.
Image
DaZjorz
level1
level1
Posts: 58
Joined: Sat Sep 24, 2005 12:05 pm
Contact:

Postby DaZjorz » Tue Sep 27, 2005 5:14 pm

Deepsmeg wrote:I hope you're using the ReleaseCapture and SendMesasge lines on the mousedown events of the container that's holding the close button and the label saying "Uplink 2 server" and the label itself, or however you've done it.


The top bar saying "Uplink 2 server" is an image (It was an image with a label first but I can't make the background of a label transparant). All buttons are images using hovers with the MouseMove event.
This MouseMove also has another piece of code for the top bar, that takes care of dragging the window to other positions.
Deepsmeg
level5
level5
Posts: 6510
Joined: Thu Mar 21, 2002 1:26 pm
Location: Register 2102
Contact:

Postby Deepsmeg » Tue Sep 27, 2005 5:24 pm

If you use the ReleaseCapture and SendMessage API calls, it works in exactly the same way a real one works, and without any flicker.
If you use the mousemove event and set me.left and me.top to the cursor's XY position it kinda sucks in many many ways.
I know there are more ways of doing it, but 2 lines of code that reproduces the normal way of doing way is a Very Good Thing (TM).
Image
DaZjorz
level1
level1
Posts: 58
Joined: Sat Sep 24, 2005 12:05 pm
Contact:

Postby DaZjorz » Tue Sep 27, 2005 6:39 pm

Could you please tell me more about that in private ? I don't want to mess this topic.

Anyway, let's get back to the original subject, please.
Deepsmeg
level5
level5
Posts: 6510
Joined: Thu Mar 21, 2002 1:26 pm
Location: Register 2102
Contact:

Postby Deepsmeg » Tue Sep 27, 2005 7:11 pm

This lives at the top of your code nodule you've got all your globals in:

Code: Select all

Public Declare Function ReleaseCapture Lib "user32" () As Long
Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long


Public Const HTCAPTION = 2
Public Const WM_NCLBUTTONDOWN = &HA1

Of course, it goes below the Option Explicit statement...

On your form's code, you'll have something like this:

Code: Select all

Private Sub picTitlebar_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
ReleaseCapture
SendMessage Me.hwnd, WM_NCLBUTTONDOWN, HTCAPTION, 0&

End Sub
Image
DaZjorz
level1
level1
Posts: 58
Joined: Sat Sep 24, 2005 12:05 pm
Contact:

Postby DaZjorz » Tue Sep 27, 2005 8:07 pm

Okay, VB6 didn't like the declare functions and the consts to be public, so I removed public (and added private to the declare functions because it wasn't enough for VB6)..
It works ! :) Thanks for the comment!

Anyways, about the idea....
What do you think about the project ?
DaZjorz
level1
level1
Posts: 58
Joined: Sat Sep 24, 2005 12:05 pm
Contact:

Postby DaZjorz » Tue Sep 27, 2005 8:13 pm

At this very moment, I'm working on the base of the program. Which means, the lay-out, basic networking, etc.
After that I begin with the normal things like registering, logging in, reading files, etc. After that, the advanced things like running programs, etc.

The base itself is, at this moment, quite working, although there are a few bugs (like if you connect with 3 users at one time, then the second disconnects, then an error could appear when you reconnect one... Fixed in a min.)
Deepsmeg
level5
level5
Posts: 6510
Joined: Thu Mar 21, 2002 1:26 pm
Location: Register 2102
Contact:

Postby Deepsmeg » Tue Sep 27, 2005 8:26 pm

I told you to put them in a module.
Not on the form.

I have some code knocking about that allows for 32767 connections. In theory.
It's not code that I distribute though.
Image
ReflectingGod
level5
level5
Posts: 2725
Joined: Sun Mar 17, 2002 4:40 pm
Location: W. Australia

Postby ReflectingGod » Wed Sep 28, 2005 4:48 am

Might I suggest that the way forward is to do a lot of serious design work before you even think about laying down lines of code?
ME!

Procrastination - Hard work often pays of after time, but laziness always pays off now!

**Bibo ergo sum!**
Katana Steel
level2
level2
Posts: 131
Joined: Tue Sep 30, 2003 12:12 pm
Contact:

Postby Katana Steel » Wed Sep 28, 2005 9:33 am

my two cents:

any server that needs to maintain a gui
can never be efficient enough.

I'd make a seperate admin client gui application

a server should primaryly run as a service (under windows) or
as a daemon (under *nix)

(I prefere a daemon)
-- as life grows older, I gain experience
DaZjorz
level1
level1
Posts: 58
Joined: Sat Sep 24, 2005 12:05 pm
Contact:

Postby DaZjorz » Wed Sep 28, 2005 1:42 pm

Thanks for your replies, everyone.

As I'm programming in VB currently, I can't create a service that does the stuff. The idea of a GUI that inteferes with the server is a great idea, I already thought of it myself. But as every program in VB has a gui, that's very hard to do.

I'm going to learn C++ soon, planning to get a book for st. nicolas (for people who don't know what time that is, it's in about 2 months). So that's gonna be okay...

If there's anybody who can help me with making services with VB (or even, creating services with Basic itself) then please reply and tell me how!

Anyways, about the modules that do everything, I already designed some modules for some programs like the Trace_Analyser (it has a function that is called by the ActiveTrace module, that outputs to the server based on version of the analyser, and some settings, etc). I never made modules before, so anyone who can (and does) give me a link to a what-where-how-etc for modules, i'd be pleased.

Bye,
DaZjorz
User avatar
The GoldFish
level5
level5
Posts: 3961
Joined: Fri Mar 01, 2002 9:01 pm
Location: Bowl / South UK
Contact:

Postby The GoldFish » Wed Sep 28, 2005 1:51 pm

DaZjorz wrote:But as every program in VB has a gui, that's very hard to do.
Create a module, put a subroutine called Main in it, go to your project's properties and set the startup object to be Sub Main

No more GUI requirement.

Modules, really, are just for subroutines that you can call from anywhere in your program, and are a neat way of keeping all the code about one thing in the same place.
-- The GoldFish - member of former GIT and commander in chief of GALLAHAD. You could have done something, but it's been fixed. The end. Also, play bestgameever!
DaZjorz
level1
level1
Posts: 58
Joined: Sat Sep 24, 2005 12:05 pm
Contact:

Postby DaZjorz » Wed Sep 28, 2005 2:25 pm

Create a module, put a subroutine called Main in it, go to your project's properties and set the startup object to be Sub Main

No more GUI requirement.

Modules, really, are just for subroutines that you can call from anywhere in your program, and are a neat way of keeping all the code about one thing in the same place.

How does VB know what module to load if I'm using sub main? Maybe there are 2 modules with a main sub...
Anyways, if the project doesn't have any forms, will it have no GUI at all ? I mean, not even GUI support (that's not even used) ?

Thanks for your incredibly fast reply, Goldfish!

DaZ

Return to “General”

Who is online

Users browsing this forum: No registered users and 9 guests