|
Thread Rules 1. This is not a "do my homework for me" thread. If you have specific questions, ask, but don't post an assignment or homework problem and expect an exact solution. 2. No recruiting for your cockamamie projects (you won't replace facebook with 3 dudes you found on the internet and $20) 3. If you can't articulate why a language is bad, don't start slinging shit about it. Just remember that nothing is worse than making CSS IE6 compatible. 4. Use [code] tags to format code blocks. |
On June 16 2014 15:08 Ghin wrote: I tried learning Python on whatever sites were on the first page of Google. I spent a couple hours every day for 3 weeks and never really got to a point I could do anything except add simple numbers and look stuff up in documentation. Oh, also I can put lots of semicolons and parenthesis in.
To be honest, this thread isn't at all helpful for someone who knows nothing about programming. It's really hard to look through 500 pages and try to guess which of you are bronze league retarded theorycrafters when I have no knowledge of programming to help me decide that. I don't think it was intended to be helpful to noobs, so I'm fine with that.
It seems like none of the sites are focused towards making some simple games, which is what I want to do with it. If I could get to the point where my drawings are up on the screen, I think that might motivate me more. At this point, I don't know if it would be better to keep slamming my head into the wall trying to figure it out or just give up and find some random nob to work with.
If its python you're interested in try pygame.
http://www.pygame.org/
First learn how to render a sprite on screen in the game loop. Then learn how to render a tilemap by loading a txt file. Then learn how to move a sprite on the map using arrow keys. That's what I usually did when starting on any new 2d graphics library.
If this is too difficult try writing a very simple console game in python first and learn how data structures and functions work.
|
Thanks, I'll try it out.
I'm not interested in Python particularly, it just seems to be what people suggest to start with. Of course this could be like the proverbial noob suggesting Protoss because "ezmode 1a race lol ez huehue."
I also tried learning Javascript, which grammatically made slightly more sense to me than Python, and C++ which seems a bit like talking to a pedantic 3rd grade English teacher who pretends not to understand because you used the word 'can' instead of 'may.' C++ seems more likely to cause my computer to explode because I didn't put a semicolon at the end of a line.
|
Sounds like you're up to your eyeballs already, but you could try checking out Flixel. It's a free game library written with action script, although I believe you don't actually need a copy of Flash to use it. I've heard pretty good things about it.
Python is really easy to learn and use. I think that python.org is actually a good resource for picking it up. The Pygame library is definitely usable but a little lacklustre imo.
Game making in c++ is definitely the way to go if you want maximum quality in terms of features and performance, and gives you the most control over your code. All you need is a couple of years to write it and the patience to debug everything.
Javascript is ok, I've used js + html to make simple games before.
|
On June 16 2014 15:41 Ghin wrote: Thanks, I'll try it out.
I'm not interested in Python particularly, it just seems to be what people suggest to start with. Of course this could be like the proverbial noob suggesting Protoss because "ezmode 1a race lol ez huehue."
I also tried learning Javascript, which grammatically made slightly more sense to me than Python, and C++ which seems a bit like talking to a pedantic 3rd grade English teacher who pretends not to understand because you used the word 'can' instead of 'may.' C++ seems more likely to cause my computer to explode because I didn't put a semicolon at the end of a line.
While there are probably easy game authoring tools out there, you might want to consider that things like this require a certain investment of time before you can get to the juicy bits.
We are so used to getting everything on demand that we want something straight away, get used to taking small steps to achieve your goal.
Just go with a really simple console game to begin with. Yes it may not be what you want, keep your goal in mind, and realise that this is just a stepping stone.
Use whatever language you want, if javascript makes sense to you the most then use javascript. Get used to understanding how to write simple algorithms, if statements, working with variables, etc.
If you want to write a simple tile based game, you will need a basic understanding of datastructures. Such as arrays and objects. A decent developer could hack one up from scratch in a day or two, but I would suspect a beginner would take more like a month so just be prepared.
|
Thanks for the advice.
I actually have a copy of Flash, but the GUI makes me want to shove nails into my face. It reminds me of someone making a caricature of a Mac using, left-handed, libertarian, vegetarian hipster. It has so many sliders and menus that could easily be replaced by a 2- or 3-digit number. However, I will say that it is great for animating things. It's really easy when you can select areas of a drawing and put in joints or areas that will bend with a few clicks of the mouse.
I made a simple platform game on Flash but the characters would move through the walls about 20% of the time. I couldn't figure out why that was and the 2 or 3 examples of code I found online did the same thing. I got the feeling that the problem was with Flash and not with my terrible code.
I do want to have maximum quality in terms of features and performance, and I tried downloading a compiler, SDL, and some other libraries to do something with C++. I messed around with some tutorials, but none of them I found were in a style that made sense to me. I did find a really good C++ tutorial online, and I learned some of the grammar and punctuation, but it was geared towards writing console-style programs. It's way too much theory for someone like myself who can barely program a simple calculator.
I think my plan will be to try to make some garbage games with Python first. When I actually understand that, I'll switch to C++ and learn the more complicated concepts like programming for efficiency and performance. C++ seems much more in depth than Python. It seems like I would have to write several lines to do what Python does in 1 line, but the C++ lines would be more accurate. As far as spending my time goes, learning Python first to understand basic programming concepts seems quicker. I imagine I won't spend as much time writing and/or staring blankly at the code while wondering why the program won't start if I go with Python.
|
On June 16 2014 16:29 Ghin wrote: I won't spend as much time writing and/or staring blankly at the code while wondering why the program won't start if I go with Python. You do this even when you have been making your living by programming for years.
If you want to make a "good" game the language isn't really important, in the end you will have to use openGL or DirectX and the majority of your coding will go into that. Python is nice when you want something that is syntactically easy, but for a new programmers the issue is rarely syntax, it is understanding OO and basic alghoritmhs. Just pick something you would like to create and start coding, you will have to delete and rewrite it many many times anyway.
|
Thanks for thoughts about age's method(s) as part of a Person class! It's been helpful!
Obviously, validation is important even in such classes. Is duplication a "necessary evil"? What I mean is this: if you have a method there to check for, say, negatives, that's ok. But what if you need the same check in another class? Do you have to go with a bit of code duplication? It probably concerns a very small fraction of code but I'd like to know if that's the way.
|
On June 16 2014 16:29 Ghin wrote: Thanks for the advice.
I actually have a copy of Flash, but the GUI makes me want to shove nails into my face. It reminds me of someone making a caricature of a Mac using, left-handed, libertarian, vegetarian hipster. It has so many sliders and menus that could easily be replaced by a 2- or 3-digit number. However, I will say that it is great for animating things. It's really easy when you can select areas of a drawing and put in joints or areas that will bend with a few clicks of the mouse.
I made a simple platform game on Flash but the characters would move through the walls about 20% of the time. I couldn't figure out why that was and the 2 or 3 examples of code I found online did the same thing. I got the feeling that the problem was with Flash and not with my terrible code.
I do want to have maximum quality in terms of features and performance, and I tried downloading a compiler, SDL, and some other libraries to do something with C++. I messed around with some tutorials, but none of them I found were in a style that made sense to me. I did find a really good C++ tutorial online, and I learned some of the grammar and punctuation, but it was geared towards writing console-style programs. It's way too much theory for someone like myself who can barely program a simple calculator.
I think my plan will be to try to make some garbage games with Python first. When I actually understand that, I'll switch to C++ and learn the more complicated concepts like programming for efficiency and performance. C++ seems much more in depth than Python. It seems like I would have to write several lines to do what Python does in 1 line, but the C++ lines would be more accurate. As far as spending my time goes, learning Python first to understand basic programming concepts seems quicker. I imagine I won't spend as much time writing and/or staring blankly at the code while wondering why the program won't start if I go with Python.
The problem you have is probably because the character actually did not hit the wall, it skipped right over it. This is a common problem a lot of newish game developers face. Basically between the two frames where the object should have hit the wall, it actually didn't. For example, if a wall is one pixel wide, and a character moves at 3 pixels per frame then there is a high chance that the character will never collide with the wall.
What you need to do is use interpolation. You need to check whether the character should have hit the wall in between frames.
|
On June 16 2014 18:42 darkness wrote: Thanks for thoughts about age's method(s) as part of a Person class! It's been helpful!
Obviously, validation is important even in such classes. Is duplication a "necessary evil"? What I mean is this: if you have a method there to check for, say, negatives, that's ok. But what if you need the same check in another class? Do you have to go with a bit of code duplication? It probably concerns a very small fraction of code but I'd like to know if that's the way.
Use a validation library if possible otherwise create your own for common validations that are flexible. Yes there would be a bit of duplication for every field that needs to be validated, though they should be one liners, I can't think of another way to do it. Unless you want to inherit a class that contains validations for subclass fields but that would be horrible.
You want something like this.
http://guides.rubyonrails.org/active_record_validations.html
|
On June 16 2014 16:29 Ghin wrote: I think my plan will be to try to make some garbage games with Python first. When I actually understand that, I'll switch to C++ and learn the more complicated concepts like programming for efficiency and performance. C++ seems much more in depth than Python. It seems like I would have to write several lines to do what Python does in 1 line, but the C++ lines would be more accurate. As far as spending my time goes, learning Python first to understand basic programming concepts seems quicker. I imagine I won't spend as much time writing and/or staring blankly at the code while wondering why the program won't start if I go with Python. Learning how to use a feature (over)laden and complex language c++ effectively takes years of practice. If you're just looking to make a couple of simple games you're better off sticking with a simpler language and library for it. If you want to take the long road and do anything programming related for the rest of your life though, c/c++ is a good idea even if you don't end up using it in the long run.
|
Does anyone have any experience with Crystal Reports or know of any decent documentation for its Visual Studio plugin? All I want to do is be able to pass it an object or list and have it plug in the properties into a report. I found a 700 page "user's guide", but it didn't contain one bit of code.
:[
|
For messing around with game making without programming background, would it be worth just jumping in with Unity or acquiring a copy of Gamemaker from mysterious sources?
It's probably a lot easier to just start dragging and dropping things where you want it. Eventually you'll get far enough to where you want to implement something that is too complicated/annoying to do with drag/drop, after which you can look into the scripting language and have short term goals for learning. Then you might want to do more, learn more, etc.
(D- theorycrafting)
|
On June 17 2014 17:00 Ame wrote: For messing around with game making without programming background, would it be worth just jumping in with Unity or acquiring a copy of Gamemaker from mysterious sources?
It's probably a lot easier to just start dragging and dropping things where you want it. Eventually you'll get far enough to where you want to implement something that is too complicated/annoying to do with drag/drop, after which you can look into the scripting language and have short term goals for learning. Then you might want to do more, learn more, etc.
(D- theorycrafting)
I find myself more comfortable with Unity, but both unity and gamemaker are fine for beginners. You'd eventually need to start programming ('scripting' is more suitable term btw). There is nothing difficult about scripting as long as you can understand what variables and functions are, which I am pretty sure 5th grader can figure out. You don't necessarily need to dwelve into complicated stuff like classes/interfaces/memory handling. Both engines have free versions, so go ahead try them.
|
On June 16 2014 16:29 Ghin wrote: I made a simple platform game on Flash but the characters would move through the walls about 20% of the time. I couldn't figure out why that was and the 2 or 3 examples of code I found online did the same thing. I got the feeling that the problem was with Flash and not with my terrible code. Slugg already said this but just in case... This definitely wasn't a Flash problem =P I've had the exact same problem many times over with several languages, Python to C++.
|
I'm on and off writing my own rendering engine(mostly off, pixel perfect shadows and, well, shadows in general piss me off). Anyway, for the classes I expose to the engine user I want them to not know anything about the engine itself, because that would show the user internal stuff(for example the light struct that gets copied to the shader, functions that update projection matrices etc).
So far what I've done is create one completely public class that I expose to the user and one internal class for the engine that the user will never notice(pimpl'd away), which is responsible for updating the engine-relevant variables.
Unfortunately that means I have to add a callback to my exposed classes, so that my internal classes also get updated whenever the user changes something.
I'm not very happy with this solution, because the whole double class with callback thing feels messy... do any of you guys have ideas for improvement/a better solution?
|
On June 18 2014 05:48 Ethenielle wrote: I'm on and off writing my own rendering engine(mostly off, pixel perfect shadows and, well, shadows in general piss me off). Anyway, for the classes I expose to the engine user I want them to not know anything about the engine itself, because that would show the user internal stuff(for example the light struct that gets copied to the shader, functions that update projection matrices etc).
So far what I've done is create one completely public class that I expose to the user and one internal class for the engine that the user will never notice(pimpl'd away), which is responsible for updating the engine-relevant variables.
Unfortunately that means I have to add a callback to my exposed classes, so that my internal classes also get updated whenever the user changes something.
I'm not very happy with this solution, because the whole double class with callback thing feels messy... do any of you guys have ideas for improvement/a better solution?
A pseudo-code example might help make it clear what you're doing now, but it sounds like your classes are doing too much. I.e. a "light" class exposed to the user shouldn't contain any code for doing the actual rendering of the light. It should be purely a data structure containing whatever variables are needed, and a lighting subsystem should do the actual rendering.
|
That's what I'm doing, but the internal classes have to know whenever the user changes something in the public class, thus the callbacks. Which I don't like.. the user shouldn't know about that, either.
|
Have you tried the Observer pattern or is this what you mean by "callback"?
|
On June 19 2014 01:41 Ethenielle wrote: That's what I'm doing, but the internal classes have to know whenever the user changes something in the public class, thus the callbacks. Which I don't like.. the user shouldn't know about that, either. But that does not seem to necessitate callbacks. Your description is kind of confusing since the problem you describe and the solution you employed seem to not match. Maybe some clearer description of the problem and some code examples to illustrate ?
|
On June 19 2014 01:41 Ethenielle wrote: That's what I'm doing, but the internal classes have to know whenever the user changes something in the public class, thus the callbacks. Which I don't like.. the user shouldn't know about that, either.
What I described didn't involve internal classes or callbacks, so I think I need a concrete example to understand what you're doing now, and what you're trying to change about it.
|
|
|
|
|
|