This commit is contained in:
Pòsweg 2017-06-16 18:20:30 +02:00
commit 6718af26dd
1 changed files with 24 additions and 6 deletions

View File

@ -1,19 +1,37 @@
# platform-test
![alt text](https://github.com/posweg/platform-test/raw/master/textures/title.png "Platform test!")
=====
Just a platform prototype that I made to get my hands dirty with SDL2 for the first time.
This is my first semi-big or not-so-small project, made to get my hands dirty with SDL2, have fun and experiment how feels to make an actual game, with its structure and stuff.
All that I have implemented is a smooth motion with keyboard input and "physics" of jumping and colliding with other objects. In this project I wanted to be as responsible as possible with classes and functions, but it's my first multifile project so it's all messy I guess.
So far I have implemented a regular platformer, with its player, player physics, powerups, walls/blocks, and a menu system. It's all messy and clunky but hey, it's my first time and I'm doing what I can so have patience with it if you watch some huge stupid mistake thingy. And of course if you see one of those, tell me, correct it and make a pull request or put an issue!
## Controls
- **W S D** To move around
**In the menu:**
- **UP** and **DOWN** to navigate
- **SPACE** to accept
**PD:** the first button is to play, the third one quits the game and the second one... does nothing.
**In-game:**
- **ARROWS** To move around
- **SPACE** To jump
- **LSHIFT** To run
## Compiling
If you want to compile it make sure that you have SDL2 installed and run make and it will compile. I don't know how to compile programs in Linux with cross-compatibility with external libraries so it works fine in Linux but in Windows it's a little harder to do.
The Makefile it's very outdated and SDL2's header files path differs from windows so I would recommend to compile it on Windows. If you want to compile it in Linux you have to change the include path from <SDL.h> and <SDL_image.h> to <SDL2/SDL.h> and <SDL2/SDL_Image.h>.
This project uses the SDL2 and SDL2_Image libraries. You can find those here: https://www.libsdl.org/download-2.0.php
After making sure that you have SDL2 and SDL_Image installed use your favorite IDE or compiler to compile it. Don't forget to include the C++11 (-std=c++11), SDL2 (-lSDL2main and -lSDL2) and SDL2_Image (-lSDL2_Image) flags. I found out that if you're using MinGW to compile it you have to add its flag (-lmingw32) or it will throw weird errors.
## References
All the references that I have used are the LazyFoo' "SDL2 tutorials", "Maths for game designers" and the trigonometry series from Khan Academy for the collision logic.
Lazy Foo's SDL guide: http://lazyfoo.net/tutorials/SDL/index.php
Jorge Rodrigez's YouTube series on Math for Game Developers: https://www.youtube.com/playlist?list=PLW3Zl3wyJwWOpdhYedlD-yCB7WQoHf-My
Khan Academy's algebra series: https://www.youtube.com/watch?v=kpCJyQ2usJ4&list=PL7AF1C14AF1B05894