Video Game Design/Developers

 View Only
Expand all | Collapse all

Entry Course Suggestions

  • 1.  Entry Course Suggestions

    Posted 05-11-2023 10:36 AM
    Edited by Austin DeLoach 05-11-2023 11:23 AM

    Hey all! I'm heading up the game development pathway (3 course sequence) at a high school in Dallas. I'm the only one teaching levels 2 and 3, but there's another teacher who has a section of level 1.

    Levels 2 and 3 are all Unity and C#, but the other teacher who has a section of Level 1 doesn't have any programming experience. I'm trying to figure out how to make that course helpful as a lead-in to the higher levels without making it programming heavy. At Level 1, most students also don't have exposure to programming unless they are also taking AP CSP with me at the same time.

    The plan for Level 1 right now is to have a bunch of design ideas, pixel art and animation, and an intro to making low poly assets (either in Blender or Kenney's Asset Forge - undecided at the moment.) This year, their last project was to make a simple game in Microsoft's MakeCode Arcade and some are figuring it out, but the other teacher isn't able to provide much debugging help.

    I'm debating on what would be the most valuable in that course as far as an entry game design class with low code requirements would go. Keep doing MakeCode (with block code)? Try a low/no code engine like GDevelop? Or just get them playing in the Unity editor, but not intro C# yet? I'd love it if they could make something to practice the design ideas without having coding be a wall that early in.

    If anyone has feedback or experience with any of those ideas, I'd love to hear them! Thanks!



    ------------------------------
    Austin DeLoach
    New Tech HS
    Dallas, TX
    ------------------------------



  • 2.  RE: Entry Course Suggestions

    Posted 05-11-2023 11:21 AM
    The big advantage with Unity is it is open ended.  You can do almost anything with it.  The disadvantage with Unity is it is open ended.  There is so much it can be overwhelming.  I like Unity because anything I can think of I can do.  I am looking at doing a movie making course next year.  Unity is a great tool for this.  2D game? No problem.  VR? No problem.  You can do quite a bit without having to teach coding.  I do a Rube Goldberg/Dominoes falling over assignment as an intro.  No coding.  You can even get multiple cameras involved using Cinemachine.  Again no coding.  If line coding is scary there is a drag and drop language for Unity.  I have never used it but there are a lot of tutorials out there about it.  (https://unity.com/features/unity-visual-scripting)

    --
    Garth Flint
    Computer Science Teacher
    Loyola Sacred Heart High School
    406-531-7497





  • 3.  RE: Entry Course Suggestions

    Posted 05-11-2023 12:14 PM
    I think there are three basic ways you could go about this.

    1. You could do a analog design course (this is what I do). Doing this let's your students deal with the underlying math and psychology of game design before getting to the programming stuff. My logic has always been doing tabletop design as the intro provides the lowest barrier to entry for students, opening the tent as wide as possible because you need "art kid" every bit as much as you need "programmer kid" and certainly more than you need "gamer kid".

    2. You could do some sort of intro to computer science course to smooth over that initial speed bump.

    3. You could do digital art (I do this as my concentrator course). Basically build a digital art class around making game assets. My students spend a quarter doing pixel art/vector art stuff, the other quarter doing blender.





  • 4.  RE: Entry Course Suggestions

    Posted 05-11-2023 09:10 PM

    Code.org's gamelab is really quite good as far as a simple javascript game engine goes. It is block based and allows you to type in code if you prefer. The main reason to consider it is because it has a full suite of lessons that really build up understanding if students are paying attention (and each is simple enough that the inexperienced teacher could run through the next days lessons to prep quite easily). An up/downside is that it is actually pretty low level, meaning students really interact with the game loop. It also has a built in sprite editor. Another downside is that beyond the lessons, there isn't a big youtube tutorial base for other things students might want to make in it (its all possible, but they kind of have to come up with it on their own or look at similar projects in p5.js or processing)

    It has relatively low jankiness (if a student wants to create 100's of sprites or 1000's of lines of code, it can get a bit slow, but besides that is quite solid).

    Less programming inclined students can get a lot out of it and the more programming inclined will start running circles around your teacher!

    Its a part of CS Discoveries but it looks like there is also a standalone version too https://studio.code.org/s/csd3-virtual



    ------------------------------
    Jacob Jarecki
    Computer Science/Game Design Teacher
    San Diego Unified School District
    ------------------------------



  • 5.  RE: Entry Course Suggestions

    Posted 05-12-2023 05:29 PM

    Just to piggyback on this, if students enjoy the JS game development method, Kaboom.JS might be another route. It's a JS programming library that is intended to be fast for development. Here is an introductory video tutorial from FreeCodeCamp. 

    Another option would be to use simple engines like Twine or Bitsy. They're quite easy to get a game started and can yield some interested results. There were a few Bitsy games that my students made that were really good (Jon is Bored and Ant Game).



    ------------------------------
    Anthony White
    Top of the World CSTA Vice President
    CS/Game Dev - Kodiak High School
    Kodiak, AK
    ------------------------------



  • 6.  RE: Entry Course Suggestions

    Posted 05-12-2023 10:35 AM

    In the early years of my program I would use Scratch/Code.org to teach programming basics using blocks before jumping into Unity. This occurred near the end of 2nd semester of my board game class to prep them for the video game classes the following school year. That just led to students complaining about the jump in difficulty and wanting to stay in Scratch. It was very annoying.
    So now I only show them Unity. We use Unity to do some art projects in the board game class (which has gotten a lot better since Unity rolled out ProBuilder) so students can familiarize themselves with the interface before jumping into programming the next year. This has worked much better in my experience.



    ------------------------------
    Wesley Jeffries k12teacher
    Riverside CA
    ------------------------------



  • 7.  RE: Entry Course Suggestions

    Posted 05-12-2023 10:50 AM
    I do a Rube Goldberg/Dominoes fall over type exercise for my intro class.  No coding, just rigidbody stuff.  The kids have a blast building things.  It gets them familiar with the GUI and Asset Store.  I throw in a spinning object requirement and a Cinemachine camera.

    --
    Garth Flint
    Computer Science Teacher
    Loyola Sacred Heart High School
    406-531-7497





  • 8.  RE: Entry Course Suggestions

    Posted 05-15-2023 07:48 AM

    Austin,

    You might want to borrow some or all of the Exploring CS curriculum (developed in California by UCLA, I think?).

    I use about 50% of it to teach my intro computer science course for my "no coding experience" students:
    For Teachers & Districts

    Exploring Computer Science remove preview
    For Teachers & Districts
    Our PD ProgramAs we have seen in ongoing research, effective teacher learning requires multiple professional development sessions over time, with lots of opportunities to grow and reflect. Summer 1...
    View this on Exploring Computer Science >


    My school is project based learning and I usually run the following projects and activities:
    Fall
    - Personal Choice: Lego Mindstorm EV3 with RobotC Project (new Spike is really nice, too)
    - Computer Buying Project (shop for 4 appropriate devices for a client)
    - Basic Binary Number Activity
    Spring
    - Personal Choice:  HTML/CSS Website design Project
    - Field trip to local community college CS department
    - Artificial Intelligence / Machine Learning Activities

    Hope that helps. Feel free to reach out if you are interested in any of the project documents I have created.

    Jerry



    ------------------------------
    Jerry Huang
    Sacramento CA
    ------------------------------



  • 9.  RE: Entry Course Suggestions

    Posted 05-15-2023 11:17 AM

    I'd be concerned about students going from no programming background to suddenly jumping into C# for game development. My initial response to this is push (without overwhelming) the other teacher to having some sort of programming content that is low level (either drag and drop or a really compact set of commands/functions). It doesn't necessarily have to be game development related if it's teaching problem solving and communication (2 things that are deeply embeded in Game Development).
    I'm a fan of the idea of utilizing Microft's MakeCode Arcade, or even Code.org's Game Lab or App Lab. Other suggestions that get a lot of flack but aren't bad options include scratch (I recently saw a book specifically about developing games in Scratch) and its other drag-and-drop style equivalents. Typically I suggest Gamemaker because I love it, but I'll be the first to admit that for someone without coding experience, it can be overwhelming, but it does have a drag-and-drop coding option.

    As a non-game dev option (and one I'd highly encourage), I'd suggest looking into VEX VR's online robot programming website. The programming can be done in drag-and-drop, python, or C++ and the commands are really simple (because the robot is really limited on what it's able to do). The robots are virtual and have many different stages they can move around in. If the goal is to learn basics of problem solving and programming with the smallest learning curve and relatively easy debugging, this would be what I'd recommend. Doing something like this for just a few weeks would give the opportunity to talk about how programming would fit into game development because just like you have to code the robot to move around the room, you'll have to code your objects in a game to move around too.

    The one other thing I feel is important to mention is that introductory level classes can make or brake programs and if you aren't teaching them, you're relying on someone else to do a good enough job at what they're doing that students will want to stay in the program. That's a big responsibility to pass off to someone else. Additionally, you need to communicate well to the person feeding students into your classes what you expect students to know coming in. If there aren't any expectations, no worries then, but if you expect students to have some experience with coding, this needs to be something your introductory teaching begins gaining experience with a.s.a.p.



    ------------------------------
    Judson Birkel
    Salem OR
    ------------------------------



  • 10.  RE: Entry Course Suggestions

    Posted 05-15-2023 11:21 AM

    The one other thing I feel is important to mention is that introductory level classes can make or brake programs and if you aren't teaching them, you're relying on someone else to do a good enough job at what they're doing that students will want to stay in the program. That's a big responsibility to pass off to someone else. Additionally, you need to communicate well to the person feeding students into your classes what you expect students to know coming in. If there aren't any expectations, no worries then, but if you expect students to have some experience with coding, this needs to be something your introductory teaching begins gaining experience with a.s.a.p.


    This part gets overlooked so much in CTE pathways that I see. Your Intro class is so important to building a sustainable pathway. It needs to get all of the foundational stuff for the rest of the pathway, it needs to engage students enough to want to stay for the concentrator and it needs to set the tone and culture of your pathway.

    If I was to hire more teachers to teach in my pathway, I would be looking for a teacher to take either my capstone (Unity) or my concentrator(Digital Art). I would keep the intro course (Analog Design) unless I had someone I knew could knock it out of the park.



    ------------------------------
    Brian Bautista k12teacher
    Citrus Heights CA
    ------------------------------



  • 11.  RE: Entry Course Suggestions

    Posted 05-15-2023 02:23 PM

    Wow, thanks for all the feedback! I figure it's easiest to respond in one post instead of a reply for everyone.

    I really like the idea of a dominoes project for them to learn the editor without trying to jam C# into the class as well. If you have any resources you'd be willing to share, I'd love to see them. @Garth Flint 

    I'll talk with my level 1 partner and see what his comfortability would be on a tabletop unit or semester. At least some type of paper prototyping would be good, I think.

    I'll definitely keep an eye out for how students respond at the beginning of next year starting Unity after they've had a couple months in MakeCode Arcade. I hadn't considered the idea that they'd want to go back to the simpler option. Good feedback, @Wesley Jeffries 

    I also really appreciate the feedback on how critical the intro course is. I want the main focus of it to be exploring game design concepts so that they can come to levels 2 and 3 with an idea of the process, but I do think that things would go more smoothly if they had some experience with tools or something practical. I'm going to talk with my level 1 partner to rearrange the course now that I'm not part of the math department anymore and I can focus more on my pathway. Thanks for that eye-opening comment, @Judson Birkel and @Brian Bautista 

    Thank you everyone for your responses! I'd love to see what you guys do, especially in your analog design courses early on. I think that could be a good, low barrier of entry, way to get practical game design experience.



    ------------------------------
    Austin DeLoach
    Grand Prairie, TX
    ------------------------------



  • 12.  RE: Entry Course Suggestions

    Posted 05-15-2023 03:41 PM
    There is probably a better way to post it but here is my Dominoes assignment.

    Exercise 1


    Rube Goldberg/Dominoes Assignment


    In this lesson students will build a Rube Goldberg/dominoes falling over thing. Have the final step actually do something.  Examples: open a curtain to show a picture, turn a page of a book, pour water in a glass or some equally simple task.  Students need to use their imaginations and/or ideas from the examples below. Some of the examples are pretty 2D. Students can do the same or expand it into 3D. Be sure to use the camera on a track to have the camera move through the world. 


    Here are some ideas.  #4 is fascinating but it would take some major time and effort to build a world like that.

    1. Build something like this https://youtu.be/_LUG_EMPczk

    2. Some good ideas here.  https://youtu.be/ntWRTjSl3BI

    3. Too simple and horrible camera work but still some ideas.  https://youtu.be/QhIkL3sq36Y

    4. Fascinating.  https://youtu.be/MAe61rsXJRk

    5. Interesting textures.  https://youtu.be/Ngfus6TdT8w


    Requirements:

    1. At least two levels (planes).  A ball or domino will fall from a higher to a lower level and hit something on the lower level to continue the process.

    2. At least 5 dominoes knocking each other over.

    3. Ball (or something) flips at least one teeter totter.

    4. All objects have a color or texture.

    5. Camera follows the action.

    6. At least one spinning object.

    7. At least one swinging thing on a chain.

    8. At least one set of hinged objects like hanging panels.  https://youtu.be/_LUG_EMPczk .

    9. A simple final task at the end.  Examples of a simple task are:  turn a page in a book, put bread in a toaster, turn on a light switch, open a curtain to show a picture, and so on.  Get clever.


    Grading:

    1. 10 pts for each requirement. (90 possible)

    2. 5 - Assets are organized in folders.

    3. 10 - All requirements are met.

    4. 0-10 - Is cool.  This is a bit subjective.


    Total possible points possible 115.



    Notes:


    Install Unity Hub and Unity version


    The first time takes some careful reading.  First Unity Hub needs to be installed.  The actual Unity application is installed through the Hub.  Installation will require the acquisition of a free license.  If using BYOD work through this with the class.  It is best if the teacher has a computer that has never had Unity installed on it.  Use one of the student's computers.  Install at least a 2019 version.  Versions 2020, 2021 and 2022 may have some updates that can make tutorials unreliable.  Do not be deterred by this, students learn more when things do not go smoothly.


    Create a new project


    In Unity Hub create a new 3D project.  It is very important at this point to discuss the file location of the new project.  The students need to understand the importance of creating a new project file folder and to know where it is located.  The project folder cannot be created on Google Drive so it is important to demonstrate a backup method.  This can be done by Zipping the project folder and storing that on Google Drive.  This would be a good time to discuss project versioning and creating their own versioning system.  It is very important at this point to explain that they need to make a copy of the project, rename it with a new version number, before they start the day's work.  If something goes wrong they then have the previous day's version as backup.


    Familiarize with Unity GUI


    Do a show and tell with the class.  Point out the main windows: Scene, Game, Hierarchy, Project and Inspector.  Discuss alternate Layouts and how to move and park windows.




    Build primitives


    Demonstrate where primates are found (GameObject > 3D Object or right-click in Hierarchy) and how to place them in the scene.  At this point show how to use the widgets in the upper left to move, rotate, resize, etc. and show how to use the qwerty shortcut keys.  Discuss the list of primitives.  Use reshaped cubes for the dominoes and ramps for the ball (sphere) to roll down.  Either a plane or a flattened cube will work for the platforms to build the levels on.  If the dominoes do not fall over easily, make them thinner.


    Use Physics


    In order for objects to react to gravity (balls roll down ramps, dominoes fall over, etc.) the object must have a Rigidbody.  In the Inspector window select Add Component at the bottom.  Type "rig" in the search field.  Rigidbody will appear in the dropdown.  Select it (do not use 2D unless building in 2D).  Examine the options in the Rigidbody Inspector.  Changing the Mass can have an effect on how objects behave.


    Construct monochrome color materials


    Make a Materials folder in Assets.  Right click on the materials folder.  Create > Material.  Give the New Material the name of the color.  Select the white rectangle next to "Albedo" in the Inspector window.  A color wheel should appear.  Select a color using the color circle and tint square.  Drag and drop the color material onto the Object to be that color.


    Import materials from Unity Asset Store


    Go to the Unity Asset Store tab.  If the tab is not there go to Window > Asset Store.  Search for "Yughues Free".  This is a huge number of free textures.  Look through the free assets and download and import the desired asset.  Use a lot of trial and error to find the best texture.  Drag and drop it onto an object in the Scene or Hierarchy.


    Camera follows the ball


    If we do not make the camera follow the ball the scene is over pretty quick.  The solution to this used to require a C# script to manage the camera and to do anything like switching between multiple cameras could be confusing.  The introduction of Unity Cinemachine has made complex camera movement comparatively simple.  Here is a short YouTube video on how to build camera tracks and camera transitions. https://youtu.be/Reh2kGwwFHs.  This video introduces both Cinemachine and Timeline.  Working together they can make professional looking camera movements and transitions easily.


    Using Joints to make hinges, springs and chains 


    Joints lock objects together, make swinging gates, water wheels, chains, ropes, and other spinning objects.  Here are a number of videos with instructions on how to use the various joint types.


    https://youtu.be/MElbAwhMvTc - all joints

    https://youtu.be/f4xikqJdkwM - all joints

    https://youtu.be/GB8BdFjX8vM - all joints

    https://youtu.be/PeFIqErdDoM - Rope bridge and wrecking ball



    --
    Garth Flint
    Computer Science Teacher
    Loyola Sacred Heart High School
    406-531-7497





  • 13.  RE: Entry Course Suggestions

    Posted 05-15-2023 03:55 PM

    This is incredible, I might try to cram this into my capstone, how long roughly do you give them?



    ------------------------------
    Brian Bautista k12teacher
    Citrus Heights CA
    ------------------------------



  • 14.  RE: Entry Course Suggestions

    Posted 05-15-2023 05:01 PM
    We are on a 90 minute block schedule.  I have some that think they are done in 2 class periods.  Yes, they have a product but it is shlock.  I shoot more for 4 class periods.  Getting the camera to follow the ball is easy..  Getting the camera to transition to another ball is not.  I have a write-up just for that part of the exercise.  That can often take up most of a period.  I have no hard deadlines so if I see the kids are really into it I will extend the time.

    I should have attached the Cinemachine write-up to the original doc so here that part is.

    Cinemachine Camera Follow


    Method 1


    This is the short way to get the camera to follow an object.  This method will keep the camera in a fixed position in relation to the moving object.  This method does not allow you to control the path of the camera, the speed of the camera or have multiple cameras with transitions.



    1. Get Cinemachine

      1. Window > Package Manager

      2. In the upper left corner in the Packages dropdown select Unity Registry, find Cinemachine and Install.

      3. Depending on the version of Unity there will be a new menu item at the top menu bar labeled Cinemachine or under the GameObject menu there will be Cinemachine.

    2. Go to the Cinemachine menu and install a Virtual Camera.

    3. In the Hierarchy select the virtual camera "CM vcam1".

    4. In the Inspector drag and drop from the Hierarchy the object you want to follow into the "Follow" and "Look At" fields.  

    5. While still in the Inspector for the CM vcam1, open the Body property.  Be sure Body is set to Transposer.  

    6. Change the Binding Mode to "Lock To Target On Assign".

    7. Position the CM vcam1 to a view that works for your project.  Now when you run the game the camera should follow and stay focused on the moving object.



    The following method allows you to control the path of the camera, the speed of the camera and have multiple cameras with transitions.


    Method 2:  Cinemachine Dolly Track


    This method does allow you to control the path of the camera, the speed of the camera and have multiple cameras with transitions.


    This text was edited from this video: https://youtu.be/Reh2kGwwFHs


    1. Get Cinemachine

      1. Window > Package Manager

      2. In the upper left corner in Packages dropdown select Unity Registry, find Cinemachine and Install.

      3. Depending on the version of Unity there will be a new menu item at the top  labeled Cinemachine or under the GameObject menu there will be a Cinemachine item.

    2. Build track

      1. Cinemachine > Dolly Camera with Track.  This will place a track on the scene. Select Dolly Track1 in the Hierarchy.  This will show the track with two endpoints, 0 and 1.  You should also have a red icon next to your main camera.  This is the Cinemachine brain.

      2. Select Dolly Track1 in the Hierarchy.  Drag the whole track so point 0 is at your desired start for the camera.

      3. Keeping Dolly Track1 selected look in the Inspector.  In Waypoints click the small "+" to add waypoints.  The waypoints can be dragged individually to shape the track.  The whole path can be moved by using the original widget.

    3. Create a timeline to control the speed of the camera.

      1. Window > Sequencing > Timeline.  This will create a new tab.  Drag and drop the Timeline tab some place convenient.  You will need to see this window.

      2. Create an empty game object in the Hierarchy.  Rename it Timeline.

      3. With Timeline selected in the Hierarchy click the Create button in the Timeline window.  A widow will appear to Save the Timeline.  Save it in Assets.

      4. The new Timeline window will now have a left section and a timeline.

      5. In the Timeline window click the lock icon in the upper right.  This will keep the Timeline window open.

      6. Drag the virtual camera CM vcam1 on to the left section of the Timeline window.  A small window will open.  Add Animation Track.

      7. Drag the main camera on to the left section of the Timeline window.  A small window will open.  Add Cinemachine Track.

      8. The CM vcam animation track tells the camera where to move.  The Main Camera track tells which camera to use.

      9. Select the DollyTrack1 and see how many waypoints there are.  Notice they are numbered for example 0 - 3, which is 4 waypoints.  We will want to get to waypoint 3 in our animation.

      10. Select the virtual camera CM vcam1 in the Hierarchy.. Select the red Record button in the CM vcam1 track in the Timeline window.

      11. In the Inspector open the Body attribute and right click on the Path Position label and select Add Key.  A small diamond will appear on the CM vcam1 animation track.

      12. Move the scrubber along (the white line in the Timeline section of the Timeline window) to an appropriate location.  The scrubber determines how fast the camera will move along the path.  In the Inspector change the number in Path Position to 3 as that is the maximum path.  Stop recording.  Scrub along the timeline to see the camera move along the dolly track.

      13. Right click on the Main Camera track and add a Cinemachine Shot.  Position this to line up with the left animation diamond.  Hover over the right end of the shot and right click to shrink or expand the shot to line up with the right animation diamond.

      14. With the Main Camera (Cinemachine) track still selected, in the Inspector drag and drop CMvcam1 into Virtual Camera.  (Or click the small target symbol by Virtual Camera and select CM vcam1.)

      15. Play.  The camera should move along the track.

      16. To change the speed of the camera along the track, double click on the animation track.  A new window will appear labeled Animation.  The new window has two panes.  The right hand pane may not be visible until you drag the right edge of the window to make it larger.  You also need to look at the time scale in the Timeline window to see how it compares to the time scale on the new window you just opened.  If the times scales are too different you will not see the keys you added.  Drag the right end diamonds right and left to speed up or slow down the camera.  Close the window

      17. In Timeline drag the Main Camera Cinemachine Shot right end to match the time indicated by the blue vertical line.

      18. Test your change.  You should now have one camera running the path.


    Method 2 Continued - Second Camera.


    1. To add a second camera the steps are the same as adding the first camera.

    2. Cinemachine > Dolly Camera with Track.  This will place a second track on the scene. Select Dolly Track2 in the Hierarchy.  This will show the track with two endpoints, 0 and 1.  

      1. Select Dolly Track2 in the Hierarchy.  Drag the whole track so point 0 is at your desired start for the camera.

      2. Keeping Dolly Track2 selected look in the Inspector.  In Waypoints click the small "+" to add waypoints.  The waypoints can be dragged individually to shape the track.  The whole path can be moved by using the original widget.

      3. Select Timeline in the Hierarchy.  The timeline for the first camera should be visible.

      4. Drag the virtual camera CM vcam2 on to the left section of the Timeline window.  A small window will open.  Add Animation Track.

      5. Select the virtual camera CM vcam2 in the Hierarchy.. Select the red Record button in the CM vcam2 track in the Timeline window.

      6. In the Inspector open Body and right click Path Position and select Add Key.  A small diamond will appear on the CM vcam2 animation track.

      7. Move the scrubber along (the white line in the Timeline section of the Timeline window) to about midway.  Back in the Inspector > Body enter the number of Path Positions.  Stop recording.

      8. Use the scrubber to see the cameras move.

      9. Decrease the length of the first shot by dragging the right end of it to that midway diamond.  Right click on the Main Camera timeline and add another Cinemachine Shot.  In the Inspector drag CM vcam2 into the Virtual Camera field.  Position the CM vcam2 in Timeline to start at the end of the CM vcam1 timeline and end at the last diamond.

      10. Use the scrubber to see the cameras move.  To smooth out the transition hover over where the  transitions tough, left click and drag.  A box with triangles indication a transition overlap should be created.

      11. To increase or decrease the speed and time on the cameras double click on the Animation timelines , then move the diamonds (keys) back and forth.  It may take some experimentation at this point to get the timing the way you want it.


    --
    Garth Flint
    Computer Science Teacher
    Loyola Sacred Heart High School
    406-531-7497





  • 15.  RE: Entry Course Suggestions

    Posted 05-15-2023 05:04 PM

    Cool cool,

    I like to fit everything into a week (4 normal 90 minute periods and a 60 minute wednesday). Yeah some kids finish stuff early, but most of the kids are scrambling on Friday for most things we do, this sounds like it can fit that mold.



    ------------------------------
    Brian Bautista k12teacher
    Citrus Heights CA
    ------------------------------



  • 16.  RE: Entry Course Suggestions

    Posted 05-18-2023 08:07 PM

    It's been interesting reading everyone's course sequences. Super helpful as I reflect on my year, and my 2nd year running this pathway.

    At my school, all juniors and seniors MUST join a Pathway. There are no students not in pathways, they even assign students in the mod/severe programs to a pathway.

    Once you are in a pathway, you must stay in it for 2 years. I get why we do that, but it does have unintended consequences. For example, my district also doesn't want any prerequisites for pathway courses. A student could fail my Game Design 1 and just not be into what we do, and they are forced to take Game Design 2. There is literally no place for them except in the Pathway. We don't allow pathway changes so students build some resilience and keep going even when the going gets tough. It doesn't work the way we envision it, but alas . . .

    In my Pathway, in junior year, students take Game Design 1 with me, and they are all in the same English class and then in the same history class. The idea is that we are supposed to be doing integrated projects across the subjects, but that's not really happening. It could be really cool but we've had a lot of turnover and a bunch of brand new teachers who are just figuring out how to teach so that's been hard. Then in senior year they take Game Design 2 with me, and again they are all in the same senior English class, and they all are together for American Government and Economics. We do a little collaborating with this group, mostly around the Capstone projects, but it should be so much more expansive than it is.

    The elective teachers before me have only lasted 2 years. Literally every 2 years the teacher changes. I have to admit, I was thinking of leaving this year too. There are no other elective courses in my Pathway, and we barely have electives anyway, so I have to do so much in my 2 course sequence. Then you throw in that we have NO CS CLASSES at all in the school anymore, and I have to hit programming hard or else they won't be able to make any games. There has been a lot of turnover and no real commitment to the pathway. I've had a few really great projects get done for Capstones this year, but most are MEH at best.

    I'm trying to think long and hard about how to make this arrangement work. I think Game Design 1 will focus on programming and navigating around an engine, I'll use Godot next year. I will have mini units on making art assets for games and on sound effects and background music. I won't require they make a game at the end of year 1. I'll require that they spend s significant amount of time working on the thing they got passionate about. It might be a game in a team, but it might be pixel art, or sound effects. For Game Design 2, I want to focus on making more prototypes that simulate games, teaching more about PROCESS and how teams work together to put a whole game together, and then spend the last 3 months at least having teams work on a game and do all the steps in the process. Making sure each team has a legit art, sound and programming person on it, rather than a collection of friends who will make a mediocre game.

    I tried making my juniors this year make a game on a team after we finished Create with Code, but it really turned out they barely understood what they were doing. They could follow the videos. They could build the prototypes, but making their own thing from scratch was too much for most of my juniors. I have 2 sections of juniors and 2 sections of seniors. I think maybe 8-10 juniors, 2 teams, made a solid game. The rest of the teams got lost in Github merge land, lost in Unity collider land, or just bit off way more than they could chew, and thing after thing failed. They feel defeated. I want to reserve the team project for the end of the program once they have a better idea of how it all works.

    I'd like to do mini projects that are team oriented, but not have the blank slate project until it's their Capstone time.

    Finding the right progression so more are successful has been a challenge for me.



    ------------------------------
    Owen Peery k12teacher
    SAN FRANCISCO CA
    ------------------------------



  • 17.  RE: Entry Course Suggestions

    Posted 05-19-2023 04:34 PM

    That sounds real real tough. 

    The quiet part about my GD1 course is that it is in many ways a "filter". If you aren't "about this" you never really go past my GD1, because my GD2 is tough and it takes very self-motivated students to survive it, not necessarily "AP/Honors" types, but kids that can struggle at something and not go to cry in a corner. I often wonder if my GD1 trains students as much as it finds them, in this regard. 

    Without that filtering effect, I suspect my concentrator and capstone classes would be nowhere near as successful as they are.

    My school is sort of on the opposite end of the spectrum, we have a few pathways (frankly we need more) and students are encouraged to check out a few of them. We are getting computer science up and running next year and there is an expectation that we are going to share a bunch of students as I already do with Graphic Design and Engineering.

    I can see the thought process to pushing kids to continue down a pathway, but the potential negative effects sound pretty harsh at first thought. CTE is supposed to be a pull factor for students, that sounds like it could end up being a push factor for some kids.

    If I were in this situation, I would be very scope aware in my first two classes especially. I would likely dial back a lot of what I was trying to get done. Do a lot more direct instruction, more demonstration time. Basically scaffold all of this way more than I would normally to make it easier for less motivated students to stay on the boat.



    ------------------------------
    Brian Bautista k12teacher
    Citrus Heights CA
    ------------------------------



  • 18.  RE: Entry Course Suggestions

    Posted 05-22-2023 07:41 AM

    Yeah I am thinking of more direct instruction for sure next year. I only have 2 courses, GD1 and GD2, and spring semester of GD2 is supposed to be reserved for the Capstone. I think my students can realistically work from Spring Break to the end of the year on a Capstone. They just aren't motivated and obsessed enough to make it a whole semester long project.

    I spent most of today in my junior classes debugging colliders, OnTriggerEnter and OnCollisionEnter methods. I think the move to 2d for next year will make so much of that easier.

    I added Github this year, but only a small number have been able to use it effectively. I'm on the fence about keeping it. I know if they study CS or Game Dev further or get a job in the industry, they'll use it, but it's a lot to wrap their heads around. Especially when they grew up with google docs, real time collaboration, and no real conflicts between versions. It takes so much to reteach new habits. I'd say about 30% of my groups right now have screwed up their repos so bad that it's hard to see the work they HAVE put in bc they just keep pushing and merging and not communicating.

    Sorry, we're almost over for the year and I'm in my reflective mood, what isn't working, and what should I do instead.



    ------------------------------
    Owen Peery k12teacher
    SAN FRANCISCO CA
    ------------------------------



  • 19.  RE: Entry Course Suggestions

    Posted 05-22-2023 12:26 PM
    This is the time of year for that.

    We are on semester blocks, so my capstone course is basically a tale of two quarters:

    The first quarter is Create with Code, some other tutorials/small projects and creating a game design document for their final project. 

    The second quarter is them working on their culminating game. 

    I could definitely see the lack of dedication being a problem in your capstone with kids being forced to take it. Games aren't easy for the obsessed. It's probably a meat grinder for the rest.