Jump to content

I need some help and have some questions.


Coronaut
 Share

Recommended Posts

Hello, 

 

Last year I posted an idea for a new civic center mechanic (link below) that I think would be a good addition to the game. I wanted to make it myself, so, for the past year I persisted and tried following the modding guides and forum posts, but realized since I have little experience with the game development process and coding it wouldn’t be possible. 

Original Idea: Here

Now, a year later, I’m coming back to the forums to ask questions and be more involved in the community. Please excuse my ignorance.

What is the difference between modding and developing for 0 a.d.?
Correct me if I am wrong. 
A modder is a solo entity that creates changes in the game’s code how they want with resources already in the game and some they create themselves. 
A developer gets paid to work on the game from the standpoint of completing tickets to make a new and updated release of the game.

Assuming you have no prior experience in game development, what knowledge is required to create mods for this game?
How much coding experience is necessary? 
How many ways are there to obtain the game’s code?
What advantages do you get from using eclipse, or Visual Studio rather than basic notepad? 
Who is the Svn copy for and how should it be used?
Who uses workspaces and build environments Modders or Developers? What are 
they? What are they for?
How do you quickly test if something worked or not?

As you can tell I have no idea what I’m doing. If you can help me it would be greatly appreciated. :help:

-K(C)oronaut
 

Edited by Coronaut
Was a block of text.
  • Like 2
Link to comment
Share on other sites

First off we'er an Open Source project most of us do not get paid at all even among our core developers.Modding can be differentiated from development very simply developers mostly deal with the C++ code of the engine it's self while modding handles the assets(models,actors and amimations) and the JavaScript in the public.zip mod yeah the main game is just an other mod.As for the required knowledge base that depends on how extensive you want to change things for general modding where you deal mainly with JavaScript so notepad++ is great as it is a full feature text editor with syntax checking for most programming languages for 0AD JavaScript and XML are the most useful.Check the wiki for more detailed info that's the Development link at the top our pages it goes to trac our ticket management system and our wiki.And keep asking questions as you may have noticed we don't bite;)  

Enjoy the Choice :)

  • Like 1
Link to comment
Share on other sites

@Lion.Kanzen @Loki1950 

Thank you for replying,

Now that I understand a bit more, to create my Idea I think I have to go both routes and be a modder and developer. What I need to learn is how to do: 

1) to increase the physical size of civil_Centre at phase up

2) Detect and add buildings attributes to the civil_Centre at phase up

~~~~~

The current situation is that I downloaded the svn of the game and have already done most of the things the wiki says to do, but when I tried to build a 0ad.sln output reads that a bunch of things failed (I included the last few lines, becaus it's all pretty much the same).

I'm pretty sure I'm missing somthing(s) extremely important.

1>ConsoleApplication1.cpp
1>ConsoleApplication4.cpp
1>consoleapplication4\consoleapplication4\ConsoleApplication4.cpp(9): error C2017: illegal escape sequence
1>consoleapplication4\consoleapplication4\ConsoleApplication4.cpp(9): error C2065: 'cd': undeclared identifier
1>consoleapplication4\consoleapplication4\ConsoleApplication4.cpp(9): error C2146: syntax error: missing ';' before identifier 'build'
1>consoleapplication4\consoleapplication4\ConsoleApplication4.cpp(9): error C2065: 'build': undeclared identifier
1>consoleapplication4\consoleapplication4\ConsoleApplication4.cpp(10): error C2146: syntax error: missing ';' before identifier 'workspaces'
1>consoleapplication4\consoleapplication4\ConsoleApplication4.cpp(9): error C2065: 'workspaces': undeclared identifier
1>consoleapplication4\consoleapplication4\ConsoleApplication4.cpp(10): error C2143: syntax error: missing ';' before 'return'
1>Hello World.cpp
1>hello world\hello world\Hello World.cpp(12): error C2065: 'cout': undeclared identifier
1>Generating Code...
1>Done building project "0ad.vcxproj" -- FAILED.
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
Link to comment
Share on other sites

Hey @Coronaut

I will try to answer some of your questions let me know if you need a more in depth response for one of them.

9 hours ago, Coronaut said:

What is the difference between modding and developing for 0 a.d.?
Correct me if I am wrong. 
A modder is a solo entity that creates changes in the game’s code how they want with resources already in the game and some they create themselves. 
A developer gets paid to work on the game from the standpoint of completing tickets to make a new and updated release of the game.

As @Loki1950 said currently none of us developpers get paid for working on the game. We do that on our free time and for free.

Currently the only difference between the two is the ability to change the SVN repository directly. An external contributor can only suggest changes and give his opinion on patches. The final decision on whether the change or the feature needs to be included is in the official teams hand.

That being said being a modder gives you a lot of freedom as there are already a lot of things you can do by yourself.

9 hours ago, Coronaut said:

Assuming you have no prior experience in game development, what knowledge is required to create mods for this game?

You need to know how to edit text files mostly. Programming experience is a plus. 3D modelling animation rigging and texturing can also be a plus.

Else you'll be "limited" to what the engine can do.

9 hours ago, Coronaut said:

How many ways are there to obtain the game’s code?

Three. SVN, github, gitlab.

That's detailed in the wiki.

9 hours ago, Coronaut said:

What advantages do you get from using eclipse, or Visual Studio rather than basic notepad? 

You need visual studio if you want to make C++ changes as you need to recompile the game. Eclipse will only allow you to have suggestions during the c++ edition but you'll need to tell it to use the msvc compiler.

Technically unless you want a really specifc feature you needn't compile.

9 hours ago, Coronaut said:

Who is the Svn copy for and how should it be used?

It's for developpers or modders that wishes to use the last version of the game. You should basically update it every day to make sure you have the latest changes. You can also decide you'd rather mod the last release.

9 minutes ago, Coronaut said:

to increase the physical size of civil_Centre at phase up

You mean change it's size ? Then you need to modify the 3D model. The game has no scaling capatibility.

9 minutes ago, Coronaut said:

Detect and add buildings attributes to the civil_Centre at phase up

Not sure what you want to do.

10 minutes ago, Coronaut said:

The current situation is that I downloaded the svn of the game and have already done most of the things the wiki says to do, but when I tried to build a 0ad.sln output reads that a bunch of things failed (I included the last few lines, becaus it's all pretty much the same).

I'm pretty sure I'm missing somthing(s) extremely important.

Did you add code ?

You should use the generated pyrogenesis.sln. by runninfg update.workspaces.bat in build/workspaces.

  • Like 2
Link to comment
Share on other sites

Thank you @Stan`

I understand the development philosophy behind 0.a.d alot better now, and like it alot. 

 

11 hours ago, Stan` said:

Not sure what you want to do.

This is the original Idea from my post last year. 

(TL:DR) What I'm trying to do is create a new mechanic for a players' first Civic Center.

How it's supposed to work is when you arrive at phase 2 or 3 the CC doubles in size removing some buildings around it. Then the CC would gain the ability of the buildings that were removed. For example: If a farm was removed at phase up the CC itself could now constantly produce food only limited by if women were garrisoned inside. 

 

11 hours ago, Stan` said:

Did you add code ?

You should use the generated pyrogenesis.sln. by runninfg update.workspaces.bat in build/workspaces.

I haven't changed anything and nothing has been added. I opened the pyrogenesis.sln in VS and saw the image below. Everything is unavailable. 

Could it be because I am missing the dependencies? 

Is 2019 the wrong version of VS? 

I followed the build instrustions the best I could trying to chage the compiler to 2015, but failed to figure out how to do it. 

 

When I open pyrogenesis.sln this is what is shown..PNG

Link to comment
Share on other sites

Not sure how I did it, but I got a successful run of the svn through VS.

I now have the Pyrogenesis.sln working properly ( I think), and can now build and run the latest svn version in VS. The projects (atlas, collada, engine, etc...) you see in the picture from earlier all needed to be manually reloaded in the right-click dropdown menu for each.  

So, now the question is... What is all of this, and How do I use it to do what I want? 

Thank you for the help.

Link to comment
Share on other sites

All this builds pyrogenisis.exe and the dll's that are not part of ones that ship with Windows in other words the whole engine the AI and GUI are defined by JavaScript and XML files in the public folder of the SVN tree BTW the latest version of the exe is also part of the full SVN download game play is also defined in the JavaScript files,

Enjoy the Choice :)

  • Like 1
Link to comment
Share on other sites

5 hours ago, Coronaut said:

So, now the question is... What is all of this, and How do I use it to do what I want? 

First step is to create a mod.

This can be done by adding a folder in your documents/My Games/0ad/mods folder and adding a little file called mod.json such as this one.

{
	"name": "koronauts",
	"version": "1.0.0",
	"label": "Koronauts",
	"url": "https://wildfiregames.com/",
	"description": "Like Argonauts, but not quite.",
	"dependencies": ["0ad=0.0.24"]
}

Then you can start adding new files, or modifying existing ones by copying them over to you mod, at the same relative location. :)

  • Like 2
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...