Cutstuff Forum

Mega Man 8-bit Deathmatch => Help & Editing => Topic started by: Atticus on July 09, 2016, 04:56:03 AM

Title: Resources for learning how to code for MM8BDM?
Post by: Atticus on July 09, 2016, 04:56:03 AM
So here's the deal: I've always wanted to make something for this game. I've been playing since v1a, and in that time I've tried my hand at spriting, mapmaking, music packs, etc. to no avail. As you probably know, the livelihood of this game is the loads of creative mods that the community has to offer. I've always had a desire to contribute but there's one teensy problem: I have zero coding experience. Zilch. Nada. I don't know the first thing about it.

So with that being said, I want to learn, but I have zero clue where to start. I am looking to learn to code SPECIFICALLY FOR MM8BDM stuff. If anyone could just point me to someplace to start, I would be very happy. I understand that learning to code isn't something you can learn in a day or a week or a month, but I'll hunker down and do it. All I need is somewhere to start because honestly I am clueless.
Title: Re: Resources for learning how to code for MM8BDM?
Post by: Russel on July 09, 2016, 06:21:27 AM
To be honest, I had very little experience in programming when I first started.
I learned how to do it by reading the weapon template and the code contained in the core pk3 and bending it to do what I wanted it to.

The best things I can tell you to do is grab SLADE (http://slade.mancubus.net/index.php?page=downloads), crack open the MM8BDM pk3 and check out the ZDoom wiki (http://zdoom.org/wiki/) and Zandronum wiki (http://wiki.zandronum.com/Main_Page) to help fill in the gaps.

Pretty much nothing is commented, so logicy bits won't always be the most obvious things to pick up, but you don't need to know everything to get started.


Beware that this will be a slow process and depending on your learning style could require a lot of practice before you get a handle for how all of this works, but here's a simple rule that could help you:

Everything that occurs in the game has a source that triggered it. Whether it be the predefined "Fire" trigger on the Mega Buster shooting the buster pellet or the simple existence of an actor that resides in its own file.

Couple more quick rules:
- Creating new actors, which are everything from props to weapons to items to even players, requires including code from the base DECORATE file. Actors can be in their own files or you can write code directly to the DECORATE file.
- ACS files can be found in the root directory of the MM8BDM-v4c.pk3 or, should this post be read after development of version 5 is complete, in the acs_source directory of the MM8BDM-v5a.pk3.
- ACS compilation requires a special executable, which can be found here (https://www.dropbox.com/s/75agzkbp7uf1h13/acc.zip?dl=0). This version might not have all the Zandronum-specific features and I am unsure how to fully integrate them properly.
- Loading a compiled ACS file requires use of a LOADACS file, unless the file is already included by MM8BDM's core. [Included files as of v5a include GLOBAL, WEPACS, and SINGLEP. You are free to replace these files but be sure to include all of their contents as removal of some logic could compromise the stability of certain systems of MM8BDM.]

... I think that's all I got.
If anyone wants to correct me or add anything else, that would be nice.

I hope this helps get you started, Atticus. Just remember if you wanna make things ya gotta learn to do it and it could take anywhere from weeks to months to learn, so stick with it.
If you have a good sense of logic, learning should not be that difficult.
Good luck.
Title: Re: Resources for learning how to code for MM8BDM?
Post by: Megaman94 on July 14, 2016, 07:41:32 PM
When I made my first map, I had no idea how to code. I just copied and pasted from the MM8BDM scripts and hoped it worked. Now, I know how to script almost anything and I have a somewhat popular map. I learned through trial and error and I believe how that is how you will learn as well.  My recommendation is to go to the ZDoom wiki (http://zdoom.org/wiki/). You will learn a lot of stuff from crushing ceilings to damaging sectors. If you can't figure it out, you can ask me or anyone else in this community. Lego is nice and doesn't bite most of the time