Need help on how to make an RPG (Role Playing Game)

30 views (last 30 days)
I need help on how to create an RPG like Final Fantasy, Chrono Trigger or the Aveyond series. It doesn't have to be very extensive. Just some basic ideas about: 1 - How to draw a map and add the necessary elements to it. 2 - How to make the collision detection work so the player does not walk through walls or into areas outside the map. 3 - How to make the playable character and move him around. 4 - How to add sprites and make NPC (Non-playable characters) and have interactive dialogues with them. 5 - Make a battle scene like the ones in the game.
All ideas and help is very appreciated! (And also I'm a beginner to MATLAB)
  3 Comments
Star Strider
Star Strider on 21 Nov 2015
Edited: Star Strider on 21 Nov 2015

Role-Playing Games.

As a gamer myself (medieval-themed fantasy adventure and some puzzle games), but not a game developer, from what I’ve read, videogames require teams of programmers and take months to develop. I believe the majority are written in different versions of C.

Start by looking at the ‘Unreal’ physics engine to get an idea how to do this. And of course, it’s not all programming. You have to have some sort of narrative behind it (consider the civil war and the many subplots in Skyrim for example), the NPCs have to have personalities, dialogue, and the ability to interact with the environment, your character, and others. You also have to have a map, weather, day/night and seasonal transitions, and other environmental variables.

There are (somewhat expensive) programs available to help you program simple RPGs (see the Steam Store for some of them), but for all its many strengths, MATLAB is not your best option for this.

John D'Errico
John D'Errico on 21 Nov 2015
Edited: John D'Errico on 21 Nov 2015
And, your goal is to write this in MATLAB? Sorry, but MATLAB would not be a good choice of tool for such an application. Yes, you can write virtually anything in any language, (ok, Excel would be even worse) but I think you should consider a better tool. And if your goal is not to do this in MATLAB, then you are asking this question in the wrong forum.

Sign in to comment.

Answers (3)

Dan ROG
Dan ROG on 22 Nov 2015
I don't think Matlab is the best program for this (though I imagine it is possible :D)
Try this article for a high level overview or this site if you want to really dig into the details.
Goodluck!
  5 Comments
Walter Roberson
Walter Roberson on 22 Nov 2015
Star Strider: The description of the JIT for R2015b says that it generates native language code !
Star Strider
Star Strider on 22 Nov 2015
Walter — Interesting! I looked for that documentation for more details, but couldn’t find it. (I’m not awake yet.)
Please post a link when you have time.

Sign in to comment.


RahulTandon
RahulTandon on 22 Aug 2022
Edited: RahulTandon on 25 Aug 2022
Evaluate the core competencies (assets, mesh handling, cfd, particles, materials, post-processing) of UNITY , UNREAL, etc. engines to the mesh* functions for capabilies and speed. Matlab as a gaming engine is 'full-featured' and 'performant'. No separate post processing!The programming language is not watered down and completely debuggable . Visual programming is Simulink. Matlab goes further with game design tools and gamification math. There is special intrest by MAKE HUMAN , REALLUSION, REALITY CAPTURE etc. that have to be importable to matlab; if we try. Matlab is not ready-and-packaged-and-simplified for the indie-game-developer-market.

Walter Roberson
Walter Roberson on 26 Aug 2022
Create a WindowKeyPressFcn callback on your figure. Inside the callback look at the information in the event structure to figure out which key is pressed (and which modifier, if you care about modifiers). Always have a "current" location.
When you get a key press, use it to figure out the requested new location, by adding or subtracting one from the row or column coordinate as appropriate. Test whether the new location is out of bounds; test whether the map at the new location is occupied by something solid that cannot be walked over; if you cannot go to the desired location then do nothing or beep() . If the new location is occupied by a moveable object, make the new location the "current" location and attempt to pick up the object. If the new location is occupied by a non-movable object that can be walked over, make the new location the "current" location and "activate" the object (for example it might be a door, or a teleport, or a trap).
And so on.

Categories

Find more on Video games in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!