Hey all, I joined this forum almost a month ago and decided to give myself a project so that I could learn how to Ren'Py.
In the wake of Persona 5, I found an itch within myself to go back and play one of my favourite games, "Shin Megami Tensei: Devil Survivor." I realized that it is very much a visual novel, and a complex one at that. What better way to learn how to code a good and proper complex Ren'Py game than by recreating a game I've played probably a dozen times?
I've gotten a lot of help from people on here and I've completed almost everything up until the first combat. I don't know how faithfully I can recreate the whole thing, but I'm not even close to giving up yet!
I've recreated all the art myself except for things like the menu screen (which I'm working on) and all the BGs. I've just been tracing the sprites, essentially, but it's giving me a little more freedom to manipulate and letting me figure out the devil of the details in transferring a sprite from sketchbook to screen.
I'm planning on recreating versions of the music in FL Studio, again just to find the devil in the details for when I eventually transfer original music for an original VN.
The only main challenges left are:
-the dynamically moving phone menu screen, which is what I'm trying to figure out now
-what I'm going to do about the combat system, which will probably become a simplified Turn-Based system
-keeping track of the incredibly complicated branching story of this game
-just typing up the whole damn thing. It's a pretty long game.
So what are your thoughts on this project?
How do you feel about people imitating other people's work?
Do you think reverse-engineering is an effective way of learning this stuff?
Any fans of Devil Survivor out there?
Should I even bother trying to finish the whole game?
Actually, I am a fan of the game myself, and I have played around with adding the time-based event system of Devil Survivor to a future game, because I like the way it works and makes the game feel less linear. I was able to pretty much get it working, albeit with my own design and not trying to copy the game.
I do think reverse engineering is a good way to learn, because it gives you some goal to aim for, kind of like a puzzle of sorts.
It's probably not a good idea to recreate the entire game if you are just using it as a learning experience. Because there's really no point to continuing once you have the underlying systems down. You would never be able to release your "remake" due to copyright laws, so considering the demo is for your own personal use only, it would mainly just be a lot of busywork with nothing to show for it.
Thanks for the advice, SundownKid!
I have been thinking of it as a sort of puzzle, and it has taught me how to make a lot of cool things.
I've now finished the story up until the end of the first day.... and I plan to end it there.
I've done some new sprites, as I'll show here, which are of much better quality than the main characters now that I've reliably figured out how to make sprites and transfer the files to my computer.
The challenges to overcome are still roughly the same as before
-Create the dynamically moving menu screen
-make the cutscene animations, like the COMP initiation and the cemetary explosion
-make a tile-movement/turn-based hybrid battle system, which is starting to look easier than I originally thought
-A few little things, like replying to email
-the Sound Design!
And once I know all that stuff, I'll be moving on to my SuNoFes entry project!
Alrighty, so I've made progress on a few things.
-The dynamically moving phone menu is completely done, with some help to figure out how to finally do it viewtopic.php?f=8&t=45121&p=461610#p461610
-and I know how to do the other things and just need to find time to do it.
-I know how to make the COMP initiation sequence
-I'm working on the email reply system for that one email Atsuro sends at the end of "day BEFORE," which I don't think will take very long
-I've got the basics of turn-based RPG down
-I went and learned how to use FL Studio, so now I can recreate the music and the little boops and bops.
Unfortunately I'm leaving pretty soon on vacation, so I'll be away from my computer and won't able to work on this stuff. I'm also starting to think I won't have time to whip up a demo for SuNoFes but what can you do I suppose.
Alright, I can't show a video of it, but I got the RPG battle system to work! It's a turn based fight 3v3, with multiple actions available (attack,spell,item,etc) and enemies have random behaviour (not just attack one unit repeatedly). Stats are viewable, and animation can happen during an attack.
On top of that, email replying is done, and sound effects for buttons are in. I still need to re-compose the background music though.
I might just finish this in a reasonable amount of time, but now I need to go back to working on recreating the visuals and put down the coding for now.
Just as a note, the end goal here is that I'll record a video of the project and post it to Youtube, and then link to it here so y'all can see how it turned out.
I'm working on the RPG system now, making and applying the DS visuals to it. The COMP initiation sequence is done, so the only things left are the battle sequences and the background music. The 'overworld' of the battlemap is done, with dancing idle sprites that can stand or walk or whatever, and the map also pans to follow whose turn it is. There's a lot of little zim-zams and flashy lights involved with battles, but here's some screenshots of where I am right now in the process.
Life's real busy and it's been a while since I worked on this. I cleaned a bit of it up and recorded most of what I have. I have the rest of the dialogue for "day Before," but I have not coded the second (more complicated) battle. I left some other failed elements out of this version, like attack flourishes, button sound effects, and unit attribute overlays. Also, I'm sure you'll notice a number of little hiccups.
Thank you to everyone on these forums who helped me learn how to code (I didn't know a single goddamn thing about programming before I started in June) and for just being a bunch of cool people.
I might pick this project back up one day, but I'm working on an original IP first (look out for a WIP post soon).
I'm curious about the moving demon sprites did you make them frame by frame or by atl, the chain movement n the intro and the moving buttons I guess. I tried using the base from Alex from your other post but got confused. if there many buttons then do you need to set each button their on variable for it to move correctly or is it a grid by grid thing? Thanks! If you can show me a code snippet I'd appreciate it, but if it's private, it's okay
I'm not 100% sure what you're asking, but this is how I did the moving phone menu. It's a lot like the base Alex gave me, just repeated over several buttons. I've only shown one button here (the top left one), but there are 9 in total. For this top button, it sets the variable "mid_move_down" and "low_move" to True. If you look at it in the video, hovering over the top button makes the middle row move down, and the bottom row also move down. A button in the middle row, when hovered, would make the top row move up and the bottom row move down, and a button on the bottom row would make the top row move and the middle row move up. The piece of code at the bottom controls the change in the offset variable, and each row is given a variable offset (top_offset, mid_offset, and low_offset). There's also a lot of background stuff I'm leaving out here, but it's just added images.
The battle code is too long and complicated to post here, I think. I didn't actually make a grid, it's literally just isometric figures shown and then moved diagonally by amounts I calculated manually. I know there's a way to have the program compute a grid using the sizes I give it, but I was too lazy for that.