Activity

nmsoukmandjiev007

A fairly productive hour coding!
The issues with some sprites being moved in front of other sprites during gravity was fixed
There is a partial implementation of the popping, but it is not fully done due to an issue where it plays freeezes during the frames it is meant to animate (hence the pauses after matching)
I have no clue why the emulator (melonds) kept freezing last time so i swtiched to DsEmuMe and it seems to emulate that fine, except for sound which is HORRIBLY delayed. I dont think there is a fix for that at all though because the sound library i use points out that emulators dont work well with it.

Todo
Fix the popping animation
Title screen!

0
nmsoukmandjiev007

Guess who spent an hour debugging why my program kept freezing on an emulator, but ran ever so sweetly on real hardware (i didnt fix it)!!!!
Anyways, today was mainly a day of refactoring matching logic for upcoming matching animations. It doesnt really show it, and there are probably a few bugs, but it was a very clean method which im happy about.

Since the progress isnt really visible when playing normally, heres a funny bug which misaligns the top select screen

Todo:
Fix the strange issues during gravity
Unfreeze the emulator
Pops!

1

Comments

nmsoukmandjiev007

oh yay 30hr milestone!

nmsoukmandjiev007

File saving is done! This was fairly straightforward, i just had to re-remember how to use it.
So yeah, now you can play the same grid.

Only issue is that i am saving literally every single frame so ill have to quickly fix that up or else im just kinda wasting battery…

0
nmsoukmandjiev007

Had a random surge of motivation these past few days, and i managed to get all the minigames working, as well as some other stuff such as making the window resizeable.

0
nmsoukmandjiev007

Managed to make one switch between different layouts. its currently just arrow keys and abxy, but ps buttons will be coming soon.

This very little feature taught me a ton on how graphics works in libnds because i had to change how graphics gets handled in memory.

0
nmsoukmandjiev007

Gravity is now animated!!! Unfortunately there are still some annoying bugs that i have yet to fix, but its there!

0
nmsoukmandjiev007

Got a playable-ish version working. Its nowhere finished just yet, but its going well so far. Ive started working on the transition elements and the main menu before i focus on making the minigames work.
It also scales to resolution which is nice, although it is limited to 16:9 aspect ratio because pixel art doesnt play nicely with scaling

0
nmsoukmandjiev007

Shipped this project!

Hours: 26.32
Cookies: 🍪 323
Multiplier: 20.42 cookies/hr

Added some QOL features, as well as a makefile for easy building.
For those who don’t know, Langton’s ant is a turing machine ( a popular example of this is Conway’s Game of Life). Initially it only uses 2 rules, but i have expanded it to have more rules, ants and even different options for how the ant moves!

This was all written in C using the Raylib and Nuklear libraries

nmsoukmandjiev007

Got started on the project, heres what i made so far:
Built the skeleton structure for the core game loop
Brainstormed some minigame ideas
Got started on working on some assets
Made a small transition engine
Made an infinitely scrolling background

The game is still not playable, but heres the transition asset that scrolls sideways

Attachment
0
nmsoukmandjiev007

Mainly bugfixes, but I also added some features
Fixed an issue where the symmetry preset wouldnt work if you used the random preset before
Added tooltips for rules in hexagon mode
Added the ability to go back to the menu
Added a move counter and a popup that appears when all ants die

0
nmsoukmandjiev007

I cant even lie this was me just trying to animate gravity when i didnt even program gravity logic correctly in the first place…….

Yeah so still no animated gravity BUT my mistakes helped me learn what i did wrong sooo eye candy soon?

Also got me a new ds lite with an actually working hinge so theres that

0
nmsoukmandjiev007

Fixed the issue where only the first 2 song entries would show up (not my job, the creator of the rom told me how to)

Made a helper file with all the id’s that had the song names
Ignore the top screen, its not really broken i just didnt delete a line of code

0
nmsoukmandjiev007

Added the ability to load a background to the song that is being played, and added arrow keys. There is still a lot to fix such as the broken gui, but ill get to it

0
nmsoukmandjiev007

Created a helper drawsentence function that makes the text engine more convenient to use by automatically moving to the next row and also lets you choose a starter x and y position

0
nmsoukmandjiev007

Accidentally opened examples folder instead of project folder so i lost two hours but whatever :’)

Managed to get stickers working, also made them be able to change size because i still havent decided how large they have to be.
I also learned how to read button inputs on the gba so thats fun

0
nmsoukmandjiev007

Got the development enviroment set up, looked at the examples for an hour, made a little text engine, and now its time to start working on this!

0
nmsoukmandjiev007

Started working on the top screen block swapping mechanic. Its not going too well but the core logic is there, so i will work on it tomorrow. Everything else also works.

Fixes:
The wierd black borders on the crops being messed up

Heres a crude recording of progress once again

0
nmsoukmandjiev007

Not much done this time round.
Added an anti softlock mechanism, though it is manual. I fear that automatically checking for new moves would be very expensive.
Made a okay-ish title art. It was mainly parsing some game assets that i got and thats about all, though it is hinting at the next mechanic that i will introduce (follow if you wanna get updates btw)
Changed the code to work as a state machine to prepare for said new mechanic. Overall, it was a fairly short day of me continuing this.

Todos before I add the new feature:
Animated gravity
Cleaner looking sprites
Title screens
Game saving

See you tomorrow

Attachment
0
nmsoukmandjiev007

Ive made some cool stuff today!

Firstly, i got background music to play, which was very annoying because they use a different file format that splits the music up into presampled instruments, meaning a simple mp3 conversion wouldnt do. However, the programming part was fairly straightforward, so that was fine.

Secondly, I got swiping animations! Yayy! After about 6 devlogs of me promising them theyre finally here. Theyre not perfect as it creates 2 extra dummy sprites to move instead of the real ones so that sprite ids arent mixed up.

Also fixed up some bugs such as:
all six crops not showing (wheat is here now)
something that just drifted away from my thoughts

Heres another recording of the gameplay! Enjoy

0
nmsoukmandjiev007

Yayy! Eyecandy!
Settled on the theme of my game, which is farming. Bought an asset pack on itch io, made a grid, and now it looks like a game!

There are still todos though which are:
Animations
The wierd black borders being messed up

Heres a little recording, please ignore my roomate

0
nmsoukmandjiev007

I FIGURED IT OUT!!!!
With the help of some people who are way more knowledgeable than me, and with a bit of guesswork
I reduced the graphics slots usage from 128 to JUST 2!!!!

This means slightly faster load times, which sounds kinda pointless, but this helps with future stuff, so its good

Attachment
0
nmsoukmandjiev007

Did a bit of thinking and decided that there is no use optimising it for now, as i still have the leeway to add more stuff before i truly hit the limit.

I also managed to implement the restriction of moving your blocks anywhere, and that you can only move it if it matches

Enjoy the 25 secs of shaky gameplay!
Next plan iis to add animations if all goes to plan

0
nmsoukmandjiev007

Hitting a huge roadblock in terms of optimisation and animation….
Im brainstorming as much as I can, but i can’t figure out much, so this devlog doesnt have anything too crazy.

Im figuring it out though, bit by bit, also added a little crude explanation for those interested

Attachment
1

Comments

nmsoukmandjiev007
nmsoukmandjiev007 about 1 month ago

I may be a bit stupid. GFX is image data, and uses the palette to figure out which frame it wants to be (i think)

nmsoukmandjiev007

Boy did this take a long time….
First i tried making my gravity system with 2 different arrays falling on top of each other, until i realised how painful that was, so i opted for 16x8 array that handles both the top and bottom screen

Then i realised I didnt know how arrays worked and that it is not like grid coordinates and kept jumbling them up, causing lots of issues with out of bounds access and vertical gravity, which was hilarious to see.
I also realised how half done my swiping was, so i fixed that so its a lot easier to not miss a swipe.

However, now gravity works, tile matching works, and the swiping works.

Then i polished everything and were back at square 1 and a half!
Still need to optimise the gfx tho :(

0
nmsoukmandjiev007

Huge news right now!
I got audio playing to work, its perfect, and all i gotta do is find/make some cool sound effects.
The top screen is rendering sprites properly, which will be the whole gimmick of this project

one issue…..
i may or may not have used all gfx’s (basically animation sprites), so some optimisation may have to be done if i were to show explosions and stuff.

0
nmsoukmandjiev007

MATCHING IS FINALLY DONE!!!
This took so many tries, as i really couldnt grasp how to do it, so i caved in and found an example match 3 game in c, and used its logic.

Its a bit of a shame that i couldnt figure this out myself, but if i did continue i wouldve likely lost my motivation in this, so im glad i followed a tutorial

I figured out how to play audio on the ds, so ill likely now focus on block falling and sound effects

0
nmsoukmandjiev007

Added sprites, all of which i got from itch io. Theres no correlation between some of these, but in my defense i didnt want just jewels because that would be a bit boring! Currently working on line clearing which is giving me a bit of trouble, but it’s getting there

Attachment
0
nmsoukmandjiev007

Got block swiping to work. Havent added any bounds checking or anything, but the system itself works, next thing will probably be drawing sprites or line clearing.

0
nmsoukmandjiev007

Made a grid, and got grid coordinates working! Time make the blocks move when you swipe

0
nmsoukmandjiev007

Managed to get it to run, used the code from simplenfl to make the swipe gestures, and got backgrounds and sprites working.

it will only get harder from here though, but im looking forward to the challenge!

0
nmsoukmandjiev007

Shipped this project!

Hours: 22.17
Cookies: 🍪 215
Multiplier: 9.72 cookies/hr

I made a simulation of a turing machine made by Chris Langton in 1986, as well as his ants. However I decided to make it fully flegded out with custom rules, more ants and colours, as well as a hexagonal grid, which was most certainly the hardest part!

This was super enjoyable to make and it made me learn quite a bit!

nmsoukmandjiev007

Who knew that the camera wouldve been fixed with one line of code?
Anyways some minor bug fixes as well, so now you can zoom in,out and drag your sim around (soon gonna make a release once all the bugs have been exterminated)

Cool simulation included btw. Rules are L1L2NUL2L1R2

Attachment
0
nmsoukmandjiev007

Hexagons are finished!!! This was a huge pain, but at the very least it works and it looks pretty

Attachment
0
nmsoukmandjiev007

Added camera control + fixed a few bugs.
Now you can zoom into ants and back out.
Also spent like 2 hours trying to make a hexagonal grid until i realised how much of a pain it was and kinda gave up, though might get back to it at some point it is fully fleshed out

Also figured out how to speed it up a TON. This was done in less than a second which is really cool

Attachment
0
nmsoukmandjiev007

Added tooltips which took a lot longer than i expected, but it works!
Sadly couldnt figure out how to hide the mouse without it flickering so i compensated by just putting 2 spaces in front of the actual text

Attachment
0
nmsoukmandjiev007

Made a few presets for some rules.
Added default preset, for the original simulation, which always gives the same results no matter what diraction
Added symmetry preset, that shows a symmetrical image that also loops infinitely
Added random preset, which chooses a random amount of ants, and a random amount of colours, all with random rules.
I neglected showing the seed and really regret it, as it just made this beautiful pattern that i will never see again, but it’s alright :’)

Attachment
Attachment
0
nmsoukmandjiev007

Fixed some issues in the website, and then into more, and before i knew it, i used 90% of my credits :(
The c version is fixed though so at the very least something good happened, though the website will not be updated until the project is like 90% done (or once february 9 hits and my credits refresh!)

Anyways here’s a cool symmetrical pattern the ants made

Attachment
0
nmsoukmandjiev007

Optimised the control panel a little bit by reducing the overhead of converting from string to integer, made the ants and colours have random values so there wouldnt be much need to edit too much if one just wants to play around with it

Attachment
0
nmsoukmandjiev007

Finally made it display colours right! Also took advantage of nk_propertyi to add little arrows and remove the overhead of converting from string to integer. Win win!

Attachment
0
nmsoukmandjiev007

Fixed up the random colours being messed up!
Can’t explain why and how to fix it, but hey it works :)
Time to add random direction

Attachment
0
nmsoukmandjiev007

Used nuklear to make a nice control panel. Simulation works like a charm, though there ar still some bugs with the previewed colours and some other things that can be added eg pausing,continuing and speeding up the simulation, though I am very proud of this so far!

Attachment
0
nmsoukmandjiev007

I’m working on my first project! This is so exciting. I can’t wait to share more updates as I build.

Attachment
Attachment
0