#FNaF World: C Edition - A FNaF World recreation in Pure C with the Raylib library

145 messages ยท Page 1 of 1 (latest)

naive dome
#

Actually for the game I created a separate discord server tracking the progress, not 100% sure if I am allowed to put a link to the server here though

trail wigeon
#

there are no rules against posting links for your project, just make sure its SFW content, nothing graphic/gore. and make sure you only do so in #madewithraylib (thread) or #1077616160922669158 (where we are now)

naive dome
#

oh ok

naive dome
#

I can't put the link for some reason so I guess i'll just put the youtube channel where I track my progress

#
naive dome
# naive dome https://www.youtube.com/@SpyterDev/videos

I've kinda neglected the channel because it a pain to screen record because I have to use the default screen recorder, then trim it so the video starts when I open the game and I can't use the built in editor because it is locked at 30FPS so I have to use a random website (I have to find something so edit videos easily)

#

Even though the game has full touch support right now I'm getting random SEG-FAULTS on android so I'm probably going to have to do a bit of work to get it to run properly

#

I guess I'm going to have to learn how to use Android Studio

trail wigeon
#

how are you building for android currently?

naive dome
#

I'm going to try other build system

trail wigeon
trail wigeon
# naive dome raymod

raymod or raymob? raymob is what i was going to suggest because android studio is a pain and everyone seems to hate it ๐Ÿคฃ

naive dome
trail wigeon
#

the author is here. you can probably post your issues in #help-android and see if he can help fix the segfaulting and what not

#

(bigfoot71)

#

i havent touched android yet because i hate working with android build systems ๐Ÿ˜ so thats as far as i can help lol

naive dome
#

the error comes from the json map parser failing to parse the map json which leads to a NULL pointer

naive dome
#

so it isn't an IO issue

#

I've never used Android Studio so I don't even know how to see the stdout ๐Ÿ’€

trail wigeon
#

oh, thats not really raylibs fault then ๐Ÿ˜

naive dome
#

I'm going to stay up till 4am if I have to (I can probably get it to work in 7 hours)

trail wigeon
#

what if you hardcoded map stuff? is everything working fine?

naive dome
#

I tried that

#

on gcc it works

#

but not on whatever studio uses

trail wigeon
#

msvc?

#

im not sure what "studio" you're referring to

naive dome
trail wigeon
#

ah

naive dome
#

I'm a go boot up the old fedora partition which I only use during school because I have too much stuff on Windows

#

maybe it will be easier on Linux

naive dome
#

I have a skill issue so I'll worry about the Android Version later

naive dome
#

I started work on the battle system, right now I'm working on the drawing system:

naive dome
naive dome
#

A more finished version of entity drawing

naive dome
# naive dome A more finished version of entity drawing

Over the past few days I've been working on the piping for the battle segment. Creating the attacking and move system and framework so I can easily implement various attacks. Also I got the label at the top to be even more accurate to the original by adding a black outline to the bottom of the letters

naive dome
naive dome
naive dome
#

FNaF World: C Edition - A FNaF World recreation in C with the Raylib library

#

FNaF World: C Edition - A FNaF World recreation in Pure C with the Raylib library

naive dome
#

WIP Health Bar

#

Also enemies now auto attack and there is a damage splash

tired tree
#

I've been working on my own FNaF World in Raylib and genuinely the worst part was adding all of the attacks, mainly bc of the particles and converting all the jumbled Scott code

naive dome
# tired tree I've been working on my own FNaF World in Raylib and genuinely the worst part wa...

I made my own particle system with uses "UI Space" basically it ranges from (-1,-1) to (1,1) for my recreation I'm making it without the original source code (I'm remaking it based on gameplay) so under-the-hood game works a little different. I'm still figuring out how I'm going to do the battle system but these were how I have it layed out as of now:

{
    NONE, HIT
};

typedef struct _Damage_Range
{
    uint32_t min, max;
} _Damage_Range;

typedef struct _Battle_Projectile 
{
    clock_t max_lifetime;
    _Damage_Range damage;
    Vector2 velocity;
    Rectangle hitbox;
    Animation_V2 sprite;
} _Battle_Projectile;

typedef struct _Attack 
{
    _Damage_Range damage;
    enum _Battle_Attacks_Types type;
    clock_t delay;
} _Attack;

typedef struct _BattleEntity 
{
    uint8_t num_of_attacks; // Mostly for Enemies
    uint32_t remaining_health, full_health;
    char name[20];
    clock_t last_attack;
    Animation_V2 sprite_idle;
    Animation_V2 sprite_attack;
    Rectangle hitbox;
    _Attack attacks[3];
} _BattleEntity;

typedef struct _BattleParty
{
    uint8_t size;
    _BattleEntity member[4];
} _BattleParty;```
#

Probably going to change a bit of it

tired tree
#

Eh, that sounds even more difficult to port from Clickteam ngl

naive dome
#

The map for example

#

I had to replace every tile ๐Ÿ’€

#

I remade the map based on the mini-map in spritefusion then made a Sprite-fusion JSON map converter to load the map

tired tree
#

I currently just hardcode the map lmao

#

I auto generated the code tho

naive dome
naive dome
#

I can add a new zone without having to modify the code

tired tree
#

Yeah I get that

#

I plan to redo my code eventually

#

Just wanna finish the battle system for now

naive dome
#

a bit of mine is messy and I need to add comments

tired tree
#

I think I perfectly recreated Clickteam's collision system

naive dome
naive dome
naive dome
tired tree
#

Some tiles, like rocks, have pixel perfect collision

naive dome
#

It works close enough and it is hard to tell the difference

#

It a small compromise

#

Recreating the overworld took a month for me

#

I managed to get the visuals and map nearly 1:1

tired tree
#

Lol I just wrote a program that did it for me in like a day

#

Helps when you're a supa dupa smart genius frfr like me

naive dome
#

For me though I can't automate it bc I don't have the src, only the textures and sounds

tired tree
#

You can decompile it using Nebula

naive dome
tired tree
#

Innaccuracy galore ๐Ÿ˜”

naive dome
#

I want to see how accurate I can get it based of gameplay

#

I got the overworld basically 1:1

naive dome
#

One time that I definitely have to redo is the birds, it uses the particle system for some reason instead of the World Entity system I made ๐Ÿ’€

#

To be fair I didn't have that at the time

#

and I wanted birds

naive dome
#

For the touch joystick, I'm changing it from analog to digital, (although I'll add an option to toggle it) but analog doesn't feel as good digital because of Scott not normalizing Freddy's diagonal speed in the original game, basically he feels slow with analog controls (and I think square joysticks are cursed compared to circle so yeah). I guess I could make the speed auto-adjust when your walking diagonally then the controls would be a bit weird imo

naive dome
tired tree
#

I'd make it analog but just for direction

naive dome
naive dome
#

Also the attack splash is also unfinished

naive dome
naive dome
#

That should get it to be more accurate

trail wigeon
#

Not familiar with fnaf but the jump height seems fine visually. The idle animation definitely needs slowed down ๐Ÿคฃ

naive dome
#

Haven't been updating the Raylib thread much bc I have a dedicated server for the game, also I've been a bit busy with school but I added in a title screen transition animation

#

It's not 100% accurate to the original but imo it looks a bit better (the play button in the original didn't fade)

trail wigeon
#

You aren't using copyrighted material, are you? Art/music/etc

naive dome
trail wigeon
#

thats not how copyright works ๐Ÿคฃ

naive dome
#

I'm at least going to try to email scott though to get permission before

trail wigeon
#

i would definitely try and do that

naive dome
#

If not I'll only release the source code

#

I might also try and make something to extract the assets from the original exe

trail wigeon
#

just mentioning it since other people did fan games with original assets and mods of this server said its a no-no to use copyrighted material and "i dont think they will mind" and "other people have done it" are not valid excuses

trail wigeon
naive dome
#

I'll definitely to get permission to use the assets, if not, it will be up to the user to get whatever texture pack they want

trail wigeon
#

using your tool that rips the copyrighted material from the original game? ๐Ÿ‘€

#

context (from link onwards): <#1323445520072708189 message>

naive dome
#

the code itself is fine because it isn't based off the original source code, it will be up to the user to make their own assets folder, how they get it or make it is up to them. I can also make it so you need the game installed in order to run it

naive dome
naive dome
naive dome
#

I'll try to work with my friend to make a texture pack (which doesn't use the original textures and music) that way the game has a default texture pack it can be shipped with

trail wigeon
#

yeah, i just wanted to mention it before you got too far along

naive dome
#

I'm probably going to use the same codebase of this game or a stripped down version as a template for other games because it has a good-enough UI wrapper (with buttons, text, animations, etc) that adjusts to different aspect ratios nicely, a 2D overworld environment with that I can use a level editor to use (specifically Spritefusion) (so I can add new zones without writing any code or recompiling), json saves, touch support, basic controller support, a particle system, etc. I guess the piping for the battle segment can also be useful too but I would probably cut that

naive dome
naive dome
tired tree
trail wigeon
# tired tree Scott's given explicit permission for any fan creation to use his copyrighted ma...

i see a lot of different information about that. some people said they got permission from email, apparently others were shut down after emailing. he has also publicly shut them down like this one on steam

one of the biggest points that several people have brought up is donโ€™t make it too much of just a remake of one of the official games. and it looks like this is meant to be nearly 1:1 FNaF World

OP said he would email to get permission, so thats always going to be the best course of action.
his public emails i found are:

tired tree
trail wigeon
#

ah you edited your message lol.

such as recreations of his paid-games is the part where it may be an issue. it was originally paid, and other people said paid or not is a no-no ๐Ÿคทโ€โ™‚๏ธ

tired tree
#

I didn't edit that in lol

trail wigeon
#

no, its 2 separate things. i also didnt see anywhere (in my brief search) where he publicly said that fangames can use copyrighted assets. just people saying their experiences with trying it.

but im not here to try and force that, just came to mention that using copyrighted material is frowned upon on the server

#

and ill disappear now

naive dome
#

I'll just wait for a response, even though this is a fangame of an already free game, I don't want to do anything that might make him mad, it mostly a way for people who don't have a Windows computer to be able to play a remastered version and I want to make sure that's fine with him

naive dome
tired tree
#

If you're gonna wait for Scott to respond, you're never gonna work on this project again, because he's not going to respond.

naive dome
#

The first demo will probably be done by early-mid February, I haven't been working on it too much cause of school recently so that's why development has been a bit slow recently

#

I'm probably going to have to make some adjustments for how textures and animations are loaded to support texture packs with different sizes then the original so you can have an HD or 4K ones for example

naive dome
#

I'm rewriting the battle system because the way I represented animatronics and attacks wasn't exacted good and can only be compared to a camera made by taping a phone to a fork and putting that in the ceiling, not exactly a good one

naive dome
naive dome
#

For some reason I'm named the attack battle system interface: R.A.B.I.T.S:
R. udimentary
A. ttack
B. attle
I. nterface
T. yped
S. ystem

(I definitely have to come up with a better name this is more of a goofy temporary placeholder)

naive dome
naive dome
#

I released a WIP developmental build for Windows (it's a test/developmental build so that's why it is only for Windows and not other platforms) (also sorry I forgot this back in January I forgot). Anyway if you want you can give some feedback to help improve the game that would be appreciated, also the code is still pretty messy which is why the src isn't available yet:
https://gamejolt.com/games/fnaf-world-c-edition-overworld-test/969988
Also it's not code signed so Windows will probably say it's from an unknown developer so just a heads up ๐Ÿ‘

Game Jolt

๐ŸŽฎ NOTE: THIS IS NOT DEMO 1 This is a Work-In-Progress Developmental Build of the current Demo 1 Overworld. THIS VERSION IS NOT POLISHED. You can only explore a Beta Demo 1 Overworld and walk...

naive dome
#

I added another plant layer (this was inspired by FNaF World Redacted which you should definitely check out) and went ham on the decorations and plants to make the game more full of life

#

Also now non-animated buildings are rendered as tiles instead of entities

naive dome
#

Working on the dialogue system (the dialogue is going to be saved in JSONs so yup)

naive dome