My summer game project

This week I started with a new game project. The project is sort of a summer course (during 9 weeks) where students and I from the Game Programming program in Uppsala University have the opportunity to develop our skill on game programming. It’s my first year in this school so I have still much to learn.

In this blog I’ll share my thoughts and decisions that I make during the process of this project. It’s C++-programming so mostly all my blog-posts will be focus on just code. Fun FUn

What’s the game?

The game I’m going to do is a clash between Star Wars and the game Soldat. Soldat is a polski game, made by one person, that’s a 2D arena side-scroller which could be seen as a mix between Counter-Strike and a realtime-version of Worms. My game takes place in a Star Wars scenario. Instead of modern weapons there will be laser guns and lightsabers and jedies. Hopefully, if the project goes well, I’d like to implement elements from StarWars: Battlefront, like big team battles, and capturing bases, but I’m to be realistic and keep the project as simple as possible. Therefore my goal is to have a 2-player mode where two users control their own character and fight against each other, similar to Soldat. The amount of content depends on how much time I have over.

About copyrights and licenses, I don’t know what conditions there are for using content from Star Wars. For now, I won’t take any credit or income for this game.

Screenshot from Soldat w/ elements from Star Wars. Excuse my speed programmer art.

My method.

The programming language I’m using is C++ with the help of Microsoft Visual Studio as a programming environment. I’m also using the SDL-library (Simple DirectMedia Layer) for extra functionality such as audio, window, user events (keyboard, mouse, joystick.. you name it), OpenGL and etc., in short: SDL’s a great library for game making. I’m using an object oriented style of programming.

I’ll have classes titled as Managers, where each manager manages specific tasks that are essential for the program. Some of these managers are ”StateManager”: managing all the different states in the game (ie game-state, menu-state, intro-state and more), ”DrawManager”: drawing textures/pictures to the game window, ”InputManager”: handles different input-devices (keyboard, mouse..) and more and more.

All physical objects in the game will have their own type ”GameObject” which they can derive and branch out from and make their own kind of ”GameObject-Types”, like the player character, trees, ground, projectiles, etc.

What’s next

I’m going to sit flat on my ass flat for this next week till next blog-post. I’ll tell how everythings going. I’ve already started with some sort of engine-class for the program. I’m also prioritizing how all the different game states will be managed through a StateManager-class. Because I think that’s important..

Hopefully the next blog-post will be more intimate to the project. I’ll share all the guts and code of the game. I hope to give clarity of what I’m actually making and creating this summer! I’m looking forward for this!

/Johannes Westberg

About Johannes Westberg

2014  Programming