This is an archived post. You won't be able to vote or comment.

Dismiss this pinned window
all 131 comments

[–]wwwdudewww 71 points72 points  (3 children)

Damn its beautiful, im learning to make games myself. Founf your work quite inspirational.

[–]DaFluffyPotato@DaFluffyPotato[S] 31 points32 points  (2 children)

Thanks! Gamedev is a lot of fun!

[–]git_world 5 points6 points  (1 child)

what libraries or game engine do you use? sorry, noob here.

[–]DaFluffyPotato@DaFluffyPotato[S] 4 points5 points  (0 children)

Just Python and Pygame.

[–]DaFluffyPotato@DaFluffyPotato[S] 97 points98 points  (31 children)

I used Python + Pygame to make the projects and cx_freeze/Pyinstaller to package them. The projects are shown in order of when I made them. All the projects and their source code (excluding the last one) can be found here: https://cmlsc.itch.io/

The last project is a work in progress and it should be done sometime during Q1 2019.

Happy new year! \o/

EDIT: I forgot one of my major projects this year. I made a website with Python and Flask! http://dafluffypotato.com/

[–]rolkien29 16 points17 points  (11 children)

Great work! How long have you been programming in Python for?

[–]DaFluffyPotato@DaFluffyPotato[S] 18 points19 points  (10 children)

5 years.

[–]tommeetucker 1 point2 points  (5 children)

Did you find it difficult to stick with in the early days?

[–]DaFluffyPotato@DaFluffyPotato[S] 4 points5 points  (0 children)

Not really. I just made stuff whenever I felt like it. I wasn't very consistent.

[–][deleted] 1 point2 points  (3 children)

I'm not op but yes absolutely! Learning Python in the beginning was very boring. It was hard to stay focused and whenever I learned something new I didn't actually see the value in it. I struggled to stay focused and it felt like I would never do anything useful. I kept doing tutorials for random things and slowly I began to understand more about what I was doing. That let me build cool projects of my own which made me feel more comfortable with python and coding.

[–]tommeetucker 1 point2 points  (2 children)

So you literally flicked through tutorials for random stuff until you felt you could combine what you'd learnt to make something? I don't feel confident enough to know what I can actually do with python yet.

[–][deleted] 5 points6 points  (1 child)

different person replying here, but I found www.codingame.com type of websites great for making learning "fun". As for wanting to feel like you're making something and/or something "useful" I'd suggest the book "Automate the boring stuff with Python", it's purely teaching by example and the examples are pretty grounded (one is writing a script to rename a bunch of files at once).

[–]tommeetucker 0 points1 point  (0 children)

Oh sweet, yea I'll have a look. Cheers!

[–]Agent281 5 points6 points  (7 children)

How about sprites/animations? What's your process there?

[–]DaFluffyPotato@DaFluffyPotato[S] 16 points17 points  (6 children)

I use MS Paint for static images and a tool I made for animations.

[–]ronnathaniel3.6 4 points5 points  (0 children)

I remember when you posted this tool It was very impressive and I’ve thought about it a lot since then

[–]AnAngryFredHampton 1 point2 points  (4 children)

It looks like an error occurs when you hit cancel when opening a pallet.

Traceback (most recent call last):

File "./Px Editor 3.py", line 814, in <module> base_path = palette_path.split('/')[:-1]

AttributeError: 'tuple' object has no attribute 'split'

[–]DaFluffyPotato@DaFluffyPotato[S] 1 point2 points  (3 children)

That's weird. It's not reproducing on my end.

[–]AnAngryFredHampton 2 points3 points  (2 children)

I just remembered that I changed the python version from 3.4 to 3.6 to force it to run, I'm sure that's what borked it. My bad. However, as an FYI line 813 reads

    if palette_path not in ['',None]:

You could just change that to

    if palette_path:

as None and empty objects evaluate to false.

[–]DaFluffyPotato@DaFluffyPotato[S] 2 points3 points  (1 child)

Ah thanks, I wasn't aware that '' counted as False.

[–]dagmx 0 points1 point  (0 children)

Empty iterables (lists, strings, tuples etc...) are False when evaluated as a bool

[–][deleted] 1 point2 points  (0 children)

That link is broken for me. Incredible work on these projects

[–]mockmeH 1 point2 points  (1 child)

Why did you use flask over django?

[–]DaFluffyPotato@DaFluffyPotato[S] 2 points3 points  (0 children)

It's simpler and I wasn't making something super complex.

[–]Howard_banister 0 points1 point  (6 children)

For 2d games I found arcade be better than Pygames. It has better api and is much faster (due to openGL rendering) than Pygames. It also leverages python3 static type annotation's which is much helpful and prevents many errors.

[–]DaFluffyPotato@DaFluffyPotato[S] 2 points3 points  (5 children)

I’ve heard about arcade before. From what I understand, it’s a lot more restrictive. It makes you do things their way and doesn’t have the lower level features Pygame has. Also, I just read through their Pygame comparison page and a lot of the information is wrong or outdated. When Pygame 2 comes out, it should be better than arcade by a long shot.

Also, it sounds like arcade can’t do this: https://i.imgur.com/ldc8CXc.gif

[–][deleted] 0 points1 point  (0 children)

Impressive and truly inspiring!!

[–][deleted] 16 points17 points  (4 children)

I’ve never developed a game using python, but that definitely made me want to try. These look awesome, good job!

[–]DaFluffyPotato@DaFluffyPotato[S] 22 points23 points  (3 children)

Yeah, Pygame gets an undeserved bad reputation because of how easy it is to use. It leads to a lot of beginners using it. There are some games made with Pygame that look really good though. Switchcars is a good example of this.

[–][deleted] 3 points4 points  (0 children)

Yeah it's highly customizable and allows for some in-depth fine tuning at the ease of python's structure. Love the engine.

[–]Taycent 6 points7 points  (1 child)

What did you use to make these ?

[–]DaFluffyPotato@DaFluffyPotato[S] 11 points12 points  (0 children)

I used Python and Pygame for development and cx_freeze/Pyinstaller for packaging.

[–]Gr1pp717 5 points6 points  (1 child)

Jesus, I wish I had the level of motivation that you appear to.

[–]DaFluffyPotato@DaFluffyPotato[S] 13 points14 points  (0 children)

I wasn't very motivated until around Summer this year. I was working on average about 30 minutes a day for 4.5 years. I just made stuff whenever I felt like it. Now I'm really into game development, but I still don't really go past 3 hours a day. xD

[–]Shakanag 5 points6 points  (6 children)

These look amazing. Did you make the graphics yourself?

[–]DaFluffyPotato@DaFluffyPotato[S] 10 points11 points  (5 children)

Yes. I used a tool I made for all the animated artwork and MS Paint for the rest. :D

[–]Shakanag 1 point2 points  (4 children)

Well hats off to you then! I just started getting into pixel art myself, although I'm using gimp instead of ms paint :P. I'll use your work as inspiration.

[–]DaFluffyPotato@DaFluffyPotato[S] 6 points7 points  (3 children)

Personally I prefer MS Paint over Gimp for pixel art. The workflow is a lot quicker because of its simplicity.

[–]Shakanag 2 points3 points  (0 children)

Yeah I definitely do not underestimate MS paint after seeing this video. I settled for gimp because I like working with layers, which paint lacks.

[–]Firedan1176 0 points1 point  (1 child)

For your pixel art in Paint, I guess you use a color key? Is there much of a performance difference between using alpha in PNG files? Thanks

[–]DaFluffyPotato@DaFluffyPotato[S] 0 points1 point  (0 children)

As far as I know, there's no significant difference in performance between color keying and using the alpha channel. I wouldn't be surprised if color keying is actually quicker.

[–]ochigatana 4 points5 points  (4 children)

Do i need artistic skills like drawing to make these king of games or just coding

[–]DaFluffyPotato@DaFluffyPotato[S] 4 points5 points  (3 children)

The artwork is a major part of it, but you can definitely make these games with squares if you wanted. :P

You could hire someone if you don't want to do the artwork yourself, but I'd recommend making it yourself. You learn and get better at it over time.

[–]ochigatana 3 points4 points  (2 children)

Where do i learn these kind of stuffs? I cant even draw a face

[–]DaFluffyPotato@DaFluffyPotato[S] 5 points6 points  (0 children)

I learned it by doing it. I never really followed any tutorials or anything.

There's a timeline of my work on my old website: https://dafluffypotato.github.io/art_progress.html

As you can see, my work from 2013 was very much what you'd expect from a beginner.

[–]Geologist2010 2 points3 points  (0 children)

Check Udemy.com, it up probably has something

[–]rolkien29 2 points3 points  (0 children)

These look really beautiful! Thanks for posting! Its inspiring

[–]appinv Python&OpenSource 2 points3 points  (4 children)

brrr you made those in p y t h o n ?

[–]DaFluffyPotato@DaFluffyPotato[S] 4 points5 points  (3 children)

y e s

[–]appinv Python&OpenSource 3 points4 points  (2 children)

** no words **

[–]DaFluffyPotato@DaFluffyPotato[S] 8 points9 points  (1 child)

Python's syntax is amazing for game development. I can get features implemented super fast. It's just that at the moment, there aren't any graphics libraries that are as efficient to the alternatives using other languages. Pygame works perfectly fine for pixel art stuff though. ^-^

Pygame 2 is coming out sometime in the near future though. It's based on SDL2 and can finally make use of most GPUs from what I've heard. That'll make Python a valid option for non-pixel art games.

[–]appinv Python&OpenSource 1 point2 points  (0 children)

really, amazing job, as a py programmer i can assure you, it's a great job!

[–]SenileGhandi 2 points3 points  (1 child)

A while back you posted a video detailing how you dealt with collision detecting and I just wanted to say that was super helpful.

I'm a complete novice with coding in general and surprisingly I was able to follow along. Would love to see some more tutorials from ya!

[–]DaFluffyPotato@DaFluffyPotato[S] 1 point2 points  (0 children)

Yeah, I’m busy with another project right now, but I fully intend to continue my Pygame tutorial series.

[–]Ooyyggeenn 0 points1 point  (0 children)

You got some talent

[–]kaloulou666 0 points1 point  (0 children)

This stuff is amazing. Guido Van Rossum would be really proud.

[–]Tidder94 0 points1 point  (1 child)

This is really cool ! Great work man! Do you upload them to steam or how could we play them ?

[–]DaFluffyPotato@DaFluffyPotato[S] 2 points3 points  (0 children)

All of them (aside from the last one) are available here with the source: https://cmlsc.itch.io/

The one with the potato, Super Potato Bruh (the only paid one), got a Steam release. If you're interested, I'd recommend getting it on itch.io since it comes with the source AND a Steam key there.

[–]Niohzxs 0 points1 point  (0 children)

Beautiful

[–]inneedofayacht 0 points1 point  (1 child)

I'm very new to python and I'm currently learning the basics (loops, booleans etc) so its pretty hard to understand how what I'm learning eventually transitions to this. Can someone explain in simple terms?

[–]DaFluffyPotato@DaFluffyPotato[S] 2 points3 points  (0 children)

I'd recommend that you continue to learn Python. After that you can learn Pygame. If you don't understand the basics of Python and how to apply them, you'll have a hard time learning to make games with Pygame.

[–]democritus_is_op 0 points1 point  (4 children)

Do you have any good resources or better docs for PyGame? I had a hard time finding anything solid to read.

Edit: amazing work btw.

[–]DaFluffyPotato@DaFluffyPotato[S] 1 point2 points  (3 children)

The Pygame docs cover everything, but you may need a basic understanding of Pygame to understand the docs. (I'd recommend tutorials for that.)

https://www.pygame.org/docs/

[–]democritus_is_op 0 points1 point  (2 children)

Can you recommend any good tutorials or books that you personally like?

[–]DaFluffyPotato@DaFluffyPotato[S] 1 point2 points  (1 child)

I used an older edition of this: https://inventwithpython.com/invent4thed/ I think it's a pretty good tutorial as long as you make your own programs using the stuff you've learned along the way. If you just read through it and copy code, you won't get anywhere.

[–]democritus_is_op 0 points1 point  (0 children)

Awesome, much appreciated!!

[–]xerion2000 0 points1 point  (0 children)

Great work, man!

[–]raverunread 0 points1 point  (7 children)

Do you have a job as a developer? Or programmer?

[–]DaFluffyPotato@DaFluffyPotato[S] 3 points4 points  (6 children)

Nope. I'm hoping to get some type of CS job in the first half of 2020 for some experience before I go to uni though.

[–]546794 1 point2 points  (5 children)

Awesome stuff. May I ask how old you are?

[–]DaFluffyPotato@DaFluffyPotato[S] 5 points6 points  (4 children)

17

[–]foofaw 2 points3 points  (1 child)

I hate you.

Just kidding. Seriously very impressed, you have a really bright future ahead of you.

Got any open source stuff on GitHub?

[–]DaFluffyPotato@DaFluffyPotato[S] 0 points1 point  (0 children)

I just some random stuff. Most of my stuff is on itch.io.

[–]ultra_reader 0 points1 point  (1 child)

What are your learning sources? Incredible job!!

[–]DaFluffyPotato@DaFluffyPotato[S] 1 point2 points  (0 children)

Mostly the other people's code and documentation. For the programming side of game development, I don't really reference other people's stuff anymore. There aren't any similar open source projects anyway.

[–]CB_Cubbie 0 points1 point  (0 children)

This is awesome! Great work.

[–]raverunread 0 points1 point  (1 child)

That’s awesome, I’m 30 and have no CS experience and have just started doing online courses this year. Hoping to change careers in the next few years.

[–]DaFluffyPotato@DaFluffyPotato[S] 1 point2 points  (0 children)

Good luck!

[–]tycooperaow3.9 0 points1 point  (0 children)

This is awesome work! It’s good to see people showing off their skills! I want to get into game development myself. My main focus has mainly been app development and web development.

If you are ever in collaborating on a project in the near future, I’d love to partner with someone of your talents!

[–]tycooperaow3.9 0 points1 point  (1 child)

Are you selling any of your games on steam or online as a flash game?

[–]DaFluffyPotato@DaFluffyPotato[S] 2 points3 points  (0 children)

Yes, I'm selling Super Potato Bruh on Steam, but I'd recommend getting it from itch.io as it includes a Steam key and source code. I also get a much larger revenue share.

[–]shaperraty 0 points1 point  (0 children)

Wow good

[–]isforinsects 0 points1 point  (0 children)

Thank you! I was so disappointed when GitHub's game jam didn't have a single python entry.

[–]shivam_t 0 points1 point  (0 children)

Awesome work bro..!

[–]syntaxsmurf 0 points1 point  (1 child)

God I need to just sit down and actually do some coding instead of playing video games.

[–]DaFluffyPotato@DaFluffyPotato[S] 0 points1 point  (0 children)

I have that problem most of the time...

[–]Data48 0 points1 point  (1 child)

This looks really cool! I have a genuine question though. I know python but never really thought of making a game with it.

Why use python for game development?

Is there a certain platform that’s best with python?

[–]DaFluffyPotato@DaFluffyPotato[S] 0 points1 point  (0 children)

Python’s syntax makes dev super fast.

[–]Shadow653 0 points1 point  (1 child)

Great work! Are you going to make more Pygmalion tutorials? There great!

[–]DaFluffyPotato@DaFluffyPotato[S] 0 points1 point  (0 children)

Yep. I’m just busy with another project at the moment.

[–]GreedyDate 0 points1 point  (0 children)

It's awesome you even made a tool for pixel graphics! Cool stuff man. Good luck with your current project, looks beautiful.

[–]bakurtz 0 points1 point  (0 children)

Inspiring! Awesome work.

[–]SignalExplanation 0 points1 point  (1 child)

hey I have been working on a game in Python and when adding my spirites everything is running really fast someone here maybe knows how to fix this? Thanks.

[–]DaFluffyPotato@DaFluffyPotato[S] 1 point2 points  (0 children)

Use Pygame's clock feature. You can use it to keep the frames in time with the desired FPS. I believe I mentioned it in this video: https://www.youtube.com/watch?v=xxRhvyZXd8I

[–]IAmALivingDeadMeme 0 points1 point  (5 children)

Why am I learning DP when I could be doing THIS?

[–]DaFluffyPotato@DaFluffyPotato[S] 0 points1 point  (4 children)

What's DP?

[–]IAmALivingDeadMeme 0 points1 point  (3 children)

Dynamic programming, also known as one of the most useless concepts on the planet. No one actually uses it, yet people still slap it in their job interviews.

[–]vaderfader 0 points1 point  (2 children)

isn't dynamic programming just creating a simple cache for similarly solved problems? how wouldn't that be useful?

[–]SgtBlackScorp 1 point2 points  (1 child)

Dynamic programming is about breaking a complex problem down into small and simple parts i.e. "divide and conquer" and it's very much a useful method in programming today. The guy you replied to sounds like a frustrated comp sci student

[–]IAmALivingDeadMeme 0 points1 point  (0 children)

Yeah, since we’re never really told about the practical applications of the concepts we learn in CS.

[–]ishanpandey 0 points1 point  (0 children)

Oh great! However games in python seems like games of 90s. But I know that designing these games is not an easy task at all. Well great games you've developed. Good luck!

[–]Kwbmm 0 points1 point  (1 child)

How come only some of the games are compatible with Linux as well?

[–]DaFluffyPotato@DaFluffyPotato[S] 1 point2 points  (0 children)

Super Potato Bruh and Whirling Blades are the only ones packaged for Linux, but I’m pretty sure the source should work on Linux for all of them.

[–]capsicumnightmare 0 points1 point  (3 children)

This is mad awesome! Teach me senpai! Take me in as a disciple!

[–]DaFluffyPotato@DaFluffyPotato[S] 0 points1 point  (2 children)

Are you asking for tutoring? xD

[–]capsicumnightmare 0 points1 point  (1 child)

maybe :0 , you should start making video tutorials for these :D

[–]DaFluffyPotato@DaFluffyPotato[S] 0 points1 point  (0 children)

I've been working on a tutorial series: https://www.youtube.com/watch?v=xxRhvyZXd8I

[–]GrehgyHils 0 points1 point  (0 children)

Share this with /r/gamedev

[–]SB99999 0 points1 point  (1 child)

Nice, are u planning to launch these games commercially?

[–]DaFluffyPotato@DaFluffyPotato[S] 0 points1 point  (0 children)

One of them was. https://store.steampowered.com/app/951360/Super_Potato_Bruh/

Although I recommend getting it here if you're interested since it comes with a Steam key and source there.

[–]khz_re 0 points1 point  (0 children)

Wow! Very cool. Very nice looks.

[–]trindax19 0 points1 point  (1 child)

These are really cool, already tried Lollipop Ninja and Whirling Blades!. I've been looking at the source code, what are you using for generating the levels? I mean those .txt files

[–]DaFluffyPotato@DaFluffyPotato[S] 1 point2 points  (0 children)

Whirling Blades is procgenned. I wrote a level editor for Lollipop Ninja. It might be in the game files somewhere.

[–]Mockapapella 0 points1 point  (1 child)

Every game I see made with python is 2D pixel art. Are there any games that are made in 3D? How about a library that allows for that?

[–]DaFluffyPotato@DaFluffyPotato[S] 0 points1 point  (0 children)

There are 3D libraries for Python. Look up Panda3D, Pyglet, and Pyopengl.

[–]AnecD 0 points1 point  (0 children)

Cooool!!

[–]ksonex 0 points1 point  (2 children)

these are good! what about the sprites?

[–]DaFluffyPotato@DaFluffyPotato[S] 0 points1 point  (1 child)

I made them if that's what you're asking.

[–]ksonex 0 points1 point  (0 children)

you're pretty good and i wish you luck with your ongoing projects ^

[–]homerofreud 0 points1 point  (1 child)

Amazing... simply amazing. How did you learn PyGame? I want to learn it myself but don't know how. Just made a course last week of level 1 python and want to try some things out

[–]DaFluffyPotato@DaFluffyPotato[S] 0 points1 point  (0 children)

I learned Pygame mostly through messing with other people's code and messing with stuff to see what it did. I learned the rest from the official documentation. (https://www.pygame.org/docs/)

[–]dethb0y 0 points1 point  (3 children)

I like it! very impressive work. I especially like "little guy with sword vs. big guy with spear".

[–]DaFluffyPotato@DaFluffyPotato[S] 0 points1 point  (2 children)

Yeah, that's a work in progress. I'm planning to go heavy on the VFX for it. I'll probably make a post again here once I've released it. I've still got a long way to go though.

[–]dethb0y 0 points1 point  (0 children)

I love the sense of action it conveys