Jump to content

Rebellion 2?


DavidAdas
 Share

Recommended Posts

I have Sins lying around on disc somewhere so I will fire it up and have a look. Been a while since I played it.

 

I was going to do mouse scroll to go out and in but Im not sure if some people would get annoyed with it. I am just gonna go with a 3D interface and hope to hell noone gets annoyed with it :P

 

I've started working on making an editor to easily add planets and what not to a universe. The editor should be able to easily edit all unit information, I want it so you can easily create a scenario for starting positions as well. Shouldn't be too hard as I found some good tutorials on creating this exact sort of thing in Windows Forms.

 

To Slocket and David, I was wondering how you were going about moving units between planets. I was a little stuck about how to do it trying to work out all these different ways creating a Travelling Manager and what not before I thought that maybe the simplest approach is the best. I am thinking have each planet hold a pointer to the unit and if i want them to travel i simply move the pointer to the new planet and make the unit inactive until arrival time.

 

Any better ideas out there?

Link to comment
Share on other sites

  • Replies 190
  • Created
  • Last Reply

Top Posters In This Topic

I took a break from playing with UI because of a bit of a bug introduced when XNA 3.1 came in(ie it didn't work anymore) and have been working on my data storage and retrieval stuff.

 

I have my data saving and loading good now. Editor is coming along thanks to working out this problem. I was going to try and load and save through xml but it was getting to be such a hassle till I found an easy way to make databases work in my application. It should now be very easy to update, remove and add new units of any kind. Map editor will be the next big one to work on. I have an example of how to get my program to show in a box so you can edit it graphically. A lot more work involved than just text based editing which the others are.

 

After I have completed this, it will have to be back to the UI as there was a library update released which fixed my problem.

Link to comment
Share on other sites

Moving unit is simple the best. I have a data array that holds the time in days and destination of that unit. The time for travel is calculated when you indicate when you want to move a unit to another planet. I do not store the original depature point, it is a one way trip. I can check this data for access in order for Espionage missions to gain knowledge if a unit is coming to a planet, etc. As you say, as in original game, units in hyperspace cannot be changed or given orders.

 

Editing the universe and planets is through basic text based editor "Galaxy Mapper".

 

One Knowledge state of all units for real is kept by the game keeper logic so to speak. The AI (or other player if MP mode) has its own 'Known' universe of units data, and the single player has his known set of units data too. This is from Recon units, interactions, espionage, and spies just like in the original game. Three sets in total.

 

What is a "pointer"? :mrgreen: As in pointing to a memory adress ala C++ ? or a good tip?

 

The unit movement state is Universal. I did not use Planet based.

 

Save and load for me are the relevant arrays of data that are literally written out as sequential files into one regular hex format into a normal uncompressed DAT file. It would be very easy for someone to make a savegame hex editor for it. Simple clean, nothing fancy.

Link to comment
Share on other sites

Just a small question popped up in my mind. How are you going to address algorithmic moddability of your game? So far I've heard only about adding or removing units, planets and so on. But what about creating entirely new missions, tweaking the UI (ie. adding a dialog box for those missions), scripting new events and such?

 

We can already create total conversions of units, UI skin and galaxy layout in the old rebellion. What we can't however is to modify the game logic itself (blackbox). How do you plan to address this issue?

 

Btw. what database engine are you using? Just that you might have to end up writing some binary/xml serialization routines anyway because you'd probably want to distribute your mods to other computers. I'm quite curious how you chose to approach this problem.

-rebellion2 enthusiast-

Terra Reconstructed

Link to comment
Share on other sites

Hey Moribundus, thanks for the questions.

 

First up that I would like to say that the biggest aim for me in this project( apart from finishing it one day :P ) is to have the game have this century graphics. The second biggest problem I wanted to address was the lack of ability to add new content. I want people to be able to add content easily and I dont want the silly restrictions that came with Rebellion. I haven't given game logic much thought so far and if it looks incredibly hard for me to come up with a system to allow edits to game logic then ill just hard-code it. That being said, the more moddability of my project, the happier I will be.

 

When it does get to the stage where it is a playable game, it'll be open source anyway so everyone is free to edit it however they want. I could open source it now but the code can be ugly as hell at times :P

 

I actually havent gotten to around to coding events or missions yet. Im still working on the basics.Ive invested some time into learning about how XNA plays with XML files and learnt a fair bit over the last few days. There is actually a really good serialization routine built into XNA which makes it very easy to read and write XML files. As far as the database goes, I want to actually get that out of my game now. Seeing as I can easily load data through XML, my last hurdle for my editor is being able to show the loaded data in a ListBox. I am new to creating these type of things so its sort of a WIP while learning style thing :P The reason I was going to use a basic SQL database was simply because it was very easy to load into a windows form. I could load the data from the database then serialize it into XML form but then i have redundant data and i don't like the idea. I guess Ill just have to learn how to load objects into the ListBox

 

Here are some thoughts on your other Q's

 

On Missions

I could code the game to load missions through XML. Just thinking out loud here I could go about reading in details about a mission including a target type so when you choose to send a character on a mission, I would read through my list of loaded missions and match it to the target type. I could add a character type variable to a character so I could distinguish between those who are researchers/recruitment officers and have a usable by variable in the XML file so that I can also allow selection of missions based on that.Like I said havent gotten there yet but thats just off the top of my head.

 

On Events

Haven't even looked minorly into how I am going to handle events yet, and since this is my first full game I am going to have to research how I handle it. When I do know I will post up here and let you know.

Link to comment
Share on other sites

Slocket - I am doing much the same as you with regards to known universe data. I keep the major known universe, plus 2 team known universes from espionage, fleets and what not which will be updated based on events

 

Lost net for a week recently and I got disheartened trying to sort out the editor to load my units into it. So at the moment I will deal with having to just edit my XML files manually to add new units and stuff. Not that it matters as I need the game first and a few test units ( which I already have made up) will do till i finish. PS If anyone knows how to add data to a listBox that isn't database loaded and they could help that would be fantastic.

 

So anyway. Disheartened. I was struggling with some of the UI stuff about my map. The spheres where 3D however the planet names and diplomacy as well as the icons where actually all 2D just efficiently placed thanks to some cool XNA functions. This is a problem when it comes to zooming because although my planets got smaller, all my other 2D UI stuff stayed big. Also another problem was that trying to use my scenegraph to pick the icons was becoming a problem.

Eventually I swapped my 2D icon rectangles to 3D quads(alot harder than you would think actually) which are now added to my scenegraph and clickable (yay!) and turned to the other 2D stuff ie. the planet name and diplomacy bars. I had no boundaries set on how far i could zoom out/in so i played around a bit and selected two arbitrary numbers of a decent max level of zoom in and max level zoom out. From this I decided at the halfway point of zoom in and zoom out I would actually remove the diplomacy bar but leave the planet name. From the planet name you can still see who owns what(since planet name is shown in team colours). Also I made how close the 2D name/bar are based on a percentage of the zoom so it keeps a relative distance to and from the planets.

 

So wrapping up:

  • I made the UI way more usable and helpful
  • I set max levels of zoom
  • I learnt a bit more about manipulating models, verticies and shaders
  • I doubled the FPS. Didn't realise I was making two passes of drawing calls. Now easily sits at 900fps on my PC. Which doesn't matter so much when its just a few spheres but might do when 3D space battles become a part of the equation

 

Next thing I have to work on is the Icon GUI's. Really annoying as these require quite a lot of testing and coding to get right. Ill also make all my message boxes from the one UI because I had mixed in the ones from the GameplayManagement Sample and my new UI stuff.

 

Who here is actually C++/C# programmer or training? My code may be ugly but a fresh pair of eyes could be helpful.

Link to comment
Share on other sites

  • SWR Staff - Executive
Don't you wish for OnDoubleClick now? :)

Evaders99

http://swrebellion.com/images/banners/rebellionbanner02or6.gif Webmaster

http://swrebellion.com/images/banners/swcicuserbar.png Administrator

 

Fighting is terrible, but not as terrible as losing the will to fight.

- SW:Rebellion Network - Evaders Squadron Coding -

The cake is a lie.

Link to comment
Share on other sites

You'd be surprised at how much stuffing around it took me to get doubleclicking to work.

 

But its done. UI at 1:35am isn't smart. Must sleep

 

Yes, same thing here. DarkBasic does not support double clicking as a native function, so I had to create my own function. There was alot of sloppy code on the net but most of it was crap. My double click function works very well taking into account program speed and time of push/on/release and time in between. Similiar to proper debouncing an electric circuit switch in electronics. :)

 

It seems you are doing to 3D just about I would have done. Place the data bars icons etc onto 3D planes billboarded to your camera view (transparent) so the size will get smaller and bigger as you zoom, and if far enough away, just cut off the extraneous information. Sins of a Solar Empire comes to mind again.

 

I know just enough C language to get myself in trouble, so that still makes me a n00b.

Link to comment
Share on other sites

Yes I would definately much prefer a OnDoubleClick method but sadly, XNA says no for now.

 

I will also look at moving the the other 2D data to 3D billboards if I can. I am trying to at least keep getting at least one thing done and finished a day so to keep the project rolling over, and to keep the interest high. Hence the extra updates lately :)

Link to comment
Share on other sites

Having the best week of my life. Totally dislocated my shoulder playing football(australian rules ;) ) on the weekend and now my right arm is in a sling for 3 weeks. No typing for me. Stupid on screen keyboard using left hand on my mouse does my head in. Back soon fellas.
Link to comment
Share on other sites

So, how go all of the "other" versions of Reb2 developing out there?

 

Slocket?

Davidadas?

Moribundus?

nordwindranger?

 

Rest up steel & keep the updates coming.

Finally, after years of hard work I am the Supreme Sith Warlord! Muwhahahaha!! What?? What do you mean "there's only two of us"?
Link to comment
Share on other sites

@Steel: this kind game extension is usually done through scripting (events). You could do basically through XML, but you'd be basically creating your own scripting language as a subset of XML. And it would be very messy. If you're interested, check out some IronPython (Python implementation under CLI) tutorials - like this one http://secretgeek.net/host_ironpython.asp.

 

I'd recommend keeping your sources public. Keeping them private won't help you in any possible way (unless you plan to sell the game, which of course you can't in this case). Eg. I'm no C# programmer and don't have time to work on another project full-time, but I have few years of C/C++ experience (among other things :)) and can find the time to glance through your code and report any obvious bugs I might spot (or post a patch).

 

@Tex: Terra is currently on hiatus. I have my hands full with either school projects or freelance work. I plan to return to her once I'm less busy, but no one knows when that will be.

-rebellion2 enthusiast-

Terra Reconstructed

Link to comment
Share on other sites

  • SWR Staff - Executive
LUA is also a major scripting language that a lot of games use (I know at least Relic games like Homeworld 2 use it)

Evaders99

http://swrebellion.com/images/banners/rebellionbanner02or6.gif Webmaster

http://swrebellion.com/images/banners/swcicuserbar.png Administrator

 

Fighting is terrible, but not as terrible as losing the will to fight.

- SW:Rebellion Network - Evaders Squadron Coding -

The cake is a lie.

Link to comment
Share on other sites

I am still working on it. Right now, some pleasant (***) decided to drop a web browser hijacker on me. But this will not let me access my anti-virus/spyware to update to remove. Oh no, it a sophisicated RootKit hider from hell.

 

I had this done to me before about 2 years ago, this one is a mutating SOB. I need to download my important data and reformat my HDD and re-install. It seems this variant came out since the last month.

 

I do have something to show since Nove 2008, now i got hosed, but I think my main data work I did the last 6 months will not be lost. I have back ups of all the models in .X and such.

 

After four years I should have expected this. You would think peeps would have something better to do with their genius at making nasty rootkit virus. Do they not understand they are destroying the very thing they love? If they care about playing computer games on the PC platform, then why attack it? That and piracy just adds more fuel for peeps to buy a simle minded console game over a PC game for that reason.

 

I run three main spyware, virus, etc to stop this stuff, but it happens. I downloaded a "free" trial of a 3D model maker and I find out their was a virus placed into the legit demo trial of Blender (I seem to like it over 3DS and it is cheap / free for basic use).

 

You guys out their that are genius at programming that are making malicious virus: I plead with you, you are the Man, please use your extrodary talent for good, it is always easy to be evil. In the end, do you not want new cool games or remakes to enjoy?

Link to comment
Share on other sites

Oh man, you got fooled pretty badly. I hate to say it, but Blender is completely free (even open source), so anything that poses as a Blender trial must be obviously fake. I don't know where you downloaded it from, but safest is it's homesite - blender.org in this case (btw. the latest version is 2.49a, anything "newer" is fake). Always double check what programs you want to run or install.

 

This is basically the same case as computer piracy. They don't see the consequences, so they don't care. I think these guys really need a job, they're probably just a buch of students anyway.

 

LUA is also a major scripting language that a lot of games use (I know at least Relic games like Homeworld 2 use it)

 

Yes, but I mentioned IronPython as an easy choice for managed code. Lua is harder to embed (since it's not object-oriented) and I'm not sure about it's .NET implementation.

-rebellion2 enthusiast-

Terra Reconstructed

Link to comment
Share on other sites

Lucky for me, I found a website that did get it fixed. It was a Rootkit of the variant UAC. I looked for those files just like RootRepeal does, but I could not find them inside system32/ neither could RootRepeal -it just crashed.

 

Plus it shuts OFF your anti-virus from even launching, nor update (so no scan to get rid of it). Then it hoses your internet browser like a Hijacker. Plus it played an odd music/conversation using some CoolPlay program. I guess they get off on it.

 

The good news is there are some nice people that created a repair tool, ComboFix, to combat this new nasty, nasty rootkit virus that is out and about. Apparently I caught between 7-14 until a few days ago. It did list about six programs I had, mostly demos.

 

So much for that, yes indeed, be very careful where you download a demo from. "Hey, its free to try..." nothing is free.

 

I would like to thank very much to those guys that created ComboFix. The tool is free, they really are decent people to make a tool to combat viruses, during their free time.

 

Sometimes I wonder if PC games are going to suffer with all those virus ware out there. Maybe the console game do not suffer much from viruses?

 

As for the topic about code, public and private. I guess some may want their code private in case they want to make a game for profit, else what would stop a lamer from borrowing your hard work code development, then change it a bit, add some new picture and sound resources, and produce a game for sell out of it?

Link to comment
Share on other sites

Hi, would just like to offer my assistance in any way that can help anyone with the development of a Reb 2 :)

 

I know nothing about anything, but have plenty of time to learn any necessary skills, and so probably the most useful thing I could do is something both easy and time consuming :)

 

Thanks to everyone working on a project atm anyway, hope someone finishes soon :P

Link to comment
Share on other sites

Well I finally have gotten back to looking at my code. Still need a new keyboard and the dislocated shoulder is functional enough to play games so I figure its time to start coding again. I got a job finally which is only 20-30 hours a week but with university being such a breeze I feel I should still be contributing.

 

To that end, today, I uploaded my source and binaries to the MS Codeplex website. This is hopefully to encourage more people to help out and even if not, simply look at the code and offer tips. I also realised that Codeplex has their own SVN as part of their program which basically means I love them. Anyone who wants access to the SVN has to signup to the website and have me add them but its a small hassle for what is offered.

 

For those who dont want to scroll through various pages of text:

 

The project is being coded in C# with the XNA runtimes. If you know C,C++, Java its really easy to learn and enjoyable to code in. It really lets you worry about the actual code rather than the nitty gritty stuff. For some projects they may like the extra control however this isn't such a massive project where every tiny optimisation is necessary.

 

More info on the site.

 

http://reb2.codeplex.com

 

You can browse the code without SVN using the Source Code tab.

WARNING: I am not a god programmer. I don't know nuances of professionals and what nots. What I am is an ex Games Programming Student who did a few units with C,C++ and some OpenGL. Don't expect perfection or abuse me when it's not. ;) or even close :P

 

To Chris, if your interested contact me on MSN: a_w_mijatovic@hotmail.com and we can talk about what might interest you

 

And bad luck on the virus Slocket. Hope all is well...

Link to comment
Share on other sites

  • 2 weeks later...

Reb2 forum seems pretty quiet of late.

 

Working on mostly background stuff for my project so although on the surface you wont see any changes, there is work being done.

 

Chris has agreed to help out where possible and has already done a few nice models and picture mockups.

Link to comment
Share on other sites

  • 3 weeks later...
One humble suggestion is to please use unsigned long for the ship hitpoints and shields and weapons and other stats instead of int. The reason behind this is that personally I prefer an ISD to be able to stand up to three bulk cruisers and with the stats it currently has it gets smashed if the trio gang up on it. I solve this by making the shielding ten times as powerful. But eventually I reach the upper limit of 32K. If it is at all convenient please use ulong. Also if someone could alter RebEd to set the cap for stats at 2-4 billion it'd be great. I can confirm that Rebellion supports it and that the values upto 4 billion work just fine.
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share


Copyright (c) 1999-2022 by SWRebellion Community - All logos and trademarks in this site are property of their respective owner. The comments are property of their posters. Star Wars(TM) is a registered trademark of LucasFilm, Ltd. We are not affiliated with LucasFilm or Walt Disney. This is a fan site and online gaming community (non-profit). Powered by Invision Community

×
×
  • Create New...