• As part of the relaunch of Skullheart, ALL previous threads have been archived. You can find them at the bottom of the forum in the Archives (2021) section. The archives are locked, so please use the new forum sections to create new discussion threads.

Learning to Program (because that's really important) (altered thread name)

Well, after so much thinking, I did not finish this game yet, I'm just glad it saves for me. I am stuck on level 11, I know exactly what I want to do, but it still doesn't work. Also, I noticed that there is actually more than one way to solve the problems presented in Light-bot, according to the pictures I've seen on the internet of the problems being solved. I understand that this game isn't a true determinant for my future as a programmer. I would hire a co-programmer on the side, but the thing is if something goes wrong or I want to test something in the game, I want to have full control of the game I'm making. I can't stand being unable to sit around while something I want to work doesn't work and not knowing how to fix it. That's why I want to be a programmer, to have the freedom to program my game anytime I please.
 
Mike Z goes through some "dos and don'ts" of fighting game development.

Pretty interesting stuff, even if largely esoteric for me. <:3
 
Just remember that the above sort of falls into the "deciding on leather seats before you've built the engine" aspects of game design. A lot of these are things you would run into a decent ways into development. It's good stuff you should be aware of, but not the founding points of your game design.
 
  • Like
Reactions: Balder and Tomo009
Just remember that the above sort of falls into the "deciding on leather seats before you've built the engine" aspects of game design. A lot of these are things you would run into a decent ways into development. It's good stuff you should be aware of, but not the founding points of your game design.
yeah this is more like things that you shouldn't forget while designing a fighting game more than how to make one it seems.
 
I am aware that those are steps from a more advanced stage but it just seemed something worth bringing up here. (.__.)
 
I finished Light-bot in 213 commands in 3 days:o( Damn, I really took long. Maybe if I do this game again I could improve, I could even play Light-bot 2. I feel programming might be for me, but I should be cautioned and I could read a volume or two of the recommended books:0) I do have one more question though, how does a programmer truly think VS. the way non-programmers may think, in fact?
 
I finished Light-bot in 213 commands in 3 days:o( Damn, I really took long. Maybe if I do this game again I could improve, I could even play Light-bot 2. I feel programming might be for me, but I should be cautioned and I could read a volume or two of the recommended books:0) I do have one more question though, how does a programmer truly think VS. the way non-programmers may think, in fact?
It's just easier if you are a logical thinker and have a good grasp of mathematics/physics.


I found a critical problem in light bot, it doesn't let you code magic numbers everywhere and come back a few months later to rage at yourself when wanting to make a tiny tweak means rewriting hundreds of lines.
 
  • Like
Reactions: MysteriousJ
For people who liked Light-bot, there is another "programming-like" game out there called Spacechem. Different look and theme, same general idea of striving for maximum efficiency and minimum waste in creating your work.
 
I can't stand being unable to sit around while something I want to work doesn't work and not knowing how to fix it.
I feel like that sentence didn't come out quite right? But either way, welcome to debugging! I sure hope you don't hate it!

I finished Light-bot in 213 commands in 3 days:o( Damn, I really took long. Maybe if I do this game again I could improve, I could even play Light-bot 2. I feel programming might be for me, but I should be cautioned and I could read a volume or two of the recommended books:0) I do have one more question though, how does a programmer truly think VS. the way non-programmers may think, in fact?
Try Game Maker, it's a pretty similar experience to light bot, and you'll learn a lot. I'm not sure if I really know the answer to your question, but here's my favorite computer science quote:
Alan Perlis said:
Fools ignore complexity. Pragmatists suffer it. Some can avoid it. Geniuses remove it.

Also, the key to light bot is reuse of groups of commands, which is one of the most important things in programming.
 
  • Like
Reactions: WrestlerGuile
upload_2014-6-22_13-35-52.png
upload_2014-6-22_13-44-29.png
upload_2014-6-22_13-43-35.png

Well, I'm trying out Light-bot 2.0, and for the most part it's pretty good, but I hate how Light-bot 2.0 actually limit's your choices on some levels, instead of giving you all the tools you need to think such as the way you would in Light-bot 1.0. This current level on the bottom is Recursion lvl4. I could easily solve it if every single square was available for me to use, but unfortunately the designer decided to limit my choices on how to solve this level. Is this what actually happens in real programming?
P.S the green blocks teleport you when you light them up.
 

Attachments

  • upload_2014-6-22_13-36-21.png
    upload_2014-6-22_13-36-21.png
    133.4 KB · Views: 575
  • upload_2014-6-22_13-43-8.png
    upload_2014-6-22_13-43-8.png
    312.5 KB · Views: 986
Is this what actually happens in real programming?
Yes and no. In a Perfect World, you've got infinite memory, race conditions never occur, and a 40 ms process will always take 40 ms. For the most part, these are essentially true. Most new PC games require 3+ GB of memory because the designers decided "eh, just ask for more RAM, fuck it" rather than make it significantly more efficient. On the other hand, if you're coding for a device that doing that really isn't possible (mobile devices, handheld consoles, hell even previous gen consoles), then you've got no choice to work within a smaller space.

Skullgirls is a fantastic example of this. Mike made it such that it would run with identical code on all 3 consoles. To do that he had to work with the 360's and PS3's (relatively) very limited hardware available, and oh boy did he do it. I don't think that I've ever seen Skullgirls take more than 700K of memory any time that I've ran it, and it's a pretty gorgeous game. Meanwhile I just booted up Terraria, which uses essentially 16 bit sprites, and its memory use instantly jumps to over 1 GB, and climbs ever higher as more assets get loaded.

So ultimately, yes, there will sometimes be limits as to what you have available to work with, but if you're lucky you won't (realistically) have to worry about those limits.
 
Yo can you drop a link to light bot 2? and isnt doing the same thing but with less space/options pretty much called Optimizing?
 
Trying to optimize my own project right now and it's pretty difficult to do this at the end of the project.

Today I managed: 1 stack overflow, 2 other infinite loops and forgetting to check if something was null before referencing it about 1000 times.
 
Well, I learned a lot about becoming a programmer from this thread and I'm really glad I learned the hardships of compression and logic, but with a bit of self-education and proper education, programming can become a cinch(not really).
------------------------------------------------------------------------------------------------------
Now this next topic isn't generally geared towards fighting games, but still, how should you select your development team and who do you need specifically in fighting game development?
 
Now this next topic isn't generally geared towards fighting games, but still, how should you select your development team and who do you need specifically in fighting game development?
If only we had a group of people to reference who successfully made an indie fighting game.
 
So I just signed up for a competition for Computer Science and I want to know what books are recommended for those who want to know the bare basics of programming.

Also, a link to this website (I don't think any of these books are great for me right now...)
http://programming-motherfucker.com/become.html
 
Ah I used to do computer programming in high school and a bit in college. Worked mostly with BASIC and C++ way back in the day. Tried learning Java at the time (this was like 15 years ago) and never really got it. Always wanted to revisit this just for fun. Anywho, bare basics of programming unfortunately depends on what language you want to learn. Each one works differently, so it really depends on what you want to work with. Unfortunately I've been out of it so long I don't even know what people use anymore. Sorry I couldn't help more.
 
So I just signed up for a competition for Computer Science and I want to know what books are recommended for those who want to know the bare basics of programming.

You can learn the basics of programming a number of ways, and there are various good resources depending on what you want to do with it. The main things you need to decide on are: 1. What are you looking to eventually do with your programming ability? Doesn't need to be too specific, but some idea is always good. 2. Do you know what language you want to learn? People have debated endlessly over what's best to start with so it's not something we can really decide for you. That said, we can help point out benefits and drawbacks if you have questions.
 
Unless you've tried learning from a book, video series, etc. already and didn't find it useful, I'd advise against using anything too interactive because I've seen people then have trouble going from those interactive examples to having to write something from scratch.
 
Give us the deets.
I think microsoft has one starting in a week or two, it could be that one.
 
Give us the deets.
Ok. I signed up for a University Interscholastic League, where students meet and compete in different fields(I chose computer science). First are the invitationals, which are in a tradition A-E testing format, testing where you stand on programming. 3/40 :0( Then during the competition, the kids are split into teams where we may do some kind of programming on the computer. I have to urgently learn all about programming by December 13th in order to be at least competent enough to compete with other students.
 
Ok. I signed up for a University Interscholastic League, where students meet and compete in different fields(I chose computer science). First are the invitationals, which are in a tradition A-E testing format, testing where you stand on programming. 3/40 :0( Then during the competition, the kids are split into teams where we may do some kind of programming on the computer. I have to urgently learn all about programming by December 13th in order to be at least competent enough to compete with other students.
Ok then. What platform/language are you expected to use for the competition?
 
We are expected to learn Java.
Not my choice, but at least that gives you some direction. I'll have a quick look and see what resources are out there.

The rules say you're allowed to take textbooks in, so I'd suggest checking your library to see if they've got a copy of "Big Java" by Cay Horstmann. I used the third edition (current at the time) of that when I have to learn Java in 2009, and I think it's good enough as a reference work.
 
  • Like
Reactions: WrestlerGuile
OK, haven't had much joy finding text resources, which isn't helped by Java not being my preferred language. I'd suggest taking a look at this video series on youtube, but it seems to take a while to get going so it might not be to your liking. Another possibility would be to search for something like 'beginning programming java' on youtube or somewhere, but I don't have the time to look through every series to see what ones are good and what aren't.

The other thing to remember is that in addition to learning to program you want to train your ability to solve problems using code (this is the fun bit!). Doing some of the problems at Project Euler might be a good start for that, and I can provide you with other places to find problems as well.

One last thing: Trying to learn to program in 10 days is a little like trying to learn a new language in that time. You might be able to make some decent progress if you really put time into it, but don't expect full mastery in that time.
 
I don't know if anyone has said this before: but take a course. Like sign up or sit in on a a college class on programming, even if you're not in college at the moment.

It really, really, really helps to start at the beginning, learning the abc's. Whether it be programming, or learning any kind of computer program (3d modeling, photoshop, unity, etc.) a legitimate class is unfathomably better at teaching then the inefficient process of scavaging around the internet for bits and pieces of advanced concepts that you can copy and paste together without knowing the basics.

It'll be really unfathomably boring wanting to make games, and being stuck writing little calculator programs every week. But at the end of the course, you can look up how games are actually programmed (either from the ground up, or from a pre-made engine) and see that the basic ideas aren't that far off from what you've been doing. Which is nice if you need a pick-me-up from that awful experience.

(also don't get discouraged if it's too hard at first. You definitely build up more experience and a better feel for things over time. If you completely botch your first try at C++ or whatever, try coming back after taking something easier like Visual Basic or Action Script 3.0 or something. Even html could help.)

If you want to start seeing immediate results after that, try taking what you learned from that class and applying it to a premade game engine like Game Maker/Unity/XNA/etc. Making simple projects as a hobby could give you a good feel for the process of iterative design and trial and error that composes actual game design, as well as help you with programming (it's quite a bit more fun when you get to see actual results that are in line with your interests).
 
Last edited:
Hey, my school district's having an HourOfCode the entire week! I've been looking around for opportunities to learn how to code more seriously, and this is the golden nugget of opportunity I have right in my hands. I did hear about this before and I've been planning accordingly. I'll still watch those watch lectures on Java since that's what the UIL will be testing, although they'll be about 2 lectures per hour.

About building my own program from the ground up, is it like a "So I heard you like to program, so" situation, where you need a program to make your program first?
 
About building my own program from the ground up, is it like a "So I heard you like to program, so" situation, where you need a program to make your program first?
Not sure what you're asking here. For Java you will need to learn to use the Java compiler, which is a program that takes your code (you can write the code with just about any text editor and save it as .java instead of .txt or whatever) and turns it into an executable file (from memory these will be .jar files).
 
There are two types of programming languages.
Compiled languages, such as C++, are converted from human-readable text to machine instructions by a program called a compiler. The result is an exe.
Interpreted languages, such as Python and Java, are read when you use them by another program called the interpreter. In the case of Java, it "compiles" the text file to a format that can be read faster by the Java interpreter. Python doesn't, and you can directly run your text file. In either case, the user of your program needs the interpreter installed on their computer.
 
  • Like
Reactions: mcpeanuts
I just got a class on HTML from my new school teacher. It seems so easy as hell to program with HTML, but it seems so vastly different from programming with C++ or Java or Python.

About the UIL competition, I dropped out because there is honestly no way in Hell I could learn languages in 2 weeks. I should just look for a stable and proper way to learn.

Besides learning HTML, I'm also looking at learning Python to get the basics of languages.
http://www.codecademy.com/

I'm so friggin glad this thread is back!
 
HTML seems way different from those other languages because it is not strictly a programming language, it's a markup language. Its purpose is to tell some other program (99% of the time this will be a web browser) how to interpret the data inside its tags. It's very simple to make a basic webpage with it, but the drawback is that there's no logic you can utilize. You can't say "if A, put this text, or else if B, put this text", it just doesn't have anything in place to accomplish that. To do something like that with a web page, you'd need either a server side language such as PHP or ASP, or a client side one like Javascript.
 
Snip.
That means the term coding does not strictly mean to program? Wow, I never knew that. So while learning in my HTML class, I should still be concentrating mostly on those Python lessons. Hmmm... I knew HTML was a bit easy.

About D, has anyone heard of it? People say it takes the "simplicity" of programming while giving the power of C++.
 
It's true that HTML isn't a true programming language, but it will still teach you a bit about how computers 'think'.

As for D, I haven't used it. I'd stick with something more common to start with, though, and Python is a good choice. In Computer Science there's a concept called 'Turing Completeness', which basically means that with any (decent) programming language you can do anything that another programming language can do, so don't worry about it too much and just get started. There's a million books out there for learning Python from a beginner level; just pick one that looks good and go.
 
  • Like
Reactions: WrestlerGuile
Popping in to watch the thread, I want as many tips as possible before my own projects.

Also, Question for @Mike_Z ; once you learn a coding language, how do you research making your own Fighting Game Engine? I heard you made yours yourself since college?
 
About D, has anyone heard of it? People say it takes the "simplicity" of programming while giving the power of C++.

So I took a quick look at D and it seems to offer new features (and resolve issues with C++) but since you're starting out it's better to learn the basics with an already established language. Plus a majority of companies still use C++,Java etc. there aren't many that use D that I've heard of.
 
Dare I even ask that this become a general thread about game development and programming stuff? I have a project I'd also like to inquire about and most of the people who give a shit about the topic of the thread are already here
 
  • Like
Reactions: WrestlerGuile