Welcome, Guest. Please login or register. Did you miss your activation email?

Author Topic: R-Type 2D shoot'em up (C++17)  (Read 8458 times)

0 Members and 1 Guest are viewing this topic.

Milerius

  • Newbie
  • *
  • Posts: 23
    • View Profile
R-Type 2D shoot'em up (C++17)
« on: December 12, 2017, 10:46:31 pm »
Hello, I'm creating this topic to share with you our new school project: re-create the R-Type game, for those who may not know it, the R-Type is a famous shoot'em up.

It is still under development and we plan to leave it open source for the community at the end of the project.

It is coded in C++ 17, and runs on Windows, OSX, and Linux.

It takes advantage of modern c++: semantics of displacement, modern CMake, variadic templates, structured bindings, lambda, nested namespace etc ...

The game will be playable in network, up to 4 players.

Lore:
2032. A war was declared between Maul and an unknown enemy, the first wave of attacks was already past, Maul has never been in a worse condition than this one. Soldiers lost hope, people lived in fear and the government wasn’t able to find a plan that would save their planet. There were actually two more planets close by called Bheet and Kooy, but god knows for how many centuries both of them hated Maul. They never agreed on many aspects such as religion or politics. The thing is that Bheet and Kooy tried to approach the enemy saying they had the same goals in mind but the enemy didn’t pay attention to them nor he gave them a chance to prove their selves as good allies. This is why Bheet and Kooy realized that once the enemy was done with Maul, they would be next on the list and decided to help out Maul knowing that they would probably have more chance to beat him as three planets than only two.

The idea of ​​the game is to be able to create the "Character", here you will be the pilot of your spaceship, then you will have the choice between 3 factions:

* Bheet (Offensive Faction)
* Kooy (Support Faction)
* Maul (Defensive Faction)

Video :


As you can see in the video, you have stats, these stats will change depending on your progress in the game,
for each level you'll get 5 points that you'll be able to spend to increase your statistics.

The bosses of the game, will adapt according to your team composition, for example if you have two support ships and an offensive spaceship in your composition then the boss will change his behavior during the confrontation.

When you get level 10, you have to choose a specialization.
For example if you took the support class you can either choose to specialize in shields or in heals.
After that every 10 levels you can either change that specialization or upgrade it.
Your spaceship will change its skins depending on the specialization you choose and on the upgrades you made.

We haven't made up our mind on the game design yet, so do not hesitate to give us your ideas.

The deadline is for January 26, 2018, but even after that, we really want to continue improving it with the feedback of the community.

For external libraries we use:

* SFML (Audio / Graphics)
* Boost (Asio)
* RapidJson (Parsing)
* Sol2.hpp (Lua)
* CEGUI (Game User Interfaces)
* CPPRESTSDK (Api communication)

Other videos:


Screenshots:
Login :


Create Scene :


Example Window exit :


This topic will be updated everytime we have some new screenshots or new features.

« Last Edit: December 18, 2017, 04:13:51 pm by Milerius »

Milerius

  • Newbie
  • *
  • Posts: 23
    • View Profile
Re: R-Type 2D shoot'em up (C++17)
« Reply #1 on: December 12, 2017, 11:02:50 pm »
UPDATE :

- We can now change the langage in game at runtime

I will explain our approach,

An example of our configuration file :


Our Tree :


And one config file for exemple the errors :


The idea for the language processing in our game is that it is the main configuration file that decides the basic language, behind if the language is "fr" then we will go to the folder "fr" in the other case we will go to the english configuration directory. This allows us a parsing easy to perform, and avoids duplicating of our code.

In C++ :


cfg::game::lang represents the current langage in the config.json file, and then we can parse the good directory.

runtime changement with the window game settings :


If one of the files fails during its parsing, we fallback on a default config written in c++.
« Last Edit: December 12, 2017, 11:10:23 pm by Milerius »

MrOnlineCoder

  • Jr. Member
  • **
  • Posts: 87
    • View Profile
Re: R-Type 2D shoot'em up (C++17)
« Reply #2 on: December 14, 2017, 09:14:27 pm »
Looks nice!

I really like that "sci-fi" GUI. Waiting to see gameplay video :)

Tank

  • SFML Team
  • Hero Member
  • *****
  • Posts: 1486
    • View Profile
    • Blog
    • Email
Re: R-Type 2D shoot'em up (C++17)
« Reply #3 on: December 15, 2017, 07:55:07 am »
Yup the GUI really looks great, very polished and professional.

Milerius

  • Newbie
  • *
  • Posts: 23
    • View Profile
Re: R-Type 2D shoot'em up (C++17)
« Reply #4 on: December 23, 2017, 05:35:47 am »
an idea of our in-game UI, (effects and background are still yet to be done those are just dummies ones to give more thrill to the pics :) )



« Last Edit: December 23, 2017, 05:38:18 am by Milerius »

Milerius

  • Newbie
  • *
  • Posts: 23
    • View Profile
Re: R-Type 2D shoot'em up (C++17)
« Reply #5 on: January 10, 2018, 11:24:52 pm »
A new video about the animation in game


Milerius

  • Newbie
  • *
  • Posts: 23
    • View Profile
Re: R-Type 2D shoot'em up (C++17)
« Reply #6 on: January 12, 2018, 08:59:17 pm »
Hey guys we have some news for you :

We just achieve The Entity Component System, and the QuadTree.

There is a video:


As you can see in the video, everything works perfectly, we even have a moving spaceship animation. For the rest we will focus on the network now, because the project ends already in 16 days, we thought go through a scenario system via a configuration file for the gameplay, which could define the different monsters and stages of this scenario by example, we must also finish the parallax and the starfield as soon as possible! see you soon !
« Last Edit: January 12, 2018, 09:07:54 pm by Milerius »

DarkRoku12

  • Full Member
  • ***
  • Posts: 203
  • Lua coder.
    • View Profile
    • Email
Re: R-Type 2D shoot'em up (C++17)
« Reply #7 on: January 15, 2018, 05:36:47 am »
Vey nice GUI! It is simply awesome.
I would like a spanish/latin community...
Problems building for Android? Look here

Milerius

  • Newbie
  • *
  • Posts: 23
    • View Profile
Re: R-Type 2D shoot'em up (C++17)
« Reply #8 on: January 16, 2018, 09:23:19 pm »
New video with starfield + sound + introduction and resuming base features :



Do not hesitate to give us your opinion, it counts for us!