The Ur-Quan Masters Home Page Welcome, Guest. Please login or register.
Did you miss your activation email?
December 10, 2024, 04:00:57 pm
Home Help Search Login Register
News: Celebrating 30 years of Star Control 2 - The Ur-Quan Masters

+  The Ur-Quan Masters Discussion Forum
|-+  The Ur-Quan Masters Re-Release
| |-+  General UQM Discussion (Moderator: Death 999)
| | |-+  A star control 1 remake that may actually get finished
« previous next »
Pages: 1 ... 3 4 [5] 6 7 Print
Author Topic: A star control 1 remake that may actually get finished  (Read 41453 times)
Mormont
*Smell* controller
****
Offline Offline

Posts: 253


I love YaBB 1G - SP1!


View Profile
Re: A star control 1 remake that may actually get finished
« Reply #60 on: May 22, 2009, 05:31:58 pm »

Giving ships more firing angles sounds good in theory, but it might really mess with game balance. Though there's no Druuge in SC1 (the ship that would probably benefit from it the most). But the dreadnought hardly needs any more help against the SC1 ships.

One thing I would love to see one day is a SC1 strategic mode with all the SC2 ships added in, with the ability to create both story scenarios like SC1 and custom teams like SuperMelee...I actually tried to start writing one a few years ago, before I realized I was in way over my head.
« Last Edit: May 22, 2009, 05:42:21 pm by Mormont » Logged
UAF
*Many bubbles*
***
Offline Offline

Gender: Male
Posts: 134


Robot in Disguise


View Profile
Re: A star control 1 remake that may actually get finished
« Reply #61 on: May 22, 2009, 06:07:32 pm »

More angles change game balance. I wouldn't say that it ruins it though.
TW had it, and I never felt that it's unfair when I was playing a small ship against a big one (and big ships get the most from that change).

It might make the skill required to beat a big ship with a small one higher, but I don't think it's that bad.
(Arilou vs Kzer-za, Umgah vs Chenjesu, etc).
Logged
Dragon
Frungy champion
**
Offline Offline

Posts: 86



View Profile
Re: A star control 1 remake that may actually get finished
« Reply #62 on: May 27, 2009, 08:26:24 pm »

I'm not sure why this thread is seeing so many hits recently - it's not where I primarily post news.  But, as it is: here's a dev shot of the Hierarchy victory screen.  It's (rather obviously) still a WIP, I've broken my materials renderer which is why there are no textures and the specular is off.


(View image for a bigger  image).

Quote
One thing I would love to see one day is a SC1 strategic mode with all the SC2 ships added in, with the ability to create both story scenarios like SC1 and custom teams like SuperMelee...I actually tried to start writing one a few years ago, before I realized I was in way over my head.
Yeah, you and me both.  If someone models the SC2 ships it's a lot more likely to happen.  Utterly unsubtle hint.

Quote
More angles change game balance. I wouldn't say that it ruins it though.
I'm not overly worried about losing the exact game mechanics.  SC1 had a few balancing issues to begin with, so Im going to be making tweaks to gameplay anyway.
« Last Edit: May 27, 2009, 08:28:00 pm by Dragon » Logged
Bigryan
Frungy champion
**
Offline Offline

Posts: 56



View Profile
Re: A star control 1 remake that may actually get finished
« Reply #63 on: May 27, 2009, 08:46:10 pm »

wow. some more fabulous art.

Using smalltalk may make things simpler.  I'm using strictly c++.  Kindof crazy, as I'm running into some memory issues.

Are you using smalltalk just to do some scripting? or is smalltalk going to be where the bulk of the the work is done?
Logged
Dragon
Frungy champion
**
Offline Offline

Posts: 86



View Profile
Re: A star control 1 remake that may actually get finished
« Reply #64 on: May 27, 2009, 09:38:58 pm »

Oops, I forgot to mention that I made an unbelievably stupid and costly coding mistake in my Smalltalk interface implementation.  I know how to solve it but I'm still having a bit of a sulk about it so there's been a small change in plans.

In an effort to actually get something out *ever* I'm shelving Smalltalk until after I'm done with SC Redux which means all the gameplay will be written in C++.  This gives me time to work out a number kinks in my engine which is why I'm posting strange and broken dev shots again (the Ur Quan is not supposed to have glowing pink legs).

And as for C++ and memory issues, that's pretty much par for the course.  I've just (this evening) dug up a new and bizarre leak.  As I don't like fighting memory issues I sort of wrote my own reference counting memory manager (also Smalltalk needed it) but... if that memory manager leaks it doesn't help.   Fixing that brought my number of memory related test cases to slightly over 1800 (actually 1808) which probably shows that C++ and memory is generally an unhappy place to be.

ps:  Make sure you've turned on memory leak detection in DEBUG in whatever environment you code in.  It's invaluable.

[EDIT for scripting clarity]
The design so far has been that a scripting language (I finally chose a Smalltalk) must run all the gameplay.  The backing engine must be totally disconnected from the style of game I'm writing which would make it reusable for - say; off the top of my head - a Space Crusadish remake.  I'm trying to avoid the pitfalls of variously:  The Unreal 3 engine where the (retarded) scripting language is tied to closely to FPS gameplay; Torque Game Engine where too much of the engine functionality was moved to the scripting language making it slow (although there are work arounds); and RenderWare which is so damn general that one needs to basically write an engine on top if it anyway.

This whole engine writing lark is hard Sad
« Last Edit: May 27, 2009, 10:20:43 pm by Dragon » Logged
UAF
*Many bubbles*
***
Offline Offline

Gender: Male
Posts: 134


Robot in Disguise


View Profile
Re: A star control 1 remake that may actually get finished
« Reply #65 on: May 28, 2009, 04:05:59 am »

Why C++ and not C# or Java if you want to avoid memory leaks?
Garbage collectors are just for that, aren't they?
Logged
Dragon
Frungy champion
**
Offline Offline

Posts: 86



View Profile
Re: A star control 1 remake that may actually get finished
« Reply #66 on: May 29, 2009, 05:11:32 pm »

Why C++ and not C# or Java if you want to avoid memory leaks?
Garbage collectors are just for that, aren't they?
Aye, this is another question that has a very long answer.  I'll aim for the abridged version.

I'm aiming for platform independence so C# was out straight off the bat as mono didn't exist back when I started.  Similarly Java was also still lurking on about version 1.4 (I forget exactly) and it was  *slow*.  Also neither language (although this applies across the board) had or has good support for DirectX and/or OpenGL.  I know about projects like Java3D etc... but they are all a bit... well... crap.

The need for a good 3D library made C++ the only choice for an engine.  Also C++ has been around for a while and it's pretty stable.  The last bug I found in Java was in 1.6.0._9 which is pretty recent.  Shocked.  Smalltalk is, just for interest, still about a decade older than C++.

Lua was, for a couple of years, my scripting language of choice because it's fast, easy to use and minimal.  The problem is it was too minimal and I was having writing a lot of library functionality around it.  I looked at Ruby but it's slow and has potential licensing issues.

I've a whole host more specific and technical reasons but that's it in a nutshell.
Logged
Bigryan
Frungy champion
**
Offline Offline

Posts: 56



View Profile
Re: A star control 1 remake that may actually get finished
« Reply #67 on: June 02, 2009, 07:50:00 pm »

I thought of using java at one point too, with jogl, it's actually quite nice.

You also get multiplatform almost for free.

In the end i also settled on c++ just because it was more stable and seemed to be quicker.  Java was eating my processor.

There was also a lot more 3rd libs in c++.

I would love the garbage collection of java, but with jni native code you do still have worry about memory.  No getting around it.
Logged
Dragon
Frungy champion
**
Offline Offline

Posts: 86



View Profile
Re: A star control 1 remake that may actually get finished
« Reply #68 on: June 04, 2009, 01:39:36 pm »

I thought of using java at one point too, with jogl, it's actually quite nice.

I would love the garbage collection of java, but with jni native code you do still have worry about memory.  No getting around it.

The big problem with going a Java only route is that JNI calls are expensive.  Very, expensive.  Using java to call, say, draw vertex for every single vertex alone would kill your app stone dead.  Being a bit more intelligent and drawing, say, 10000 verticies with a single JNI call is much better but any state change calls are still going to hurt.  Alot.

I really wish there was someway of telling Java (and as far as I know this is a Java issue not a JVM issue) that I'd like to do fast unsafe JNI calls because I'm willng accept the consequences of getting it wrong.  Alas this isn't possible.  However the GNU guys with GCJ using GNU's common whatever calling convention managed managed to do JNI calls almost as fast as doing a straight c++ call.  Unfortunately GCJ hasn't moved in years and seems to have died a quiet and unremarked death.  A pity because I liked it.

None of this gets around the fact that, yeah, one still has to manage one's own resources.  The garbage collector can't do that for one.

C++ FTW.
Logged
UAF
*Many bubbles*
***
Offline Offline

Gender: Male
Posts: 134


Robot in Disguise


View Profile
Re: A star control 1 remake that may actually get finished
« Reply #69 on: June 09, 2009, 02:00:14 am »

I know I'm only a very new programmer (fresh out of a C# and JAVA course) but it is a bit discouraging that I have NO idea what you are talking about most of the time.

What's a vertex? what's a vertices?
What's JNI? GNU? GCJ?

Should I be bothered that I don't know what all those things mean?
And most of your previous posts?
Logged
Spurk
*Many bubbles*
***
Offline Offline

Posts: 115



View Profile
Re: A star control 1 remake that may actually get finished
« Reply #70 on: June 09, 2009, 03:17:58 pm »

Not much of a graphics person myself, but I do know Java, so I'll give quick answers.

Vertex, as you may remember from geometry, is a corner. In a cone, the vertex is the point that everything converges to. In a square, it's one of the four corners. Vertices is the plural of vertex.

JNI stands for Java Native Interface. Java is designed to be run against its own virtual machine, so that it can achieve that write-once-run-anywhere ability that lets you write a Java program on Windows and run it on Linux. Unfortunately that means you can't use any non-Java libraries in your program and you can't get access to the real machine that's running the virtual machine. So JNI is a way for you to be able to do that. It lets Java talk outside of its little box to the actual computer. JNI is not normally a preferred solution for a lot of things (because it is expensive and breaks the run-anywhere part).

GNU stands for GNU's Not Unix, which will make your head hurt if you think about it too long. It's a project to rewrite all of Unix into a free version. If this sounds like Linux, you're not wrong (Linux is sometimes called GNU/Linux), but the actual history is more complex and confusing. As much as Java is free to download and use, the GNU project decided to write their own version, calling it GCJ, the GNU Compiler for Java. I don't know too much about GCJ as Sun's Java Development Kit (JDK) is the de facto standard, and what I use for all my work.

To rephrase Dragon's last post, since Java3D is crap, he'd have to go outside Java's virtual machine for graphics, which would really slow things down because Java forces checks to make sure you're passing in and getting back what you think you're passing in/getting back. However (and I find this interesting), Dragon believes the overhead on making JNI calls is at the language level, not the virtual machine level, so it should theoretically be possible to make JNI calls that are much less onerous. Apparently GCJ had a good take on this problem as well, but the GCJ project seems to have not had much activity recently, so that's not a good sign. But even if JNI did work like he wanted, all his JNI stuff would still have to manage its own memory/resources. Java's garbage collector can't handle memory/resources allocated through JNI.
Logged
Dragon
Frungy champion
**
Offline Offline

Posts: 86



View Profile
Re: A star control 1 remake that may actually get finished
« Reply #71 on: June 09, 2009, 08:12:12 pm »

Ta Spurk, that's it exactly (saved me from another long winded reply).

A bit more detail on the verticies thing.  In most 3D scenes everything is made out of triangles.  To draw a triangle one needs to 'draw' the 3 corners (vertices).  In OpenGL there is a method which 'draws' a vertex.  Once it's been called three times a triangle is actually drawn.

Aside: Even without involving JNI drawing each vertex individually is slow.  It's better to call a method (say drawTriangle) which takes three verticies at once.  However it's best to call a method which takes a lot of vertices (thousands) and draws all the associated triangles in one shot.
« Last Edit: June 09, 2009, 08:14:17 pm by Dragon » Logged
CelticMinstrel
Enlightened
*****
Offline Offline

Posts: 522



View Profile
Re: A star control 1 remake that may actually get finished
« Reply #72 on: June 10, 2009, 07:59:26 pm »

While I definitely like the idea of an SC1 remake, it strikes me that you're doing way more work than necessary. All the code for the melee combat is available from UQM – are you using that? And the graphics are all there too.

I've occasionally thought about remaking SC1 with the help of the UQM code, but chances are it'll never happen.

Quote from: Dragon
Regarding the stategic game: guesst has done a bit of digging for the original star generation algorithm but with no joy so I'll probably just have to make it up.
You could try decompiling the original SC1 to assembly and trying to find the algorithm. Obviously you would need to know a lot about assembly code though to do that. Still, I think that'd be the ideal route to take.

Quote from: Dragon
I'm aiming for platform independence so C# was out straight off the bat as mono didn't exist back when I started.
I thought you said you were using DirectX? And Windows.h? Those are hardly platform independent.
Logged
UAF
*Many bubbles*
***
Offline Offline

Gender: Male
Posts: 134


Robot in Disguise


View Profile
Re: A star control 1 remake that may actually get finished
« Reply #73 on: June 10, 2009, 11:05:26 pm »

I'm really glad the project doesn't use UQM's code and graphics.
Better graphics and more angles for ships rocks.

But that's just me Smiley
Logged
CelticMinstrel
Enlightened
*****
Offline Offline

Posts: 522



View Profile
Re: A star control 1 remake that may actually get finished
« Reply #74 on: June 10, 2009, 11:31:32 pm »

Yet, that means it's a different game, though the premise at least is the same.
Logged
Pages: 1 ... 3 4 [5] 6 7 Print 
« previous next »
Jump to:  


Login with username, password and session length

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2015, Simple Machines Valid XHTML 1.0! Valid CSS!