TermSpar
TermSpar
  • 45
  • 479 104
x86 Assembly Tutorial: Very Basic 2D Platformer Game
In this video I go over how to make a very basic 2D Platformer game with the x86 Assembler for Microsoft Visual Studio, and the Irvine32 library.
*IMPORTANT NOTE*
In this video when making the gravity logic (around 26:10), make sure your bound check is:
cmp yPos,27
jg onGround
instead of what's in the video. I changed this while I was fixing bugs off camera and forgot to mention it in the video.
Download the Irvine32 library:
drive.google.com/open?id=146mDpYm0u3uhEEy5wYFAE59P6rQNfdEG
Download the base VSAsmProject that was used in this video:
drive.google.com/file/d/1Y7Asykb69tXZnGhEt2FLU5U9LhYf__7p/view?usp=sharing
Source code:
github.com/TermSpar/Assembly-Projects/blob/master/2DPlatformerAttempt.asm
Переглядів: 56 446

Відео

C++/SFML 2D Game Development #1: Making Textboxes and Buttons
Переглядів 40 тис.5 років тому
This is my first video in a series that will be going over how to make a fairly sophisticated 2D game with the SFML graphics library for C ! NOTE In this tutorial I stated that my method for centering the button doesn't work 100% of the time, however I figured out why this is the case. In order to get the original centering method to work, when implementing the button, make sure you setFont() b...
Create a Screen Recorder in C#
Переглядів 41 тис.5 років тому
In this video I show you how you can make your very own screen recorder using C#. Download FFMPEG: www.ffmpeg.org/download.html Tutorial on FFMPEG setup: ua-cam.com/video/MPV7JXTWPWI/v-deo.html Screen recorder class code: pastebin.com/HXePGuiN Screen recorder implemented code: pastebin.com/aP4kvZnR This project was only possible due to the following correspondences I had online, which you may f...
Make a Video Game in Your Internet Browser (JavaScript & HTML tutorial #1: Player Movement)
Переглядів 1,8 тис.5 років тому
Source code (try it for yourself): www.w3schools.com/code/tryit.asp?filename=FX75FFUPZ9XP
C# 2D Platformer Tutorial
Переглядів 32 тис.6 років тому
In this video I explain how to create a very simple 2D Platformer game in C#. Source code: pastebin.com/gbpEa3JA
C++ Split and Remove String & Remove Character Tutorial
Переглядів 5 тис.7 років тому
I decided to make this tutorial because I had to make the same program in java and wanted to see if I could do it in c (which I could :D) Source Code: pastebin.com/6uP4U39C
C++ Tutorial: String To Upper/Lower Case And Reverse (For Loops)
Переглядів 12 тис.7 років тому
Source code: pastebin.com/qy9sBQGf
JBC: How Computers Perform Exponents
Переглядів 938 років тому
My submission for the Junior Breakthrough Challenge! Source Code: pastebin.com/zKQmzip5
C++ Tutorial: Split String and Single Line Calculator
Переглядів 8 тис.8 років тому
UPDATE: I have updated the split method, which can be found my new video: ua-cam.com/video/V6hYk0UDnGc/v-deo.html Source Code: pastebin.com/J6ycte4K
Java Tutorial: GUI Calculator
Переглядів 7 тис.8 років тому
Source Code: pastebin.com/tV7Qnmn3
Speed Coding Java Server and Client
Переглядів 7488 років тому
Source Code: pastebin.com/DKrdZQHw
Java Tutorial: Images and Key Events
Переглядів 1498 років тому
Source Code: pastebin.com/ZvrDtS10
Java Tutorial: PrintWriters (File Output)
Переглядів 708 років тому
Source Code: pastebin.com/gE5YDJqk
SFML/C++ Platformer Game Tutorial (Gravity, and score systems)
Переглядів 37 тис.8 років тому
Source code: pastebin.com/akPcuVht
Java Tutorial: Object Oriented, GUIs, and ArrayLists
Переглядів 13 тис.8 років тому
Source Code: pastebin.com/3ADybAsF
Speed Coding Pong in C++
Переглядів 3,8 тис.8 років тому
Speed Coding Pong in C
C++ Tutorial: Dynamic Arrays, and pointers
Переглядів 1,4 тис.8 років тому
C Tutorial: Dynamic Arrays, and pointers
C++ Graphics Tutorial: Creating a bullet class (SFML Part 3)
Переглядів 10 тис.8 років тому
C Graphics Tutorial: Creating a bullet class (SFML Part 3)
C++ Graphics Tutorial: Creating a bullet class (SFML Part 2)
Переглядів 8 тис.8 років тому
C Graphics Tutorial: Creating a bullet class (SFML Part 2)
C++ Graphics Tutorial: Creating a bullet class (SFML Part 1)
Переглядів 16 тис.8 років тому
C Graphics Tutorial: Creating a bullet class (SFML Part 1)
C++ Graphics Tutorial: Create a player class (SFML)
Переглядів 10 тис.8 років тому
C Graphics Tutorial: Create a player class (SFML)
C++ Graphics Tutorial: Create window and get key events (SFML)
Переглядів 2,5 тис.8 років тому
C Graphics Tutorial: Create window and get key events (SFML)
Python Tutorial: Basics
Переглядів 738 років тому
Python Tutorial: Basics
Perl Tutorial: Object Oriented Programming
Переглядів 12 тис.8 років тому
Perl Tutorial: Object Oriented Programming
Perl Tutorial: Subroutines
Переглядів 3118 років тому
Perl Tutorial: Subroutines
Let's Build a Website (Part 2)
Переглядів 1488 років тому
Let's Build a Website (Part 2)
Let's Build a Website (Part 1)
Переглядів 3778 років тому
Let's Build a Website (Part 1)
Perl Tutorial: Basics
Переглядів 2,7 тис.8 років тому
Perl Tutorial: Basics
Web development: HTML, CSS, and JavaScript Basics
Переглядів 778 років тому
Web development: HTML, CSS, and JavaScript Basics
C++ Keyboard Input
Переглядів 54 тис.8 років тому
C Keyboard Input

КОМЕНТАРІ

  • @bosballl
    @bosballl Місяць тому

    ew 32 bit

  • @Arielcalle-g9j
    @Arielcalle-g9j 2 місяці тому

    Hello, how did you learn to make video games in assembly? I want to learn to make games in assembly.

  • @mauricioneto6862
    @mauricioneto6862 2 місяці тому

    Hey thanks a lot! Been looking to use SFML to make the graphics for a college assignment, but the documentation didn't explained a thing about textboxes. You saved me there bro. +1 sub

  • @smithjustinn
    @smithjustinn 3 місяці тому

    set returning the username is a violation of the Single Responsibility Principle and therefor violates SOLID and OOP

  • @TheTimeProphet
    @TheTimeProphet 3 місяці тому

    Should you be putting if statements in a header file. Shouldn't it be in the cpp file?

  • @sleepyNovember_project
    @sleepyNovember_project 4 місяці тому

    40:23. Here you can simply write: bool isMouseOver(sf::RenderWindow& window) { float mouseX = sf::Mouse::getPosition(window).x; float mouseY = sf::Mouse::getPosition(window).y; if (button.getGlobalBounds().contains(mouseX, mouseY)) return true; else return false; }

  • @Oxxyjoe
    @Oxxyjoe 4 місяці тому

    of note, incrementing eax before calling the function that generates a random number between 0 and eax-1 will not prevent rolling a 0. gotta increment the result instead. I benefited from watching this. It illustrates how much it matters that the thing you make does something you can see.. sort of a feedback loop that gives what you make meaning. I find that without that meaning, it's like they say, in one ear and out the other

  • @mikamargaryan4791
    @mikamargaryan4791 5 місяців тому

    man Char PlayerName like wrong i can explain for like a Word Input we use String well let me show you an code example #include <iostream> #include <string> using namespace std; int main(){ string str; cout << "Please enter your name: "; getline(cin, str); cout << "Hello " << str << " and welcome to my game!"; return 0; } And if am i wrong explain me i will understand : ) edit:well i looked again at code so i add something and this code shows like user input his name

  • @adolfTitlerr
    @adolfTitlerr 5 місяців тому

    hey @TermSpar , the drive link to the the VSASM file is no longer working , can you provide an alternative

  • @adolfTitlerr
    @adolfTitlerr 5 місяців тому

    Damnnn this was your last video , I hope you and your family are doing great , you've given us a gem of a tutorial that taught me assembly in 50 minutes compared to 100 hours of lectures In college

  • @nater.4683
    @nater.4683 6 місяців тому

    You are awesome, you saved my project

  • @dehrk9024
    @dehrk9024 7 місяців тому

    Thank you TermSpar you're a cool guy

  • @subhanullahadelyar
    @subhanullahadelyar 8 місяців тому

    I Recorded a video but sound was not working 😢😢

  • @mebtuabebe8428
    @mebtuabebe8428 11 місяців тому

    Thanks a lot. It is a great effort after all. Jesus bless you.

  • @betanitajane
    @betanitajane 11 місяців тому

    I wish this wasnt so blurry

  • @navjotangra3679
    @navjotangra3679 Рік тому

    is there any way to record cursor movement ?

  • @ihatevirgins
    @ihatevirgins Рік тому

    great video !

  • @littlecurrybread
    @littlecurrybread Рік тому

    awesome, ty!

  • @jamesspeigelhalder9592
    @jamesspeigelhalder9592 Рік тому

    I have a few questions. Do I have to keep the vector of objects inside of main in order to retain what I put into it? What happens to that information after the main program is finished running? Could a person keep track of the addresses for that information and recall that data later? If I have an object inside a vector, does that object's information retain the private and protected features from the original creation?

  • @pandabobanda26_56
    @pandabobanda26_56 Рік тому

    I am new to coding and I am making a simple game and this is soooo helpful. you earned one more sub.

    • @mikamargaryan4791
      @mikamargaryan4791 5 місяців тому

      What language did you learning?

    • @mikamargaryan4791
      @mikamargaryan4791 5 місяців тому

      i am searching stuff i am scripter C++ creating game on unreal engine

  • @xWatexx
    @xWatexx Рік тому

    Software student here. They don’t teach this anymore, but I want to learn! Please, make some guides

    • @adolfTitlerr
      @adolfTitlerr 5 місяців тому

      Sadly they do , got a compulsory course of 4 credit hours , and it's hellllll

    • @xWatexx
      @xWatexx 5 місяців тому

      @@adolfTitlerr it’s not even a course at my university, and my professor who actually coded in Assembly forgot it all.

  • @madhurdixit3622
    @madhurdixit3622 Рік тому

    udlr for movement, really?

  • @romanandbusia
    @romanandbusia Рік тому

    Now write same platformer in binary 😅

  • @gustavovieira8314
    @gustavovieira8314 Рік тому

    Nowadays its not possible o download the drive's content

  • @BlueZackMuthey
    @BlueZackMuthey Рік тому

    How do you add ffmpeg to the project? You skipped that.

  • @TheGargalon
    @TheGargalon Рік тому

    I just watched a video about the guy behind Roller Coaster Tycoon, let's see how deep the rabbit hole goes

  • @GreySectoid
    @GreySectoid Рік тому

    Very nice tutorial.

  • @zilog1
    @zilog1 Рік тому

    im sorry but you jumped into it way to fast into the deep end and this doesn't explain much on why these calls are the way they are and the fact that you didn't explain that this is windows only because these calls are different on linux then on windows and that these calls are from the kernel and what that is and how it is shoved into memory nor did you mention the calling conventions of a language like C because this explains the formatting of the calls for windows kernel and other kernels because they were made in C not ASM so the system calls follow a particular pattern and format. you also didnt explain about the architecture of the CPU you are working with. All this is doing is teaching people to copy you without really understanding whats going on while giving the viewer the feeling that they learned something when, in fact, they didn't. Theres so much more to this then "haha copy me now you made game congrats" If i were to ask someone after this tutorial to go make something else, they would have not a single clue what to do. This video is nice but the method and approach is fundamentally flawed. You didnt even bring context of how the literal circuits and hardware of the CPU on the computer is important to the program. ASM is a line where software and hardware meet. This is only HALF of what is needed.

  • @danielh4487
    @danielh4487 Рік тому

    can someone please send the base VSAsmProject that was used? the link does not work... Thanks!

    • @cornButt
      @cornButt Рік тому

      I had the same issue

  • @th-eeew
    @th-eeew Рік тому

    is there any way to make or add a solving math problem?

  • @marcus9596
    @marcus9596 Рік тому

    can't i make the buttons an array like this Button puzzles[4][4]; it works like this but when i try to set a value it gives me an error

  • @allmyinterests5139
    @allmyinterests5139 Рік тому

    The links do not work :/

  • @abhinavgupta8597
    @abhinavgupta8597 Рік тому

    The VSasmProject link is broken

  • @nanjiboyy7007
    @nanjiboyy7007 Рік тому

    sir your project Derive link is not working kindly make it work again

  • @zackariahp1873
    @zackariahp1873 Рік тому

    does anyone know how I would go about implementing multiple text boxes so I can alternate between the 2 of them with the click of a button, thanks

    • @bernardorodrigues8848
      @bernardorodrigues8848 Рік тому

      Super late reply, but it might be useful if anyone else was wondering. My solution to that would be to place a button in the same position as a text box, and make that button’s function select the text box it is overlapping

  • @Bebe-fq8yb
    @Bebe-fq8yb Рік тому

    May be from 6 years ago, but I still found this very helpful. If you're reading this TermSpar, thank you for the help!

  • @chrisrodriguezm13
    @chrisrodriguezm13 Рік тому

    My recorder isn't working... I'm having a stack overflow exception... How do I fix this?

  • @NoahZed
    @NoahZed Рік тому

    "VSAsmProject" link no longer works, could you update it?

  • @aby-ox4kc
    @aby-ox4kc Рік тому

    One problem i encountered, a single backspace removes all characters if u dont use windows.setKeyRepeatEnabled. Is there any alternative way instead of relying on setKeyRepeatEnabled func... Not all games rely on a single key hit, i looked up KeyReleased event which can do the same thing as above fun..but cant figure out how to implement it in your code. Any help is appreciated

  • @nikthepro4506
    @nikthepro4506 Рік тому

    Hey nice wallpaper where did you find it? Oh and also really nice video continue making!!!

  • @scythra5410
    @scythra5410 Рік тому

    14:05 score part

  • @whatif8741
    @whatif8741 Рік тому

    I sound insane but this is fun

  • @leejinwon
    @leejinwon Рік тому

    Thank you very much 🤩

    • @knarf0506
      @knarf0506 Рік тому

      how can it work? can you tell me?

  • @borayavuzer5579
    @borayavuzer5579 Рік тому

    I have just signed in in order to like this video and subs.. Awesome teaching.. Waiting for new videos.

  • @BackendDevelopers
    @BackendDevelopers Рік тому

    please send me the base VSAsmProject that was used in this video

  • @eshafatima7235
    @eshafatima7235 Рік тому

    i cant download the vsasm project file

  • @ibrahimmohammed308
    @ibrahimmohammed308 2 роки тому

    the link of VSAsmProject isn't in the discription box right now , could sombody upload it or send me the link ?

  • @marcelosaturno1025
    @marcelosaturno1025 2 роки тому

    Does anyone know if the VideoFileWriter module is still working? since in my code it doesn't work

  • @GalaxyBalls_
    @GalaxyBalls_ 2 роки тому

    I need to know how to make enemies too.