• Welcome to SC4 Devotion Forum Archives.

CityMania

Started by Nique, February 03, 2009, 11:33:52 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

JoeST

Quote from: Jonathan on August 20, 2009, 11:13:04 AM
you could not get the current SC4 models into full 3D, they are just boxes with images applied to them to give the effect of 3D. If you want to use the models from SC4 (though as people have said some conversion from S3D to a different format is needed) you'd have to keep the game at 2.5D with the exact camera angles and hieghts as SC4.

Jonathan
I was suggesting a parser that converts them back. It does seem technically possible, I mean you can render BAT's external to SC4 already, its just taking that data and turning it into 3d. maybe by parsing the images you can deconstruct to 3d. It would be an effort and a half, but maybe worth it.

Joe
Copperminds and Cuddleswarms

Djohaal

Well as long as we have a working plop cheat (unlike the one maxis gave us on that mysterious .dll) :D

For the road angles, we have a big problem here, if we are willing to make freeform road angles we'll need to create real geometry (much like cities XL and citylife) for the roads, what might look odd on our engine approach I think. If we stuck with pre-set angles (perhaps as up to the FAR tools of the NAM) then we can keep the ammount of textures on a manageable size.

One thing we should figure out pronto before chosing the size of our grid (be it 8x8m, 4 time more than sc4, or 16x16 or 1x1) is making the isometric camera fixed. I beleive we can save some precious CPU cycles by doing a simpler and dedicated transform-and-display algorythm for the anoxometric camera sc4 uses, instead of a true camera with perspective.

On the content matter, I actually beleive we CAN use simcity4's models and textures in an open source game, as long as we don't redistribute the files. A very similar thing was made with Open TTD (transport tycoon deluxe), you need the .exe file which is open source and you can leech off any sourceforge site, and the original game's files for the graphics and animations, which you have to obtain legally. We need to see if simcity's EULA allows for such a thing. It'd ease so much the content creation.

A reverse parser is pretty much one hell of a job actually, although we do have lots of data on the buildings (thanks to the four views and zooms), there's one enormous loss of information when moving from the real 3d a BAT makes to the pseudo-3d simcity 4 uses. One loss that I may say, is almost irrecoverable...

I do think however that a better file format than simcity's s3d should be in the order for the game. Perhaps something more efficient...  ;D

We might also save some bytes by doing an antialiasing script for the game. Simcity has fixed zooms and separate renders for each zoom level because its engine doesn't support anti-aliasing, however if we had an implementation of AA we could create a progressive zoom (until a certain treshold though, then it'd need to load models on a lower resolution for performance's sake) and even reduce the ammount of renders each file needs...

I still think we'll need a x64 version of the game though... or x128...  :D

KoV Liberty

Will some of the money parks still work for those of use who use them (like me).

My new MD. Check it out if you wish.

Adrian, I miss you man.

Nique

#203
Hey guys, no screenshots for a while. I have found OpenTK, and i'm going to experiment with it for the next couple of days. OpenTK allows openGL (3d) and openAL (sound). In the mean while i have found out that we can use MONO to support cross-platform gaming. I am not going to code or port things to linux but with openGL/AL it should be possible, maybe some Linux freak can do it with a fork of the sources on git later.

Well about that camera thing, i'm not thinking about grid sizes yet, got lots of tasks to do before we come there, but it's good you do ;).

Thats it for now ;)
Proudly developer of

Nique

Hmm, sorry.. i have problems with openGL.. there is no 'great' solution for c# and handling openGL.. and it's not only openGL, when i use openGL i still need a solution  for sound and input output (keyboard / mouse) .. directX has it all... so there should be made a port to linux after the windows game has been done.

http://i5.photobucket.com/player.swf?file=http://vid5.photobucket.com/albums/y199/Ne0que/CityMania/Previews/button.flv
Button, hover and click
Proudly developer of

JoeST

Quote from: Nique on August 21, 2009, 02:37:25 AM
Hmm, sorry.. i have problems with openGL.. there is no 'great' solution for c# and handling openGL.. and it's not only openGL, when i use openGL i still need a solution  for sound and input output (keyboard / mouse) .. directX has it all... so there should be made a port to linux after the windows game has been done.

http://i5.photobucket.com/player.swf?file=http://vid5.photobucket.com/albums/y199/Ne0que/CityMania/Previews/button.flv
Button, hover and click
Its allright, if I ever get the chance I may rewrite it in openGL.

Also, I just remembered I have a windows based netbook that I can use for programming :D

Joe
Copperminds and Cuddleswarms

Nique

#206
Ok, great! when the time has come we reach such 'release' point, i am willing to help you. There is a framework being made called MonoXna. It is a cross platform implementation of the XNA gaming framework. It will run on MacOS and Linux using OpenGL for 3D support.

This should make it a easier job to port. MonoXna helps (in parts) with the Mono <-/-> XNA integration so the job should be 50% easier. Mono and the Tao Framework (or maybe better: openTK) can work together to help with openGL (and openAL) integration for platform independent input/output (mouse/keyboard), graphics (3d) and sound (also 3d positional sounds!).. OpenTK was build on the Tao Framework. Tao is kinda.. uh dead.. Known that Tao supports also LUA scripting (pathfinding?).. OpenTK should support that to but i can not confirm that.

The info i gave here was a result of my journey through the hell i went yesterday  ;D


The good part about that: I can continue developing using the XNA framework (with directx). So, i lost a day but we won a lot for Linux and MacOS guru's ;)



Ok back to the game,

There are two types of components in the game
GameComponent and DrawableGameComponent

I will spend the next hours to reorganize some stuff. I will change the gamestate class, and make it a child of a GameComponent class instead of the DrawableGameComponent class (gamestate has nothing to do with graphics.. Only the gui, and the actual game does). The same story goes up for user input. The difference here is that the input system is just a GameComponent, because as it only needs game logic, no draws needed.

Inside the GameState component there will be created a GUI instance to display the graphics. The GUI (mouse pointer included) is the latest thing the game has to draw, but thats where i begin, or at least, to support GUI elements. This makes developing the actual game easier for me.



Update
Lol, this seems to be a dramatic reorganizing task that takes a little longer. This GUI Manager will be a huge and great customizable piece of the game. There is a window manager in it that handles different kinds of windows (e.g. Tooltips, Dialogs, MiniDialogs, a Console). It's currently 'hard' coded, but for great community support it will be customizable later (so you can create mods that have their own windows). I'll keep the 'skin' of the game 'un-customizable' for single windows, because this will result in a awful, obscure/unclear game after let's say 20 mods with different window types, colors etc. I think most of you (if you have brains  ;D) will agree with me on this point.

So, thats it for now
Proudly developer of

KoV Liberty

Sorry if I sound stupid but what is GUI???

My new MD. Check it out if you wish.

Adrian, I miss you man.

metarvo

#208
Driftmaster07: GUI = Graphical User Interface

Nice work, Nique.  The project is really starting to look good.  :thumbsup:
Find my power line BAT thread here.
Check out the Noro Cooperative.  What are you waiting for?  It even has electricity.
Want more? Try here.  For even more electrical goodies, look here.
Here are some rural power lines.

RebaLynnTS

Looks cool, but using a GUI like SimCity could bring up legal problems, even if you are going to offer this game as a free one. They could claim you are infringing on their intellectual property rights.

I am a programmer, however I use Visual Basic.net, not C++. I am sure I could learn it, so if you need some help, I'll do what I can.
Becca

Look for me at ... Becca At Bat

Nique

#210
Quote from: RebaLynnTS on August 21, 2009, 04:48:47 PM
Looks cool, but using a GUI like SimCity could bring up legal problems, even if you are going to offer this game as a free one. They could claim you are infringing on their intellectual property rights.

I am a programmer, however I use Visual Basic.net, not C++. I am sure I could learn it, so if you need some help, I'll do what I can.

Our GUI is totally our own. I took a look at SimCity 4 for some inspiration. I didn't copy their content / sources nor their graphics but created those graphics totally by my self. Yes, i try to match the look & feel from Simcity 4 but that's legal. There is no law that forbids me creating look-a-like graphics.

Anyway, thanks for the warning. And that said.. I think my GUI looks prettier ;D and behaves totally different in compare with the SC4 one.

I'm currently programming in C#  :thumbsup:
Proudly developer of

Djohaal

The Sims uses comic sans as its font, it comes as default from microsoft I think...

Yeah I agree with the interface uniformity. I already dislike some custom queries out there...  :P

JoeST

Quote from: RebaLynnTS on August 21, 2009, 04:48:47 PM
Looks cool, but using a GUI like SimCity could bring up legal problems, even if you are going to offer this game as a free one. They could claim you are infringing on their intellectual property rights.

I am a programmer, however I use Visual Basic.net, not C++. I am sure I could learn it, so if you need some help, I'll do what I can.
C# is quite a bit different to VB but it doesnt really matter, as you can compiled .NET code in any projects, so if there is some feature that you make, it can still be used, it just has to be in a different project (as a dependency). I also think there is a way of bundling two languages in the same project, but I havent tried it.

There are also tools that can convert between languages, though I would think that these would end up leaving in many bugs.

C# is not to hard to learn if you already know Object Orientated Programming.

Joe
Copperminds and Cuddleswarms

Nique

Quote from: JoeST on August 22, 2009, 01:08:12 AM
C# is quite a bit different to VB but it doesnt really matter, as you can compiled .NET code in any projects, so if there is some feature that you make, it can still be used, it just has to be in a different project (as a dependency). I also think there is a way of bundling two languages in the same project, but I havent tried it.

There are also tools that can convert between languages, though I would think that these would end up leaving in many bugs.

C# is not to hard to learn if you already know Object Orientated Programming.

Joe

Indeed, i started with HTML, then PHP, and then php with classes, and since a year c#
Proudly developer of

RebaLynnTS

The real question is what version of .net you are using. I only have 2003.

I already know 38 programming languages and scripts. C# is a lot like Never Winter Nights scripting, from what I have seen. So it should not take much for me to pick it up. (I don't brag much, but I do have an IQ of 189, so I learn very quickly).
Becca

Look for me at ... Becca At Bat

Djohaal

Iq of 189?  :o Oh this project sure is on safe hands....  ;)

dragonshardz

The difference between insanity and genius is success.

I'd call Reba a genius.

RebaLynnTS

Becca

Look for me at ... Becca At Bat

JoeST

Anyway, when I get round to it, I will write a guide on how to get the code off GitHub (where its hosted) in a workable state :) and another on how to use Git effectively, though there are many many out there already.

Joe
Copperminds and Cuddleswarms

daeley

Quote from: Djohaal on August 22, 2009, 02:26:46 PM
Iq of 189?  :o Oh this project sure is on safe hands....  ;)

although IQ is not a measure of programming knowledge :p
1. Install SC4+RH
2. Install LEX (CD&DVD helps) and latest NAM + updates
3. Play the game
4. ? ? ? ?
5. Profit!