Voxelands Forum

The official Voxelands discussion forum

You are not logged in.

#1 2015-04-08 20:04:01

melkior
Member
From: Sacramento, CA
Registered: 2015-04-08
Posts: 52
Website

New Dev - Considering Contributing, bunch of questions :)

Hello,

I'm a indie game dev; I've made a few games on my own and continue to do so. I also have often used open source programs and have wanted to make some kind of contribution eventually one day.  I don't feel astute enough to get involved in Linux/OS/Kernel style development and browsers (Firefox etc) just aren't that interesting to me ; but being an indie game dev .. well now were talking .. especially when it comes to a project like Voxelands it appears to be something I would enjoy contributing to.

However I do have some questions after poking around for a little bit before I make up my mind.  Please forgive the barrage, I hope its not overwhelming; but like the work I might put in to the project - anything worth doing usually takes time so I greatly appreciate your answers.

- I see on github readme file there are instructions to compile for different platforms - but I would probably be running it on Windows with Visual Studio ; are any of the active developers actually using this themselves?  Just wondering if anyone is out there that could advise me if I run in to setup problems when I try to get started?

- How active is the project?  how many developers? I see commits recently by DarkRose but that's about it? Is this effectively a solo project right now?

- I have a lot of graphics/art capabilities ; but I'm concerned how set the art style is for the game? I don't see any documentation about style  (or almost anything for that matter) but I don't want to spend a week making a monster model to be told it just doesn't look right? Is the goal to make something that looks "just like Minecraft, but not"  or to find our own visual style in a pixel art vein?

- I didn't see much in the order of project docs, it looks like the current method is pull the code down, find something you want to do or find a feature request from the audience and do it?

- Is there a roadmap?

- Is there an approved buglist?

- Is there an approved list of feature requests?  I assume not every feature request is going to be accepted - particularly those that don't fit the game. But again I don't want to go take a feature request from the forums and find out DarkRose didn't like it and then I wasted my time: for instance there was a thread where inventory overflow results in destroyed blocks - DarkRose felt it was working as intended so she put in a GUI alert when inventory is full. I on the other hand might have fixed what I thought was a defective behavior - therefore having my code time wasted when DarkRose decides that its just supposed to do that on purpose.   I get it - someone has to be "the decider" (thats fine) but how do I know and not waste my time?

- Is there codereviews? Who are the seniors devs (other than DarkRose)

- What if I get in to things a bit and decide I want to implement a 'new feature' that I like one day? Character classes, or new spell system or whatever .. how do I go about making sure this is cool and my work will be both welcome and accepted?


For reference my current main project is The Rise of Dagon RPG , on my website you can poke around under games to see some previous work as well.  I typically do all the work, code, 3d models, textures, animations, sounds etc, although a couple of times I have purchased some art to save time.

Thanks in advance for your time and patience in answering. I look forward to potentially working with you on the project.

Offline

#2 2015-04-08 23:07:15

TurtleCat
Not Dead, Just Sleeping
Registered: 2014-11-16
Posts: 19

Re: New Dev - Considering Contributing, bunch of questions :)

Hi there! :)

melkior wrote:

- I see on github readme file there are instructions to compile for different platforms - but I would probably be running it on Windows with Visual Studio ; are any of the active developers actually using this themselves?  Just wondering if anyone is out there that could advise me if I run in to setup problems when I try to get started?

As of a couple of weeks ago, I have managed to get this building in Visual Studio. It is a bit of a pain but I am in the process of writing up the instructions on how to do it. Once I've got that worked out, it will be posted. In the mean time, feel free to ask me any questions and I'll try my best to answer, but I'm not an expert by any means. I'm pretty much always in the IRC channel (however there is no guarantee that I am awake >.>).

melkior wrote:

- How active is the project?  how many developers? I see commits recently by DarkRose but that's about it? Is this effectively a solo project right now?

darkrose is the main developer and does the vast majority of the work, but there are others, too. You can look at the graphs here for a breakdown of commits, though this doesn't take into account any which have not yet been merged into master.

melkior wrote:

- I didn't see much in the order of project docs, it looks like the current method is pull the code down, find something you want to do or find a feature request from the audience and do it?

More or less.

melkior wrote:

- Is there a roadmap?

Kind of. Whilst not all-inclusive, this is probably a good place to look.

melkior wrote:

- Is there an approved buglist?

Basically the bug reports subforum, unless something is discussed in IRC instead. I think issue tracking on the Git repo is actually disabled.

melkior wrote:

- Is there an approved list of feature requests?  I assume not every feature request is going to be accepted - particularly those that don't fit the game. But again I don't want to go take a feature request from the forums and find out DarkRose didn't like it and then I wasted my time: for instance there was a thread where inventory overflow results in destroyed blocks - DarkRose felt it was working as intended so she put in a GUI alert when inventory is full. I on the other hand might have fixed what I thought was a defective behavior - therefore having my code time wasted when DarkRose decides that its just supposed to do that on purpose.   I get it - someone has to be "the decider" (thats fine) but how do I know and not waste my time?

If in doubt, check with darkrose first. :)

melkior wrote:

- Is there codereviews? Who are the seniors devs (other than DarkRose)

Pretty much darkrose. When you submit your merge request, she'll be the one to look over it and decide whether or not to merge it.

melkior wrote:

- What if I get in to things a bit and decide I want to implement a 'new feature' that I like one day? Character classes, or new spell system or whatever .. how do I go about making sure this is cool and my work will be both welcome and accepted?

More or less above, as darkrose has the say on those matters, ultimately.


melkior wrote:

For reference my current main project is The Rise of Dagon RPG , on my website you can poke around under games to see some previous work as well.  I typically do all the work, code, 3d models, textures, animations, sounds etc, although a couple of times I have purchased some art to save time.

That looks rather nice indeed. :)

If you're interested, you should come join us on the IRC channel (#voxelands on EntropyNet) and chat with the people who are regularly there. :)

Offline

#3 2015-04-08 23:50:24

melkior
Member
From: Sacramento, CA
Registered: 2015-04-08
Posts: 52
Website

Re: New Dev - Considering Contributing, bunch of questions :)

Thanks for taking the time to reply in detail... most seemed to be what I got the feeling of from reviewing the forums and the repo so no surprises there - but the confirmation and conversation helps.

I won't likely join IRC until the evening's in my time zone (US Pacific + Daylight  savings) as I'm either at work or at home doing family stuff - final 2 hours of the night is my 'dev time' where I can spare some time to chat & dev.

I'll start seeing if I can just get a dev environment up and running over the weekend and touch base from there; if you do happen to have Win + VS (2013?) setup tips/instructions I wouldn't turn them down ;-)

Offline

#4 2015-04-09 03:32:35

melkior
Member
From: Sacramento, CA
Registered: 2015-04-08
Posts: 52
Website

Re: New Dev - Considering Contributing, bunch of questions :)

Status update...

Following instructions in the README.txt from git for Windows build..

Its mostly okay except it leaves out information on OpenAL and OggVorbis libraries. 

I googled those and found them and added them; but I'm currently having a problem with CMake continues to say that OpenAL is not found:

CMake Error at src/CMakeLists.txt:60 (message):
  Sound enabled, but OpenAL not found!

So I opened up the CmakeLists.txt file line 60 and its just the throw for couldnt find OpenAL (duh)

Starting line 39 with if(ENABLE_AUDIO) I checked out what was going on (this is where I found the missing variables that Cmake would want that are NOT in the instructions FYI ) of the AUDIO_INCLUDE_DIRS and the AUDIO_LIBRARIES

I added both; it took the Oggvorbis fine, but contines to say OpenAL is not found (as above)

So trying to troubleshoot why thats not working.

if I uncheck "enable_audio" in cmake I can get by that but id rather just fix this so its not a problem later. smile

Offline

#5 2015-04-09 03:39:22

melkior
Member
From: Sacramento, CA
Registered: 2015-04-08
Posts: 52
Website

Re: New Dev - Considering Contributing, bunch of questions :)

Hmmm problem *might* be that there is a cmake/Modules/FindVorbis.cmake file ; but there is no corresponding FindOpenAl.cmake file ; and in  CMakeLists.txt it calls if(OPENAL_FOUND) on line 42 .. so I'm trying to figure out if there is a different way its supposed to find this or if I'm missing a cmake file somehow smile

Offline

#6 2015-04-09 04:01:21

melkior
Member
From: Sacramento, CA
Registered: 2015-04-08
Posts: 52
Website

Re: New Dev - Considering Contributing, bunch of questions :)

So it appears that cmake is just grabbing the files from my \DIR\voxelands\cmake\Modules ; and there's not a FindOpeAl.cmake file there nor is there on the repo ; so at a dead end with that.

Unchecking audio for now and moving on :-)

Offline

#7 2015-04-09 04:13:35

melkior
Member
From: Sacramento, CA
Registered: 2015-04-08
Posts: 52
Website

Re: New Dev - Considering Contributing, bunch of questions :)

So there's a changelist by Joel Heaton on the repo that isnt merged that has some windows fixes for the CMakeLists.txt that appear to by pass the problem.

Moving on and attempting to build, am now missing jthreadconfig.h header file; yet again not in the source so ... mystery time again :-)

Offline

#8 2015-04-09 05:22:50

Menche
Code Turtle
From: United States
Registered: 2013-10-09
Posts: 120

Re: New Dev - Considering Contributing, bunch of questions :)

melkior wrote:

So there's a changelist by Joel Heaton on the repo that isnt merged that has some windows fixes for the CMakeLists.txt that appear to by pass the problem.

Moving on and attempting to build, am now missing jthreadconfig.h header file; yet again not in the source so ... mystery time again :-)

jthreadconfig.h is created when cmake is run.

Oh, and Joel Heaton = JHeaton = JJH, consistent usernames ftw.


I use a Vultr VPS (shameless referrer link).

Offline

#9 2015-04-09 07:23:00

darkrose
Administrator
Registered: 2013-10-05
Posts: 743

Re: New Dev - Considering Contributing, bunch of questions :)

Welcome.

Firstly, when developing, always work with the 'next' branch, this has the latest dev tree; master is always the last release. Among the changes in there are JHeaton's cmake changes, so you should find compiling a little easier on windows. Hopefully.

melkior wrote:

- I see on github readme file there are instructions to compile for different platforms - but I would probably be running it on Windows with Visual Studio ; are any of the active developers actually using this themselves?  Just wondering if anyone is out there that could advise me if I run in to setup problems when I try to get started?

JHeaton recently got it to work in visual studio, and made the mentioned cmake changes, but so far everyone develops on gnu/linux; not that you have to, it's just easier for the rest of us.

- How active is the project?  how many developers? I see commits recently by DarkRose but that's about it? Is this effectively a solo project right now?

Please don't put capitals in my name, unless it's at the start of a sentence (one of my silly OCD things tongue). Activity varies, I'm generally tinkering, but also working on some longer term things. Menche tends to have apparently quiet periods, then suddenly turns up with code to port to bsd unix or fix all the compiler warnings, or has rewritten the environment loop or something fairly big like that. JHeaton does little bits here and there as time allows, and also does the official windows and mac builds for releases. MavJS, Wayward_One, Pentium44, and several others turn up every now and then with a patch. We've also done some code sharing with Freeminer. Most of the textures were done by sdzen, who's recently gone awol, and the models are all just whatever I could find that weren't too terrible, sounds are mostly from various artists at opengameart.org. There's also several people working on translations, which are managed through Transifex.

- I have a lot of graphics/art capabilities ; but I'm concerned how set the art style is for the game? I don't see any documentation about style  (or almost anything for that matter) but I don't want to spend a week making a monster model to be told it just doesn't look right? Is the goal to make something that looks "just like Minecraft, but not"  or to find our own visual style in a pixel art vein?

Art Style? "reasonably natural pixel art" I think is sort of what we go for, but with a touch of scifi in the circuits stuff, and late 20th century in the clothing style. Though the clothes textures were done by me, and mostly kinda suck. The models we have at the moment are barely tolerable, but were all I could find at the time; current thoughts are to replace models with hard-coded block meshes and rotational animations.

- I didn't see much in the order of project docs, it looks like the current method is pull the code down, find something you want to do or find a feature request from the audience and do it?
- Is there a roadmap?

That's pretty much it; I generally keep the TODO list and the future threads somewhat up to date, which generally show what needs doing, and where we're heading. However we're a rolling release game, we release (almost) every month, and I like to think of voxelands more as something that evolves rather than has a set finished state. Thus it is pretty much a case of finding something that interests you, either your own idea or from the feature requests forum and doing it.

- Is there an approved buglist?

Mostly what's in the bug reports area of the forum. Gameplay issues tend to get discussed (forum or irc) first to determine if it's really a bug or not, usually something needs to get fixed, but what isn't always clear (such as the inventory full issue).

- Is there an approved list of feature requests?  I assume not every feature request is going to be accepted - particularly those that don't fit the game. But again I don't want to go take a feature request from the forums and find out DarkRose didn't like it and then I wasted my time: for instance there was a thread where inventory overflow results in destroyed blocks - DarkRose felt it was working as intended so she put in a GUI alert when inventory is full. I on the other hand might have fixed what I thought was a defective behavior - therefore having my code time wasted when DarkRose decides that its just supposed to do that on purpose.   I get it - someone has to be "the decider" (thats fine) but how do I know and not waste my time?
- What if I get in to things a bit and decide I want to implement a 'new feature' that I like one day? Character classes, or new spell system or whatever .. how do I go about making sure this is cool and my work will be both welcome and accepted?

Basic rules for new things are:
The big one is: Does it add to the game, or take from it? "Digging tree with an axe gets you more wood than with a pick" adds value to a tool, whereas "digging one tree block should dig the entire tree" unbalances the game by making resource collection too fast/easy.
No PvP, there's plenty of other genres of game for that, not a cooperative construction/survival sandbox.
"But <other-game> has it!" isn't a reason for adding something, we want to know what it will add to the game, and/or what it'll take from the game.
Changing existing behaviour on the other hand should generally be asked about, and is usually discussed quite a bit on irc, as some things may not have a clear reason for being there at first glance. e.g. managing inventory is part of the game, thus we add an icon to help you manage your own inventory, rather than changing behaviour to manage it for you.
Also, character classes sounds interesting to me.

- Is there codereviews? Who are the seniors devs (other than DarkRose)

Mostly it's me, Menche and JHeaton are sort of "minion, first class" though smile

For reference my current main project is The Rise of Dagon RPG , on my website you can poke around under games to see some previous work as well.  I typically do all the work, code, 3d models, textures, animations, sounds etc, although a couple of times I have purchased some art to save time.

This looks cool, and adding more rpg elements (npc's, quests, achievements, classes) has been discussed on irc over the past few months, so could be something you'd be interested in if you've got past experience with rpg's.


Support Voxelands on Patreon: https://www.patreon.com/voxelands

Offline

#10 2015-04-09 15:31:21

melkior
Member
From: Sacramento, CA
Registered: 2015-04-08
Posts: 52
Website

Re: New Dev - Considering Contributing, bunch of questions :)

Menche wrote:
melkior wrote:

So there's a changelist by Joel Heaton on the repo that isnt merged that has some windows fixes for the CMakeLists.txt that appear to by pass the problem.

Moving on and attempting to build, am now missing jthreadconfig.h header file; yet again not in the source so ... mystery time again :-)

jthreadconfig.h is created when cmake is run.

Oh, and Joel Heaton = JHeaton = JJH, consistent usernames ftw.

Ah okay thanks for the tip, then something must still be going wrong with cmake for me I'll rewind a bit tonight when I get home and try again! Thanks!

Offline

#11 2015-04-09 15:54:39

TurtleCat
Not Dead, Just Sleeping
Registered: 2014-11-16
Posts: 19

Re: New Dev - Considering Contributing, bunch of questions :)

melkior wrote:
Menche wrote:
melkior wrote:

So there's a changelist by Joel Heaton on the repo that isnt merged that has some windows fixes for the CMakeLists.txt that appear to by pass the problem.

Moving on and attempting to build, am now missing jthreadconfig.h header file; yet again not in the source so ... mystery time again :-)

jthreadconfig.h is created when cmake is run.

Oh, and Joel Heaton = JHeaton = JJH, consistent usernames ftw.

Ah okay thanks for the tip, then something must still be going wrong with cmake for me I'll rewind a bit tonight when I get home and try again! Thanks!

It's a problem in the instructions. I'm almost done with the correct build instructions, however, you'll find that jthreadconfig.h has been created in voxelands-build\src\jthread (assuming you've been following along with the instructions in the README file). You can move that to voxelands\src\jthread for now and it should build.

Offline

#12 2015-04-09 16:13:28

melkior
Member
From: Sacramento, CA
Registered: 2015-04-08
Posts: 52
Website

Re: New Dev - Considering Contributing, bunch of questions :)

darkrose wrote:

Welcome.

Firstly, when developing, always work with the 'next' branch, this has the latest dev tree; master is always the last release. Among the changes in there are JHeaton's cmake changes, so you should find compiling a little easier on windows. Hopefully.

Ah okay - I did grab master so I'll have to go back and fix that, thanks!

darkrose wrote:

JHeaton recently got it to work in visual studio, and made the mentioned cmake changes, but so far everyone develops on gnu/linux; not that you have to, it's just easier for the rest of us.

I like & enjoy Linux .. just I have a lot of my paid for devopment tools that run on Windows (Photoshop, Silo 3D, Unity, Substance Designer/Painter, Illustrator etc) so it just makes sense for me to run on Windows if I can. It also sounds like there would be some side benefits of having some windows dev's on the teams I see a few posts where players have had windows related problems and getting a windows dev to test/work on it would be valuable.

darkrose wrote:

Please don't put capitals in my name, unless it's at the start of a sentence (one of my silly OCD things tongue).

LOL no problem! Wasn't aware of the distinction  - my bad ;-)

darkrose wrote:

Art Style? "reasonably natural pixel art" I think is sort of what we go for, but with a touch of scifi in the circuits stuff, and late 20th century in the clothing style. Though the clothes textures were done by me, and mostly kinda suck. The models we have at the moment are barely tolerable, but were all I could find at the time; current thoughts are to replace models with hard-coded block meshes and rotational animations.

Okay .. I might open further discussions about this one day once I get more settled. I think there are a lot of opportunities in art to make the project shine or stand out!

darkrose wrote:

That's pretty much it; I generally keep the TODO list and the future threads somewhat up to date, which generally show what needs doing, and where we're heading. However we're a rolling release game, we release (almost) every month, and I like to think of voxelands more as something that evolves rather than has a set finished state. Thus it is pretty much a case of finding something that interests you, either your own idea or from the feature requests forum and doing it.

Okay great thanks!

darkrose wrote:

Basic rules for new things are:
The big one is: Does it add to the game, or take from it? "Digging tree with an axe gets you more wood than with a pick" adds value to a tool, whereas "digging one tree block should dig the entire tree" unbalances the game by making resource collection too fast/easy.
No PvP, there's plenty of other genres of game for that, not a cooperative construction/survival sandbox.
"But <other-game> has it!" isn't a reason for adding something, we want to know what it will add to the game, and/or what it'll take from the game.
Changing existing behaviour on the other hand should generally be asked about, and is usually discussed quite a bit on irc, as some things may not have a clear reason for being there at first glance. e.g. managing inventory is part of the game, thus we add an icon to help you manage your own inventory, rather than changing behaviour to manage it for you.
Also, character classes sounds interesting to me.

Okay cool - I'm not looking to rock the boat ; but I also don't want to waste time - time is always at a premium! So knowing where contributions are going to be valuable and acccepted is what I'm after! smile

darkrose wrote:

This looks cool, and adding more rpg elements (npc's, quests, achievements, classes) has been discussed on irc over the past few months, so could be something you'd be interested in if you've got past experience with rpg's.

Yeah I've always felt that Minecraft dev's just dropped the ball - there was so much potential for making the game deeper - and you can see groundwork they laid for some of it. I think some sort of character progress would add a ton of play depth to this style of game.

I'm not sure what would be the best kind of class list for a game like this; some times I think very custom classes like Miner, Warrior, Hunter, Smith  - things that focus on game play micro-focuses so the skill trees could enhance your game play in those areas.

A Miner might harvest extra materials from rich mineral nodes (percentage based the higher your level) where a Smith could get better quality forging, and a Hunter could track animals at first and then monsters later.  A Warrior would be more durable in combat.

Or there's the traditional fantasy classes - Wizard, Warrior, Healer, Rogue ; they would certainly fit in  - you could even do some steampunk style classes since there is a technology tree and it would fit in so a Tinker or a Mechanic would make sense.

But all this would take a significant amount of game play design and discussion about how these classes fit the game and how they enhance the player experience - without breaking gameplay. Lots and lots of discussion and interesting ideas in this area!

Offline

Board footer

Powered by FluxBB