Bmc777's Coder Application

Locked
User avatar
Bmc777
Donor
Donor
Posts: 195
Joined: 18 Jul 2016, 14:13
Location: Florida

Bmc777's Coder Application

Post by Bmc777 » 18 Jul 2016, 15:53

Byond ID: Bmc777

Age: 23

Gender: Male

How would you define yourself? (Coder, Mapper, Spriter): Coder

If Coder, what languages?
Java, C#, C, C++, MIPS Assembly, TI Assembly

Any previous experience developing with SS13?
Never for a public server. I've messed around with my own private server before and created
some custom items, but I've never done anything more advanced than that. I figured it wasn't
worth coming up with anything too complex without someone to play with it.

Proof of any previous or current work:
Here's a silly trailer of an AI project my classmate and I made last semester, programmed in Java: https://www.youtube.com/watch?v=hA6eUg9CSaw
I can also provide snippets from personal projects if requested.

How well do you know Git?
I know the basics, but am not an expert. I can push, pull, and merge.

Your primary job is server development, not policing the server. You may be given Moderator-level of access but you should *not* be invoking any administrative actions unless there are no moderators or Admins online. Do you understand? (Yes/No)
Yes

Anything else you'd like to add?
I saw that there is concern about leaking code. If it means anything, I'm a Computer Engineering student in my Senior year and am set up to work in the defense industry where I will be contractually unable to talk about anything I work on. I have no desire to release any code and would never do so.

My reasons for wanting to code for this server are because of how popular the server is ( It's nice when a lot of people benefit from my code ), and that this server is entirely unique and still growing, so I could possibly be a part of creating brand new content, while helping to maintain current code to continue the server's huge success.

To end, I don't have any interest whatsoever in moderating the player base, and wouldn't attempt to as I promised above. That's a messy job and not one I want to be a part of.

User avatar
Bmc777
Donor
Donor
Posts: 195
Joined: 18 Jul 2016, 14:13
Location: Florida

Re: Bmc777's Coder Application

Post by Bmc777 » 19 Jul 2016, 14:37

Totally understandable. I only started playing on CM a few days ago. I'm a long time SS13 player, I started back in 2011 or 2012 on Yogstation, moved to Walter0o's, then moved to Paradise, then took a break for a bit for school. Just started getting back into the scene again with this server.

I've played a lot these past few days, but I don't think that really matters too much towards what I'm applying for. I don't want to moderate, I just want to bugfix and help with new features.

Edit: This was originally a reply to someone's post that has been deleted. This can be deleted as well or left up for the extra background info.
Last edited by Bmc777 on 20 Jul 2016, 17:25, edited 2 times in total.

User avatar
forwardslashN
Community Contributor
Community Contributor
Posts: 2495
Joined: 14 Dec 2015, 23:12
Byond: forwardslashN

Re: Bmc777's Coder Application

Post by forwardslashN » 19 Jul 2016, 22:33

Thank you for showing interest. I do have a couple of broad questions for you. I'm assuming you're not too familiar with DM based on your application. How familiar are you with C++? Do you consider yourself a backend or frontend developer (infrastructure or features)? What do you think are the biggest problems with CM now and how would you improve upon them if given the opportunity?
Image
The ambivalent giant white baldie in a jungle near you.

User avatar
Bmc777
Donor
Donor
Posts: 195
Joined: 18 Jul 2016, 14:13
Location: Florida

Re: Bmc777's Coder Application

Post by Bmc777 » 20 Jul 2016, 15:26

C++ is by far my weakest of all that I listed, that being said, I am fairly handy with C and since C++ is just object oriented C with a ton of other extra features thrown in, I'm competent enough. The most experience I have working with C++ is while using the QT framework for a project I have been working on this semester, I can write whatever code I need to in it but it's probably going to look closer to C than C++.

With my strongest language, Java, I've done both backend and frontend work. I've built a small game engine using the LibGDX framework, and am in the process of building another using the JavaFX library as a hobby project. That being said, I definitely prefer frontend development because it's a lot more fun to show someone a new feature I've added. With backend I get the satisfaction of optimization or putting together some system but anyone who isn't familiar with programming isn't going to care much. I'm willing to do either when needed, but would like to focus on bringing new features to the server if given the opportunity.

From what I've seen so far, I think the biggest problem with CM right now is handling the huge amount of people in the server at one time, I suspect due to Summer break for the younger users. Performance-wise it works well enough, but I'm not sure the gameplay supports it. To clarify, a big complaint I see consistently is that Aliens are OP. I found out fast it's not really worth arguing, but I think it's not that the Aliens are super OP, I think it's more about marines devolving into a unco-ordinated mess due to griefing and incompetence in the higher ranks. Being a marine is much more complex than being an Alien, even the most incompetent or griefing alien is generally not going to cause a huge amount of chaos, it''s different marine-side. An easy solution to this is whitelisting. But I don't like that idea because of a couple reasons, one because it puts a ton more work on the Moderators, and two because it's unoriginal.

A possibly solution I've thought of is some sort of persistent between rounds ranking system where players earn points or maybe XP, and can progress through the marine ranks. This system could even extend to make getting attachments easier, instead of waiting through a line with a ton of people pushing everyone and causing a ton of frustration. The players could use their cumulated points or XP to purchase either a costly permanent increase in rank allowing access to more jobs, or a much less costly one-round weapon attachment. I don't know if my idea is an actual solution, or if it's even in the spirit of the server, but it's just something I've thought of a bit.

Another improvement I can think of is a way for marines to grow stronger throughout the round. The Aliens grow stronger naturally as the round progresses while the marines start out strong and tend to just wither away to only the most robust players, or those that were not following their objectives. I think the Research update is the best way to solve this. I don't know exactly what you guys have already thought of, and it's probably more refined than my spitball ideas, but I envision the system as something like when an Alien is killed, it's body can be sent up via pod or shuttle for research. After some research is done, probably through disecting the alien (which could come with all sorts of dangers, one of which I would think is the acid blood getting places it shouldn't) a general upgrade could be unlocked, or a caste specific upgrade could be unlocked. Maybe if a couple of Boilers are sent back, some expensive armor could be produced that would completely block the effects of the gas bomb, or if some Crushers are brought back a portable shield/barricade could be produced that would have the same effects as if a crusher ran into a reinforced wall, that sort of thing. Distributing these new items could be done via pod drop or even a new job, something like a Supply Runner.

I've got more ideas but this response is getting sort of long, if you guys are interested in what I could possibly help bring I'd be happy to chat over Skype, discord, or in-game.

User avatar
forwardslashN
Community Contributor
Community Contributor
Posts: 2495
Joined: 14 Dec 2015, 23:12
Byond: forwardslashN

Re: Bmc777's Coder Application

Post by forwardslashN » 23 Jul 2016, 23:36

The research idea is something Apophis is working on, though there is no time frame on when it will be finished. Either way, it's something we actually intend to do. I still need to look through your commit logs, but if there is any work you're specifically proud of and want to share, that's cool too. Any other coders are free to chime in as well.
Image
The ambivalent giant white baldie in a jungle near you.

User avatar
Bmc777
Donor
Donor
Posts: 195
Joined: 18 Jul 2016, 14:13
Location: Florida

Re: Bmc777's Coder Application

Post by Bmc777 » 26 Jul 2016, 15:35

A few months ago I made a procedural dungeon generator, you can see a view of the main class here: http://pasted.co/a226838b ( Sorry for the poor formatting, the paste in didn't keep the original format )

There's more to it, but I don't really want to show it publicly because I might use it someday. I'd be happy to share it privately though if that's something that the team would be interested in seeing. That's another idea that could be of use to the server if it sounds interesting to you devs. On a map like LV624 it could be neat to have the cave area where the Aliens spawn be procedurally generated each game to keep things interesting. I'm not sure how possible that is in BYOND performance-wise but it's something I would be willing to mess around with if given the opportunity.

Here's a couple of the smaller dungeons my generator produced:
Image
Image

User avatar
MadSnailDisease
Registered user
Posts: 267
Joined: 20 Dec 2014, 22:05

Re: Bmc777's Coder Application

Post by MadSnailDisease » 27 Jul 2016, 13:12

I'm out of the country right now and just noticed this via airport wifi, so I can't follow up on any replies. Anyways, I was just gonna drop in and say that I love his idea, and if you get hired I would love to work on it with you (for the converting your tile map into the turfs). If you can prove that this exists and isn't a few thrown together maps, then I would love to give a +1 based only on this. That is assuming that you don't have a ton of crappy notes or something similar.

User avatar
Bmc777
Donor
Donor
Posts: 195
Joined: 18 Jul 2016, 14:13
Location: Florida

Re: Bmc777's Coder Application

Post by Bmc777 » 27 Jul 2016, 13:45

Thanks! Like I said, I'd rather not post the full generator code publicly but I would be willing to privately. There are a couple bugs so it's not perfect, in the first pic you can see a disconnecting hallway in the bottom center area. It should be an easy fix, it's caused by the path drawer not taking corners of rooms into account, I just never got around to messing with it more.

User avatar
forwardslashN
Community Contributor
Community Contributor
Posts: 2495
Joined: 14 Dec 2015, 23:12
Byond: forwardslashN

Re: Bmc777's Coder Application

Post by forwardslashN » 28 Jul 2016, 15:27

I have sent you a test via PM, all instructions included.
Image
The ambivalent giant white baldie in a jungle near you.

User avatar
Bmc777
Donor
Donor
Posts: 195
Joined: 18 Jul 2016, 14:13
Location: Florida

Re: Bmc777's Coder Application

Post by Bmc777 » 11 Aug 2016, 23:43

I heard you guys were looking for mappers as well. I don't have any previous mapping experience but have been messing around with it in my free time, so I'll extend my application to cover mapping as well.

Here's some work I've done so far:
Image
Image
Image
Image

The background story behind this facility is that it is a Research Contractor. When an unknown biological creature is discovered, this company is paid to find out everything they can about the creature. The left side of the facility is reserved for employees and peoples who would not necessarily be privy to what is actually being researched. So the board room, cargo, and reception, all stay to the left side of the facility. The facility has a small security force, along with an armory to contain any possible breakouts. Research is equipped with a chem lab, two quarantine rooms, two containment cells, an observable autopsy room, and general research machines along with disease research.

I plan on making a "sequel" to this map, where an Alien gets loose, kills the Researchers, and escapes.

User avatar
Sarah_U.
Registered user
Posts: 1277
Joined: 24 Apr 2016, 07:19

Re: Bmc777's Coder Application

Post by Sarah_U. » 12 Aug 2016, 06:14

You can create instances for windows, tables, walls, etc. Allows for various sprites to be used that aren't standard sprites like you're using and to make walls and whatnot attach to eachothers (VISUALLY).
Right click the image you're selecting and create the instance / direction (Usually in that order to have all sprites).
CM was obviously inspired by Starcraft: Ghost opening. At least when marines takes too long to deploy.
https://www.youtube.com/watch?v=F4JSohL ... e=youtu.be
► Show Spoiler

User avatar
slc97
Vice Host
Vice Host
Posts: 1004
Joined: 21 Jul 2016, 11:48
Location: Florida

Re: Bmc777's Coder Application

Post by slc97 » 13 Aug 2016, 14:22

I've actually known BMC IRL for a long time and played space station with him for like 6 years. He's a fantastic coder, though I really have nothing to gauge that on given my very limited knowledge of coding, and I have seen him make a ton of DnD maps before. I can't really plus 1 this since I'm not dev team, but I can say that I have nothing but positive experiences with him.

User avatar
Bmc777
Donor
Donor
Posts: 195
Joined: 18 Jul 2016, 14:13
Location: Florida

Re: Bmc777's Coder Application

Post by Bmc777 » 13 Aug 2016, 16:46

Thanks for that advice Sarah_U, and thanks for what you said SLC. If it means anything towards the app, I am a big fan of D&D and have played it regularly for the past 3 years or so. When I DM, I take days on pretty simple things, such as a small town, to really help keep the players immersed. I make up mundane details for all the buildings, as small as a painting on the wall being slightly crooked that really has no meaning by itself, but combined with some small scratches in the wall and some unnoticed drops of blood hidden under a nearby table, could lead to a small side-quest, or just give the background that some fight has happened recently but the mess was cleaned up.

My map work I shared above was the result of a couple hours of beginners practice so it doesn't really capture what I would really like the building to be, or my future maps to be like. Particularly with CM, I think that each building should tell a "story" that players can sort of put together from various smaller details. I think the current maps already do a pretty good job of that, but I would like to possibly contribute to more maps that are each unique in their own way. Maybe the colony hospital is fairly intact other than the surgery room containing the body of a patient where a larva ripped out of the body and escaped through an air duct. Meanwhile, the husk of a facehugger could be found on the dissection table in the science lab. Small things like that, that can expand to explain how and why the Aliens attacked the settlement to begin with. An idea could even be to have notes scattered around the research lab, written by the scientists as they studied the facehugger. Or even more mundane notes/journals that could be found to add some story flair that you see in games like Fallout.

All that being said, my focus is still coding. If a map is in the works and needs to be fleshed out some, or is the current priority, I'd be happy to help out with that but I hope to be of the most use with my code. I mentioned in a previous response that I prefer working on front end features. That being said, I'm not afraid to get my hands dirty. It might be worth mentioning that most of my college degree is focused on optimizations. I am familiar with many algorithms and some of the more advanced/niche data structures. Some algorithms off the top of my head that I have found useful in game dev include Floodfill ( and it's more memory efficient variation ), Dijkstra, A*, alpha-beta pruning, and some various procedural generation techniques, there's plenty more, but those are what come to mind.

While I'm playing myself up, I might as well mention I am educated in Discrete Mathematics, and have completed both Calc III and Differential Equations. I only mention my math because Calc III tends to come up a TON in gamedev through vector math. I'm also fairly competent in Physics, having completed a total of four "hard" college physics classes, "hard" meaning dealing with physical objects. Not that it relates TOO much to CM, but I have also been educated in circuits and the physics behind them ( Could possibly be helpful when dealing with Engineering related code? ). I should also say that a few of my courses have required group software projects, so I am very comfortable working with others and can communicate well with a team, which is an issue I've seen that some group members seem to have had.

I know I basically just talked about myself for three paragraphs, I hope I don't come off as a narcissistic asshole. I want to lay out everything on the table so that the team can see what I do and don't have to offer. I have one more week until classes start up again, and if given the opportunity, I'd like to throw myself into the CM codebase and get some momentum before I have to go back to devoting most of my time to classes. That's not to say I wouldn't be still actively coding for CM, I just would have to limit my time to an hour or two a weekday. To end my overly lengthy response, I was previously asked about improvements I would like to work on for CM, one thing I would like to add is I notice gameplay isn't as "smooth" as some servers, like Goonstation. Providing the licenses allow it, I would like to implement Goonstation's publicly released Process Scheduler into CM. Obviously that's a huge project and it's not like anyone could just copy and paste in some code and it would be done, but I think the increase in gameplay quality is worth the time/effort.

User avatar
apophis775
Host
Host
Posts: 6985
Joined: 22 Aug 2014, 18:05
Location: Ice Colony
Byond: Apophis775
Contact:

Re: Bmc777's Coder Application

Post by apophis775 » 14 Aug 2016, 18:18

I've talked this over with the dev staff, and we are going to accept you. PM when you can for access to the Git and Slack.
ImageImage
flamecow wrote: "unga dunga me want the attachment" - average marine

Locked