These are chat archives for sam0s/sam0sRpg

6th
Oct 2015
Andrew
@djkool
Oct 06 2015 01:09
Glad to see you got Gitter up and running. It will be a lot better than trying to communicate through reddit.
I don't know if you just want to add me as a "contributor" to the new repo, that way you won't have to mess with pull requests from me. I'll be able to submit directly to your repository.
Andrew
@djkool
Oct 06 2015 01:24
It also means I can better write and classify "issues" or "enhancements" so we knew who is working on what.
In terms of your NPC work. Keep in mind that there may be very little different between an NPC and the Player. Any logic/actions that can be shared by them should be placed in a Base Class.
If you think about it, the only difference between them is how they are controlled. The player is controlled by keyboard input and UI interaction, while an NPC is controlled by AI logic.
Just keep that in mind while you are writing that.
Andrew
@djkool
Oct 06 2015 01:33
Next, I'm going to convert the code to using a GameState system. I already have a generic module written for pyshipcommand, so I'll just pull that in and us it to refactor game.py.
After that, I'll start working on a level editor.
Sam Tubb
@sam0s
Oct 06 2015 01:44
I added you to the repo!
Andrew
@djkool
Oct 06 2015 01:49
Awesome!
Sam Tubb
@sam0s
Oct 06 2015 01:50
What exactly is a GamdState system? I can research if its
hard to explain
Andrew
@djkool
Oct 06 2015 01:53
Well, think about how most games you've played are laid out. There is a Menu, maybe a Multiplayer Lobby, then the actual Game, maybe a Credits screen.
Each of these parts can have very different logic, UI, and resources.
The game code can get very complicated if we try to handle all of this things in the same area.
So what you can do is separate them into different GameStates that can easily be switched between.
They still have a similar structure. Each GameState will need to render, update, handle input.
In fact, logic behind managing the GameStates are very similar for almost every game. That is the part I already have written.
Sam Tubb
@sam0s
Oct 06 2015 02:02
Ohh, I understand. Can't wait to see it!
Andrew
@djkool
Oct 06 2015 02:03
It'll let us be able to easily have a Menu and built-in Level Editor
Are you busy right now? Would you like me to teach you some Git Tricks?
Sam Tubb
@sam0s
Oct 06 2015 02:29
Im lying in bed, but if you can explain them in text, im down. This is via the gitter app btw.
Andrew
@djkool
Oct 06 2015 02:33
Na... I'd rather do it when you can try them out.
What timezone are you?
Sam Tubb
@sam0s
Oct 06 2015 02:40
EDT, I live in South Carolina
Andrew
@djkool
Oct 06 2015 02:47
I live in Pennsylvania, so same timezone
Sam Tubb
@sam0s
Oct 06 2015 02:49
Nice, i'll be free tomorrow at around either 3:50 or 8:30 tomorrow, sound ok?
Andrew
@djkool
Oct 06 2015 02:54
Yea, I'll try to be on.
Sam Tubb
@sam0s
Oct 06 2015 02:54
Okay. See ya then
Andrew
@djkool
Oct 06 2015 14:39
Initial GameState changes are in the djdev branch.
Sam Tubb
@sam0s
Oct 06 2015 15:01
Sweet! I'll take a look when I get home.
Andrew
@djkool
Oct 06 2015 15:20
I can merge them into master later, but I wanted to make sure you knew how branches worked.
Andrew
@djkool
Oct 06 2015 15:28
Looks like Nachozombie joined gitter as well. Hopefully he still has interest in the project.
Sam Tubb
@sam0s
Oct 06 2015 15:36
We've been talking on skype, he should be on here soon.
Andrew
@djkool
Oct 06 2015 18:36
Whenever you have time, feel free to ask any questions and I'll try to answer them when I can.
I'm technically at work right now, but I can spare a few moments from time to time.
Sam Tubb
@sam0s
Oct 06 2015 20:17
I'm free for about 2 hours atm
Andrew
@djkool
Oct 06 2015 20:20
Cool, did you get a chance to look at my changes?
Sam Tubb
@sam0s
Oct 06 2015 20:21
naw 1 sec
Andrew
@djkool
Oct 06 2015 20:21
Like I said before, they are still in the 'djdev' branch on github
Sam Tubb
@sam0s
Oct 06 2015 20:22
Do I just download the Djdev branch as zip? Or can I access it on the desktop app?
Andrew
@djkool
Oct 06 2015 20:23
Well, you can always view the changes on the github website.
You should never have to download the branch as a zip
You can use git to download the changes locally if you want to try and run them.
Sam Tubb
@sam0s
Oct 06 2015 20:28
Alright I'll try that
Andrew
@djkool
Oct 06 2015 20:29
If you don't already know how, I can tell you
Sam Tubb
@sam0s
Oct 06 2015 20:32
I have to Sync it first, correct?
Andrew
@djkool
Oct 06 2015 20:32
"fetch" yes
What desktop app are you using again?
Sam Tubb
@sam0s
Oct 06 2015 20:34
GitHub
I don't see your branch
Only master, and the changes are your removal of compiled pyc files
Wait never mind
I think i may have figured it out
Yep, I got it
Andrew
@djkool
Oct 06 2015 20:39
I haven't used the GitHub app at all, so I can only really tell you what to do through the command line.
Okay, apparently just switching to the djlib branch in the top dropdown list to the left of "Uncommitted Changes" will automatically create a local branch for you and switch to it.
Do you know how branches work?
Sam Tubb
@sam0s
Oct 06 2015 20:42
Yes, I've got it working now
I can see it in explorer and the GitHub app
Andrew
@djkool
Oct 06 2015 20:43
The game should run exactly like it was before, the only difference is how it is organized in the code.
Sam Tubb
@sam0s
Oct 06 2015 20:44
Yep. So now what happens if I make a change, can I sync it back into your branch?
Andrew
@djkool
Oct 06 2015 20:45
Looks like the GitHub app removes the concept of having local vs remote branches
So yea, if you make changes in my branch, commit them, and then "Push" them to GitHub, they should show up in my branch
Sam Tubb
@sam0s
Oct 06 2015 20:47
When a branch is "finalized", for lack of a better word, do we push it to main? and destroy it if it's a failure?
Andrew
@djkool
Oct 06 2015 20:48
When a branch is complete, we merge it into the master branch. If there are any conflicts with the master branch, it will tell us and give us the ability to fix it.
Nothing should every get destroyed.
(Unless you specifically tell it to)
Sam Tubb
@sam0s
Oct 06 2015 20:51
Oh ok. So at 8 o' clockish, im gonna start on the Npc, and maybe Npc interaction. Then you can take a look at it later. Sound ok?
Andrew
@djkool
Oct 06 2015 20:53
Do you want to be the one to merge my changes into master?
Just to practice?
Sam Tubb
@sam0s
Oct 06 2015 20:53
Sure!
Andrew
@djkool
Oct 06 2015 20:55
The app makes it pretty easy. Just switch back to the master branch. Open Branch Menu > Merge into 'master'
Then select the djlib branch as the source
Sam Tubb
@sam0s
Oct 06 2015 20:57
When I get back inside, ill get right on that lol
Andrew
@djkool
Oct 06 2015 20:57
Errr, djdev branch
You should see a "Merge branch 'djdev'" commit. Then you can just Push your changes.
Drew Ku
@Nachozombie
Oct 06 2015 21:06
are we using 2.7? I get a syntax error when I run it on 3
Sam Tubb
@sam0s
Oct 06 2015 21:06
I'm using 2.7!
Btw check github djkool, tell me if i merged correctly
Andrew
@djkool
Oct 06 2015 21:12
I'm using 2.7 as well.
I'm not seeing your changes on the repo. Are you sure you pushed it after the merge?
Sam Tubb
@sam0s
Oct 06 2015 21:14
How about now?4
Andrew
@djkool
Oct 06 2015 21:14
@Nachozombie , I think it is only the 'print' calls that fail on 3, they can either be fixed or removed entirely.
There you go, I see them now.
Sam Tubb
@sam0s
Oct 06 2015 21:18
hooray
Andrew
@djkool
Oct 06 2015 21:18
One thing we should agree on early is the structure of the project. Git does not like when files move around, so we should avoid do that as much as possible.
All of the assets (tilesets, levels, audio) should definitely go in a subfolder.
Sam Tubb
@sam0s
Oct 06 2015 21:22
Understood.
It's okay if I make extra folders right? That won't hurt it will it?
Andrew
@djkool
Oct 06 2015 21:25
Nope, Git doesn't track folders
It just tracks files in folders
So you won't be able to add folders the repo until you put stuff in them.
If you are moving python modules into a subfolder, you'll have to make it a package.
You do so buy adding an empty init.py file in the subfolder
err... __init__.py
Like what you see in the gamelib package
Sam Tubb
@sam0s
Oct 06 2015 21:28
I had some ideas for interaction files, that go along with certain NPCs, the files include dialogues that the NPC makes, under certain conditions, and they are going to be placed in a folder.
Andrew
@djkool
Oct 06 2015 21:30
Sounds good.
I don't suppose either of you are artistic?
Or are we going to rely on open sourced game art?
Drew Ku
@Nachozombie
Oct 06 2015 21:31
I have one or two friends that do digital art but they dont do game art as far as I know
Sam Tubb
@sam0s
Oct 06 2015 21:31
I have a friend, that makes some great game sprites. If he ever has free time away from his advanced placement classes, I'll see if he can make some.
Hey @Nachozombie
Drew Ku
@Nachozombie
Oct 06 2015 21:32
?
Sam Tubb
@sam0s
Oct 06 2015 21:34
I was just saying hey, lol
Drew Ku
@Nachozombie
Oct 06 2015 21:34
oh ok
I thought you were asking about the inventory menu thing
and I have come up with no leads
I have toa dmit I wasn't trying very hard to find other example
to admit*
Sam Tubb
@sam0s
Oct 06 2015 21:36
You're good, whenever you feel like working on it, go for it. If you want me to do it, that's fine as-well. You can work on any ideas that you have, and put them in a branch.
Drew Ku
@Nachozombie
Oct 06 2015 21:37
are you moving stuff around?
my sam0srpggame folder doesnt have assets.py and you moved it to a sub folder named gamelib
from which game.py do I run the game from?
none of them produce results
Sam Tubb
@sam0s
Oct 06 2015 21:41
That's how it is supposed to be! Run the game.py outside of the gamelib folder
assets was moved into gamelib
Drew Ku
@Nachozombie
Oct 06 2015 21:42
I can't run game.py without assets
Sam Tubb
@sam0s
Oct 06 2015 21:42
oh wait
you're right
me either
1 sec
I found the solutiom
Should I push it?
wait yes, what am i saying.
Drew Ku
@Nachozombie
Oct 06 2015 21:44
ready to recieve it
Sam Tubb
@sam0s
Oct 06 2015 21:44
yep i fixed it, pushing now
ok check it, now
Drew Ku
@Nachozombie
Oct 06 2015 21:47
it works 👍
Andrew
@djkool
Oct 06 2015 21:51
Ah... not sure how I didn't catch that.
I think it was because the old asset.pyc was still lurking around in my djdev branch.
So even though it couldn't find asset.py, it found the compiled version asset.pyc and ran correctly.
Sam Tubb
@sam0s
Oct 06 2015 21:53
haha. I'm surprised I knew how to fix that, guess it was pretty straightforward, but I've never used a package before.
Andrew
@djkool
Oct 06 2015 21:55
You have, but you probably just didn't realize it ;) Pygame is a package
Anyway, what is the goal for the "Camera"
Do we want it to stay like it is now, or do we want it to follow the player so they are always in the center of the screen?
Sam Tubb
@sam0s
Oct 06 2015 21:58
I prefer the way it is now, maybe we should just add a zoom in/out feature
Andrew
@djkool
Oct 06 2015 21:59
Maybe mouse scrolling as well?
Sam Tubb
@sam0s
Oct 06 2015 21:59
mouse scrolling?
Andrew
@djkool
Oct 06 2015 21:59
You can use the mouse to move the camera
Sam Tubb
@sam0s
Oct 06 2015 21:59
like rts style?
Andrew
@djkool
Oct 06 2015 21:59
moving it towards the edge of the screen.
Yea, and like classic Fallout
Sam Tubb
@sam0s
Oct 06 2015 21:59
Yea, ok!
Fallout 1 was pretty great lol
Andrew
@djkool
Oct 06 2015 22:00
If we have that, we may need "fog of war"
Let me know if there is anything in particular you are excited to work on.
Sam Tubb
@sam0s
Oct 06 2015 22:02
Doesn't seem to complicated in my head.
I'm most excited about NPCs
That's what i've been doing most brainstorming about
Andrew
@djkool
Oct 06 2015 22:03
I'll leave NPCs up to you then.
Sam Tubb
@sam0s
Oct 06 2015 22:03
Aswell as the infinite quest system
Are you particularly eager to make any part?
Andrew
@djkool
Oct 06 2015 22:03
I'll stick with Level features now, and maybe make put some more infrastructure in place for you guys to build off of.
Umm... I may want to help out with the infinite question system a little.
Or at least help brainstorm.
That is not something I've implemented before.
Sam Tubb
@sam0s
Oct 06 2015 22:05
We should all 3 get involved with that, it's one of the selling points of the game.
Want me to explain my idea that I had for it orignally?
Andrew
@djkool
Oct 06 2015 22:06
Sure, though I have to head home right now.
Feel free to type and I'll read it when I get there.
Sam Tubb
@sam0s
Oct 06 2015 22:06
Alrighty
Andrew
@djkool
Oct 06 2015 22:06
I'm not sure you noticed, but Gitter has a "compose" mode
to make it easier to write up larger paragraphs/documents.
Sam Tubb
@sam0s
Oct 06 2015 22:07
Oh ok!
Andrew
@djkool
Oct 06 2015 22:07
if you really wanted to, you could fill out the GitHub wiki (even if it is just plain text)
Sometimes it helps to get all your ideas down on paper (e-paper)
Sam Tubb
@sam0s
Oct 06 2015 22:08
Tell me how to do that when you get home, seems complicated.

As far as the quest thing goes, I was going to have it work like one of those, MadLib generators. With like 3 or 4 types of quests (Assassin, Delivery, etc.) that each have there own blueprint.

Then when you talk to someone, the game randomly chooses, mission type, Npcs involved, reward, etc.

Seemed like a fun feature, to keep playing during and after the main story.

Andrew
@djkool
Oct 06 2015 22:36
Not really complicated. Go to the GitHub page, click on Wiki. Create the first page and just start typing ;)
Don't worry about formatting until later when you care what people see.
Sam Tubb
@sam0s
Oct 06 2015 22:45
Ohhhhhh that wiki.
Andrew
@djkool
Oct 06 2015 23:03
I've started creating some issues (ex: #2 ) to track development of required systems.
Hmm... that was supposed to link to the actual issue, I'm not sure why gitter didn't convert it correctly.
Does this work? sam0s/sam0sRpgGame#2
Drew Ku
@Nachozombie
Oct 06 2015 23:10
yup, you have to hover your mouse over it and click on "open on github"
Andrew
@djkool
Oct 06 2015 23:12
Feel free to add your own Items using the "required system" label for major development.
I'll be adding stuff just to fill in the gaps.
Hopefully I don't discourage you guys too much when you realize how much work actually has to be done ;)
Sam Tubb
@sam0s
Oct 06 2015 23:21
Im in it for the long haul m8. Work will be more productive in the coming months, just had a lot of life stuff going on recently.