• The Entrepreneur Forum | Startups | Entrepreneurship | Starting a Business | Motivation | Success
  1. Join 50,000+ entrepreneurs
    who are kicking butt and
    winning their dream life.

    Unscripted™ Entrepreneurship:
    A Business That Pays More Than Money, It Pays Time.

    "Fastlane" is an entrepreneur discussion forum based on The Unscripted Entrepreneurial Framework (TUNEF) outlined in the two best-selling books by MJ DeMarco (The Millionaire Fastlane and UNSCRIPTED™). From multimillionaires to digital nomads, the forum features real entrepreneurs creating real businesses.

    Download (Unscripted) Download (Millionaire Fastlane)  Register
    Registering for the forum removes this block!

  2. Forum *Official* Book Discussion
    Influence, The Psychology of Persuasion by Robert Cialdini

    The forum has voted to discuss this book. Grab it and let's discuss!
    Buy: Buy | Discuss: Influence: The Psychology of Persuasion(Review | Discuss)

EXECUTION Learning C (Game Programming) Progress Thread

Discussion in 'Progress/Execution Threads' started by SputnicK, Jan 23, 2019.

  1. SputnicK
    Offline

    SputnicK Contributor Read Millionaire Fastlane I've Read UNSCRIPTED

    Messages:
    18
    Likes Received:
    24
    Joined:
    Dec 23, 2017
    Gender:
    Male
    Location:
    Kansas
    Rep Bank:
    $131
    Introduction:
    Hello Fastlane Forum! I am a 19 year who is pursuing a CS degree in college with a particularly interest in game development. As I am a terrible procrastinator, and have read that accountability systems increase the odds of success by 95%, I thought I would start this progress thread. It will outline, in clear terms, what exactly I will be doing, how I will be held accountable for it, and what I plan to achieve from it.

    Background:
    I have been interested in game design since I was a young child. I created this thread because I have gained enough self-awareness to realize I am never going to get serious about it without radical commitment. This thread is my attempt to finally do what I've been too scared to do: actually program games instead of just dream and make pretend about it.

    Requirements:

    As all good challenges require rules, I will define what exactly I plan to do in this thread. In succinct terms, I must write a progress update every Wednesday describing exactly what I have learned and accomplished in game development over the last 168 hour period. In more specific language, I have a written list of requirements that must be followed:
    • I must write a weekly update on Wednesday describing what I have learned and accomplished. If I miss that window, it is evidence I am not serious about this goal and am falling behind on it. I hope if others notice this they will call me out on it.
    • I will focus primarily on game programming in low-level languages such as assembly, C, C++, and C#. As my primary objective is to become adept at programming, much of what I do will be focused around improving adeptness and proficiency in the language. I will also aim to release increasingly complex games and programs however. Look out for these as I will link them in the update thread!
    • The update must be reasonably polished. It should be grammatically correct and include images, links, and formatting so that is easy and entertaining to read. It should be personal enough so that I am honest about the struggle and how I can improve.
    • I will showcase my projects on r/gamedevexpo and itch.io when I deem them completed. The links to these updates will be linked in the appropriate update in the thread.
    • I want constructive criticism and honest feedback! How am I doing? What could I be doing different? Are the updates valuable and insightful? If I fall behind and don't post here, do me a favor and get after me on it. The whole reason this thread exists is to expose myself to rejection and actually act on my word. Not just talk more BS.

    Goals:
    In succinct terms, I want GROWTH. I have been stuck in a rut for a long time and by writing regular updates and gaining momentum I pray to transcend it. I know if I follow the requirements in this thread, I will improve dramatically at programming and will fill the void of uncertainty that has been a constant in my life for years now. This is the first step I am taking on a long journey. The road ahead with be treacherous and dangerous with many pitfalls along the way. But I am OK with that. The struggle is the reward. But that's enough grandiloquence, I will be back with my first update next week!
     
    Last edited: Jan 29, 2019
  2. splok
    Offline

    splok Gold Contributor Read Millionaire Fastlane FASTLANE INSIDER Speedway Pass Summit Attendee

    Messages:
    620
    Likes Received:
    1,021
    Joined:
    Jul 20, 2012
    Rep Bank:
    $6,003
    Do you want to make games or do you want to get better at Java?

    If you want to make games, go download Unity or Unreal and build/release something this weekend.
     
    Eben Frenzel and SputnicK like this.
  3. 404profound
    Offline

    404profound Gold Contributor I've Read UNSCRIPTED Speedway Pass

    Messages:
    1,140
    Likes Received:
    2,307
    Joined:
    Aug 27, 2017
    Gender:
    Male
    Location:
    Desert of Desertion
    Rep Bank:
    $6,399
    Looking forward to this thread! As a noob full stack dev I'm curious how your process will unfold.
     
    SputnicK likes this.
  4. SputnicK
    Offline

    SputnicK Contributor Read Millionaire Fastlane I've Read UNSCRIPTED

    Messages:
    18
    Likes Received:
    24
    Joined:
    Dec 23, 2017
    Gender:
    Male
    Location:
    Kansas
    Rep Bank:
    $131
    Both? I know that is a cop-out answer. I actually took a college course on creating interactive levels in Unity 3D and it is definitely a powerful engine, I assume likewise for 2D.

    I suppose the primary reason I favor a programming language over an engine is that I like to have complete control over the project. I enjoy the process of programming and really understanding how everything works at the fundamental level. Perhaps this is a mistake. I know that a result-oriented approach would favor using an engine that already does most of the legwork, such as Unity 2D.

    In the end, however, my primary objective is to grow my ability to program at a higher level. I believe that in this light using a language is the superior method. I don't want to delude myself into thinking that struggling for the sake of it is a prosperous ideal however so I still might download and work on Unity 2D on the side to learn and experiment from it. If I find it to be superior in every way to programming in Java than I am more than willing to pivot and transition completely into it.

    I hope this makes sense! I definitely have a conflict of interest on this matter and I am completely open to changing my mind.

    Thanks man! I don't have everything figured out now but I hope that these weekly updates will provide some insight into the process of learning programming and game development.
     
    Last edited: Jan 24, 2019
    splok likes this.
  5. lowtek
    Offline

    lowtek Platinum Contributor Read Millionaire Fastlane FASTLANE INSIDER Speedway Pass Summit Attendee

    Messages:
    1,400
    Likes Received:
    4,342
    Joined:
    Oct 3, 2015
    Gender:
    Male
    Location:
    Phoenix, AZ
    Rep Bank:
    $28,448
    OK so you want to know how an engine works, I think that's awesome... but why would you choose Java?

    This is not at all the right tool for the job. For game engines it's C++ or bust. You could even go straight C if you don't want to deal with all the garbage modern C++ introduces.
     
  6. SputnicK
    Offline

    SputnicK Contributor Read Millionaire Fastlane I've Read UNSCRIPTED

    Messages:
    18
    Likes Received:
    24
    Joined:
    Dec 23, 2017
    Gender:
    Male
    Location:
    Kansas
    Rep Bank:
    $131
    I agree with you 100%. In no way is Java ideal for game engines, as prior experiences has confirmed this to me firsthand. The only reason I picked the language is because I am the most familiar with it and have a sort of emotional attachment to it. It helps that I have numerous projects I can use for inspiration so I already have a "proof of concept" when developing my engine framework.

    Those are not great reasons to stick with the language however. I have known I need to branch at some point but I thought it would suffice during these early stages of development. Perhaps it is best for me to move directly to C, although I have almost no experience in it. It also intimidates me that it is not intrinsically OOP. I will think this over and might very well take your advice and transition directly to C or C++ instead of Java now. I am sure in the long-term it offers the superior advantage and that must certainly be factored.

    It is worth noting that "Minecraft" was written completely in Java which gave me some hope, although it gave Microsoft such a headache that they wrote it entirely in C++ for Windows 10. I think that is perhaps a warning sign of what developers think of the language in 2019.
     
    Last edited: Jan 29, 2019
  7. 404profound
    Offline

    404profound Gold Contributor I've Read UNSCRIPTED Speedway Pass

    Messages:
    1,140
    Likes Received:
    2,307
    Joined:
    Aug 27, 2017
    Gender:
    Male
    Location:
    Desert of Desertion
    Rep Bank:
    $6,399
    Or you could go Rust, which I hear is a happy medium. Although Unreal runs C++ and Unity runs C#
     
    SputnicK likes this.
  8. lowtek
    Offline

    lowtek Platinum Contributor Read Millionaire Fastlane FASTLANE INSIDER Speedway Pass Summit Attendee

    Messages:
    1,400
    Likes Received:
    4,342
    Joined:
    Oct 3, 2015
    Gender:
    Male
    Location:
    Phoenix, AZ
    Rep Bank:
    $28,448
    Every programmer should learn C. You will learn an enormous amount about how computers work, how to write efficient code, and how to think about algorithms clearly.

    OOP most often leads to spaghetti code, and is little better than the goto messes you would see in the BASIC era. You're unfortunate to have grown up in the era where OOP is the paradigm du jour, so you can't really think outside of that box, yet.

    If you want to be a badass programmer, you're gonna have to learn about procedural as well as functional programming. The different paradigms have their applications in different arenas, and there's no better place to start than procedural programming and C.

    Please note that this advice only really applies because you're really young. You have plenty of time to develop this skillset, and it will pay massive dividends in the future. At least, until AI replaces programmers ;)

    If you were mid thirties, and just getting started with programming, the advice would be totally different.
     
    SputnicK and jon.M like this.
  9. Smuggo
    Offline

    Smuggo Bronze Contributor Read Millionaire Fastlane I've Read UNSCRIPTED

    Messages:
    74
    Likes Received:
    116
    Joined:
    Apr 13, 2018
    Gender:
    Male
    Rep Bank:
    $621
    I can't agree with that. It might be true that you can learn some basics how computer works, but you could also read some books. And how to write efficient code? Tons of people who started with C are making horrible code to read. And if they are trying to move to OOP it's getting even worse. I don't know. It might be just me but I think that "You have to learn C to code" is outdated.
     
    SputnicK likes this.
  10. loop101
    Offline

    loop101 Silver Contributor Read Millionaire Fastlane I've Read UNSCRIPTED Speedway Pass

    Messages:
    598
    Likes Received:
    910
    Joined:
    Mar 3, 2013
    Rep Bank:
    $381
    If you like working on games engines, work on game engines. Whatever engine you work on, use it to make games. Godot is a pretty good FOSS game engine. After you graduate, you could work for a company that makes commercial game engines, or work on your own games.
     
  11. lowtek
    Offline

    lowtek Platinum Contributor Read Millionaire Fastlane FASTLANE INSIDER Speedway Pass Summit Attendee

    Messages:
    1,400
    Likes Received:
    4,342
    Joined:
    Oct 3, 2015
    Gender:
    Male
    Location:
    Phoenix, AZ
    Rep Bank:
    $28,448
    Reading books doesn't mean you understand how computers work any more than it means you understand how businesses work. Some things can only be learned with experience... that includes (especially) programming.

    Efficiency doesn't mean readable, efficiency means... efficiency. As in, does the job with the least amount of resources in the fastest time possible. Besides that, most programmers write really unreadable code. This is independent of language choice.

    As far as the OOP comment, I don't know what you're trying to say. For most people, OOP inherently leads to spaghetti code, so arguing that going from C to OOP languages makes readability harder... well no kidding. It's a facet of how most people misinterpret OOP. Not everything needs to be a class, and sometimes it's OK to repeat yourself.

    You don't "have to learn C", and nowhere did I say that.

    If you want to be a code monkey, you can just stick with Javascript and call it a day. Nothing really wrong with that, and you can make a good career out of taking advantage of what other people create.

    If you want to push the boundaries of software and create tools to build the next generation of stuff, you're gonna need low level languages. In that realm, C is king. There's a reason pretty much every other (modern) language, and operating system, is built on top of it.

    The OP said he wanted to understand things at a deeper level, and actually program things himself. The entire point of high level languages is to keep that deeper understanding obscured from the programmer. He would be far far better off just using Unity and making a game, rather than trying to "learn how games work" by using a language that is found in a minute fraction of games.
     
    SputnicK and Smuggo like this.
  12. Smuggo
    Offline

    Smuggo Bronze Contributor Read Millionaire Fastlane I've Read UNSCRIPTED

    Messages:
    74
    Likes Received:
    116
    Joined:
    Apr 13, 2018
    Gender:
    Male
    Rep Bank:
    $621
    Yup, I've misunderstood 'efficienty'. I guess I have to remind myself some of the english words, because I took it as granted. Sorry for that.

    Also with "have to learn C". You said every programmer should learn C. I've heard a lot from old guys "You are no a real dev if you don't know C". It's just something that I don't agree with. To speak in some languages do I have to learn latin? No. Although it makes you easier to learn new. C language is showing all gut of programming and if you want to get deep into computer knowledge, maybe it's the right course, but if you want to make awesome websites, SaaS, microservices or w/e it's useless since you have to learn tons of stuff around that (frameworks ect.) and it's enough to make awesome things.

    About GameDev, at least on PCs, I would go with C++ since it's still the most common used language to code games. Of course there are more things that need to be included but you can check some jobs offers and see what they require.
    Anyway mastering one language doesn't make you code monkey :smile2:.

    If you want to master coding, going with C is a good idea and I agree with Lowtek. I've understood it like you want to focus on creating games in Java that's why I said learing C is useless.
     
    SputnicK and lowtek like this.
  13. SputnicK
    Offline

    SputnicK Contributor Read Millionaire Fastlane I've Read UNSCRIPTED

    Messages:
    18
    Likes Received:
    24
    Joined:
    Dec 23, 2017
    Gender:
    Male
    Location:
    Kansas
    Rep Bank:
    $131
    I have decided to follow your advice here since I believe the reasoning is solid. I just watched a 45-minute video explaining why in most instances Object-Oriented Programming is bad and I came away pretty damn convinced. It is obvious to me now that programming in higher-level languages such as Java is not a long-term solution and if I ever want to fundamentally understand programming I need to learn a lower-level languages in the C family such as C, C++, or C#.

    It is worth noting that I will struggle for a length of time as I am moving into entirely foreign territory with procedural programming. I have lived my entire life programming in OOP. I have read numerous books and programmed all my projects using roughly its orthodoxy of classes, objects, encapsulation, ect. so it will be the definition of a paradigm shift for me to transition to a lower-level where most of that mostly taken away and I have to deal with problems such as pointers and memory management. I am willing to risk it however because I can't stand the thought of not understanding it. I feel like otherwise I am remaining ignorant and in the dark about the intricacies of programming, and that is where the real magic happens after all.

    If I may ask, do you have recommended tutorials for learning C? Any books you recommend, knowing that programming cannot be taught but only experienced? I have found a few solid resources such as w3schools and Tutorials Point (which I use for almost everything programming related). I would like to thank you for all the sage advice by the way I sincerely appreciate it.
     
    Last edited: Jan 24, 2019
    lowtek likes this.
  14. splok
    Offline

    splok Gold Contributor Read Millionaire Fastlane FASTLANE INSIDER Speedway Pass Summit Attendee

    Messages:
    620
    Likes Received:
    1,021
    Joined:
    Jul 20, 2012
    Rep Bank:
    $6,003
    Just wanted to say that I wasn't implying that this path was bad. I just meant that if you get really clear about what you're going for, you'll have a much easier time getting there. Making games and making game engines might be related, but they're not really the same. Similarly, being a better programmer and being a better game-engine programmer aren't necessarily the same either.

    Another line of though: Is your end goal to just work on your own projects? For fun, or do you want to make a living doing it? Or do you want to work for a game company? Doing what? All of those would would likely put you on pretty different paths. (Also, programmers can bicker about languages forever. Solve it pragmatically. Find people who do what you want to do, and see what they use. Or find job listings doing what you want to do, and see what they require.)
     
  15. lowtek
    Offline

    lowtek Platinum Contributor Read Millionaire Fastlane FASTLANE INSIDER Speedway Pass Summit Attendee

    Messages:
    1,400
    Likes Received:
    4,342
    Joined:
    Oct 3, 2015
    Gender:
    Male
    Location:
    Phoenix, AZ
    Rep Bank:
    $28,448
    A good introduction is "The C Programming Language" by K&R. It's a bit dated, but it's the seminal work on the topic. These are the guys that developed Unix. You can always go from that to the more modern standards and topics.

    Alternatively, I've heard good things about 21st Century C. It conforms to the more modern standards and includes material on databases and web servers, etc.

    Just so I'm clear, C isn't the end all be all of programming languages (every programmer should know several, anyway). It's the stepping stone to learn the fundamentals (data structures, pointers, memory management) of computer science and engineering, without worrying about all the complexity and overhead of C++.

    Don't get too drawn in by books. Just learn the basics and then start trying to grok a real code base. You can check out the Quake or Doom source code on github to see what real games (cutting edge for their time) looked like.

    Once you have a foundation, switch to something like C++, which is the language du jour for modern engines. You'll be able to pick and choose which features you need, because you'll understand why they were implemented.

    As @Smuggo alluded to, always be sure to write high quality code. Publish it to a public form like github, and be sure to build a portfolio and a name for yourself within some programming community. Network with other great programmers, and seek out opportunities. Maybe game development works out, maybe it doesn't. But if you follow this approach, you'll be 22 with a really solid jump start on creating a business with other kick a$$ devs, or getting a solid job to spring board your entrepreneurial aspirations down the line.
     
    SputnicK, JScott and jon.M like this.
  16. daru
    Offline

    daru Bronze Contributor Read Millionaire Fastlane I've Read UNSCRIPTED Speedway Pass

    Messages:
    166
    Likes Received:
    277
    Joined:
    Feb 11, 2017
    Gender:
    Male
    Location:
    Earth
    Rep Bank:
    $1,197
    Interesting, done some work in Rust but not games (web dev). But found this: Are we game yet? - Rust
     
  17. Everyman
    Offline

    Everyman Get To The Choppa! Read Millionaire Fastlane I've Read UNSCRIPTED FASTLANE INSIDER Speedway Pass

    Messages:
    175
    Likes Received:
    313
    Joined:
    Dec 31, 2015
    Gender:
    Male
    Location:
    Ireland
    Rep Bank:
    $660
    Hey SputnicK

    there is a lot of interesting 'tricks' under the requirements heading. Put in the effort and you should learn a lot.

    What would be your goals in terms of 'the fastlane' here, if you can share it with us?
     
  18. srodrigo
    Offline

    srodrigo Bronze Contributor Read Millionaire Fastlane I've Read UNSCRIPTED Speedway Pass

    Messages:
    177
    Likes Received:
    227
    Joined:
    Sep 11, 2018
    Gender:
    Male
    Rep Bank:
    $1,223
    Hi @SputnicK , happy to hear that we've got another game dev on board. It's amazing that you are taking action at 19.

    Learning how to make (and design) games is different to learning game programming. Make sure you are sure about what you want to learn. I would advice to use Unity or Game Maker for the former, and something lower level for the later, although if you are a relatively new programmer, I'm not sure I would go for C/C++ for now. There are also different areas of game programming, mainly engines and gameplay, and they require different skills.

    OOP is not a great fit for video games, where you want to use Data Oriented Design for efficiency (look it up if you are curious, but don't worry for now), but you can still learn the basics of game programming in any language, so I wouldn't discard Java or C#.

    May I suggest something simpler like Lua? There is a nice little framework called love2d, if you want to avoid the high level that an engine gives you but keep your sanity by not trying to learn both game programming and a low level language at the same time. A framework provides you with a game loop and some functions to draw, handle input, etc. You still need to code your game logic, and can even create an engine on top without getting overwhelmed by so much low-level stuff.

    There are other things you your use, like Python, if you want to focus on gameplay, but I'd choose Lua, which is used in professional game programming as well. I would personally leave the lowest level stuff for later, unless you are 100% sure you want to become an engines programmer and don't really care about making actual games.

    Definitely DO NOT START WITH RUST. While Rust is something to keep an eye on in the future, Rust is a very difficult language to learn. It mixes functional programming (which is a big milestone by itself) with good memory handling patterns, which sounds great in paper but once you pull your hair out by such a strict compiler that doesn't let you make (almost) any mistakes, you might get frustrated and demoralised. It will add too much friction to your game programming learning. Leave it for when you pick C++ and get tired of a messy language that also lets you shoot your own foot too much. Rust will teach you how to manage memory and safe concurrency, which is important for modern video games. But, by all means, don't start with Rust, you'll have too much on your plate.
     
    tuko, Rabby and lowtek like this.
  19. Ravens_Shadow
    Offline

    Ravens_Shadow one foot in front of the other Read Millionaire Fastlane I've Read UNSCRIPTED FASTLANE INSIDER Speedway Pass Summit Attendee

    Messages:
    772
    Likes Received:
    3,032
    Joined:
    Oct 2, 2012
    Gender:
    Male
    Location:
    Cary, NC
    Rep Bank:
    $18,541
    Hopefully you aren't suggesting to release something to sell.

    My suggestion, if you go UE4, learn C++. If you go Unity, learn C#. Forget the other languages for now. If you want to learn the future, look up Odin. It's what we are now using for our middleware that we sell to AAA game studios. Though it wont be mainstream for quite some time i'm guessing.
     
    Rabby, lowtek and jon.M like this.
  20. Raoul Duke
    Offline

    Raoul Duke Call it. Read Millionaire Fastlane I've Read UNSCRIPTED Speedway Pass Summit Attendee

    Messages:
    1,312
    Likes Received:
    4,668
    Joined:
    Feb 26, 2016
    Gender:
    Male
    Rep Bank:
    $9,424
    ...
     
    Last edited: Jan 25, 2019
  21. JScott
    Online

    JScott Legendary Contributor FASTLANE INSIDER Speedway Pass LEGENDARY CONTRIBUTOR

    Messages:
    3,837
    Likes Received:
    6,293
    Joined:
    Aug 24, 2007
    Rep Bank:
    $44,607
    Just my $.02, but completely agree with this...

    If you're going to go down the development path, having at least a cursory understanding of C will provide you understanding of a lot of things that programmers should, but don't, understand.

    Better yet, get familiar with Assembly coding, and you'll really start to understand the basic concepts of how to code efficiently. Things like processor control, memory cycles, low level threading, race conditions, pointers, controlling the stack, etc. I don't know many good application developers who don't have a detailed understanding of these things (whether or not they actually program in C, Assembly or a higher level language).

    I'm not saying you should become an Assembly or C developer, but at least understand all the features and hooks these languages expose. You can't do that without understanding how the internals of a machine work, so this will force you to gain a better understanding.

    After that, learn to program a game loop in C and write a couple really basic games (don't even have be graphics related). Once you learn the basics of how the machine works and the basics of game loops, the rest of the decisions you make around programming languages really won't matter; you'll be able to move from one language (or platform) to another with relative ease.
     
  22. splok
    Offline

    splok Gold Contributor Read Millionaire Fastlane FASTLANE INSIDER Speedway Pass Summit Attendee

    Messages:
    620
    Likes Received:
    1,021
    Joined:
    Jul 20, 2012
    Rep Bank:
    $6,003
    Imo, the selling isn't the important part at this stage, but there are lessons to be learned from releasing that quickly that most aspiring game developers never learn. A few examples:
    • intelligently scoping based on incredibly limited resources
    • focusing on what really matters instead of getting stuck in endless timesinks
    • the value of getting your game in the hands of users
    • actually going through the process and pushing the launch button
    However, just for argument's sake, if you took two equivalent noob/aspiring game devs and had one work for one year on his first project and had the other release one game per week for a year, both starting with the full intention of releasing and monetizing their products, I would put my money on the guy with the 50 game portfolio every time. Many would clearly be micro-projects, and early on, they would likely be pretty terrible, probably interactive toys at best, but that's a lot of reps. On the other hand, the typical case of the one year project is that it never gets released at all.

    This is specifically about game devs of course, but I would make the same argument for general entrepreneurship too.
     
  23. loop101
    Offline

    loop101 Silver Contributor Read Millionaire Fastlane I've Read UNSCRIPTED Speedway Pass

    Messages:
    598
    Likes Received:
    910
    Joined:
    Mar 3, 2013
    Rep Bank:
    $381
    If you want to make games that you will market yourself, your greatest asset will be your *brand*, not technical wizardry. Technical wizardry is great if you have it, but a fun game does not have to have it. If you want to get a job making games, then technical wizardry will be a prerequisite.

    I would suggest making a simple game with an interesting theme. Make it in HTML5, and you could be programing it within a week, and releasing it in 2 months. The technical wizardry route could take you *years* to release a game. The Game Dev Underground game makes a living making small HTML5 games, he has 0 wizardry. He did use to work in marketing, and understands it well.

    I know some people in the game industry. They were always gamers first, computer people second. They are far more interested in a game's emotional beats than its frames-per-second. Constraining yourself to a simple tool will force you to focus on the game elements, rather than the technical elements. If you consider game design first, you may find whether you like programming games, or programming difficult problems.

    Back in 2013, a TV show gave a pro filmmaker two Barbie Cam Girl dolls, to see how good a short he could make with them. Using one to film, and the other star in it, he made "Bad Day Barbie!". Candy Crush is a clone of the 2001 web game Bejeweled. Game engines like TWINE (text adventures) and Phaser (2D HTML5) are very simple, and allow you to start making games quickly. More creativity, less wizardry, is a viable path.

    I mention this in case you primarily want to make games as soon as you can, and many of the suggestions here might require a lot of learning before you will be competent in them.

    Game Dev Underground:

    View: https://www.youtube.com/watch?v=RRT4XFtHbTU


    Zenva Phaser 3 Course:

    View: https://www.youtube.com/watch?v=eN4hr8Vum-4


    Barbie Cam Short:

    View: https://www.youtube.com/watch?v=HrOwLLAp6Wk


    Barbie Cam Making Of:

    View: https://www.youtube.com/watch?v=9VS3C183G8g
     
    Jack Hammer and splok like this.
  24. SputnicK
    Offline

    SputnicK Contributor Read Millionaire Fastlane I've Read UNSCRIPTED

    Messages:
    18
    Likes Received:
    24
    Joined:
    Dec 23, 2017
    Gender:
    Male
    Location:
    Kansas
    Rep Bank:
    $131
    Update Thread 1/23/19-1/30/19 (WK1):
    Back with my first update! I am sorry I have not responded to everyone, I sincerely appreciate all the feedback. It has been very valuable to me, all of it. As I said in my earlier post, I have decided to focus on learning C as I believe that it teaches fundamentals of programming methodology in a way that will be foundational to utilizing higher-level languages later down the road. At that point I can upgrade to something better oriented for long-term development. With that said, I have my central efforts below listed:

    1) I watched and took notes on lecture 1, 2, 3, and 4 of this Stanford lecture series on "Programming Paradigms" centered around the language C. This has been valuable to me as the professor explains how C operates from the smallest element of memory management. I would be lying if I said I understood all of it, but I understood enough to get the basic meaning behind most of what was covered. This has been a valuable asset and I plan on continuing it.

    2) I began writing a text adventure (brilliant idea I know) in C using an online compiler called OnlineGBD. I wish I could say I finished it but I am still struggling with writing modular code and using pointers and proper memory management. I also just realized that I basically need to learn the proper algorithms around implementing decision trees as that is basically what a text adventure is as the player decisions scale exponentially and become more and more convoluted. Here is the code, look at it if you must, but I have yet to really get anywhere with it.

    3) I have started to reference and read through the excellent C resource on Tutorials Point. It, along with Stack Overflow, has helped me numerous times in explaining basic concepts (such as copying char arrays and using pointers correctly, for example). There is an adage that "Google already has answered all your questions" and that holds true for me 98% of the time when debugging or problem-solving. I plan to hone in on actually applying knowledge by working on projects and using these resources when things don't go as planned (and things never go as planned).

    Plan for next week 1/30/19-2/6/19:
    I would like to watch four to six more lectures on the Stanford series, but focus less on understanding everything and more on getting an idea of the basic methodology being presented. I think I am trying too much to memorize how everything works, when really I should focus on learning the basic idea and refresh myself on the concept if and when I need to implement it in a project. I also aim to have my Text Adventure project roughly completed, implementing modular code, a scalable algorithm, with combat and a few addition interactive elements if possible. I think I will post it on r/reviewmycode to get feedback once it is completed. Last of all I plan to continue looking through code examples and guides on Tutorials Point. As I said it an insightful reference manual.

    I hope I am making the right first steps here! I will back with another update next week on 2/6/19. As always, I am open and eager for honest feedback. : )
     
    Last edited: Jan 30, 2019
    loop101 likes this.
  25. SputnicK
    Offline

    SputnicK Contributor Read Millionaire Fastlane I've Read UNSCRIPTED

    Messages:
    18
    Likes Received:
    24
    Joined:
    Dec 23, 2017
    Gender:
    Male
    Location:
    Kansas
    Rep Bank:
    $131
    Update Thread 1/30/19-2/6/19:
    I have been struggling to no end. The lecture series I have been following is starting to go over my head. And I am not doing so well on my first project in C. In more detail below:

    1) I watched lecture 5, and 6 of the Stanford lecture series. The professor is going into detail on topics such as linear search and the stack, which are things I probably shouldn't attempt to tackle yet. I wasted a few days trying to understand these lectures, to little success. It's hard for me to take interest, my eyes just glaze over watching this series at this point. I take the L for this one.

    2) I decided the best way to learn how to create a proper text adventure was to follow a tutorial, and I found this one which I've about halfway completed. I think text tutorials suit me more than formal lecture series, to be honest. You live and learn. I am going to use what I learn from this tutorial series to actually create a finished project. (hopefully) I am tired of just consuming content instead of creating it.

    Plan for next week 2/6/19-2/13/19:
    I did not make the progress I desired this week. Not going to sugarcoat it. I think I got too caught up in passive consumption instead of active creation. But I have a short attention span. I like to create things more than just learn about them. I tried this week to just follow tutorial series but quickly became bored. And instead of pivoting I just tried to persevere through it.

    I think next week I need to focus 100% on programming. No lecture series. No BS. Just learning and fooling with code. And hopefully I can finish something, however small or insignificant. I am embarrassed how much time I wasted this week. I had some personal issues to resolve and that was part of the problem. Expecting next week to be different, for my sanity if nothing else.
     
    lowtek likes this.

Join 1000s of entrepreneurs who are rewriting life's script and winning financial freedom.

---- ----

You must be a member to join the conversation.

Create Account

Join the community fast and easy!

REGISTER

Log In

Already have an account? Login here.

LOG IN

Share This Page