Join us on Discord!
You can help CodeWalrus stay online by donating here.
Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - matrefeytontias

#31
You're missing a whole lot of points with your changes. First, I want to be able to work on the game without sudo rights, so I must include SDL binaries and includes because I can't install SDL2-dev. Second, I also want to be able to distribute the game to machines without sudo rights, so that means no package (I could make one for those with sudo rights, but meh). For the record, I did try to run your Debian package on my system, it didn't work because you didn't include the SO for SDL2, hence why I did. Changing the default controls are useless and annoying, since it's originally up to my preference to have that (I did include a "configure controls" option for that purpose) and now merging the actually useful parts of your work will force me to include and then revert that part. Same thing about the makefiles, maybe you don't like it, but it's still my project and I made it work for my environment (you'll notice that it also works on every other environment, while your method won't work in mine).

Also, memcpy is slower than the way I did it because I'm copying unsigned ints and memcpy is copying chars, resulting in 4 times more RAM assignations (registers are indeed at least 32 bits). Reducing the resolution to 320x240 is indeed a good call, but not to make it fullscreen. I stand by my opinion that the game looks bad when scaled up too much, especially because that low resolution makes for huge pixels, and I would rather have SDL2 materially scale it to an adequate size (still 640x480 for me). I can still include a "fullscreen" key anyway, for those who really want it.

Basically all of your changes are irrelevant, except for maybe the home folder, which you'll have to tell me about. Being very not used to Linux, what are its uses ? What does it do, and why does nKaruga need it ?
#32
Well you're gonna fork it anyway, so feel free to do whatever you want with it :P and tell me how it looks. I haven't tried making it fullscreen for a while now (last time was before I switched from SDL 1.2 to SDL2), so if you could somehow show me how it looks, that'd be cool.
#33
Yeah it is what I want. I guess I can give it a border so that it can be moved around, but I don't want it to be resizable. Also, fullscreen makes it look ugly, because the pixels get waaay too big.
#34
@DJ : Thanks, I'm quite proud of it yeah :P

No, I'm dropping the Windows target, and then I'm gonna port it to 3DS and then drop the Linux target :D

@gameblabla : I'm not having any scaling issue, I don't want fullscreen at all, just a borderless window. And yes, I did hardcode 640x480 in it. If you want to make it work with 320x240, you'll have to modify updateScreen.

I'm not "stuck" with software rendering, that's a choice I'm making. I'll remind you that I started this project nearly from scratch (except for HW interfaces and sounds) in order to reinvent the wheel and get better at programming. I'm also doing a demake ; I'm willingly not using hardware acceleration. I know SDL2 provides that, but that's not the point of me making that game.
#35
Hey,

I've been actually currently working hard to get this game to work on Linux. Now that it's done (I was done with that yesterday), I'll be able to release the source code. I've had a private GitHub repo for nKaruga for a week or so, so it's here now. Feel free to grab it : https://github.com/matrefeytontias/nKaruga

Also hey, kinda forgot to push the updates here. So nKaruga is now on version 0.2.5 ! I included new parallax background for all released levels, I programmed a super beautiful awesome (and c) transition for level 2 (check it out !)I finally made the necessary changes to my code to load OGG music files and drop WAVs, dropping the package size from 48 MB to 9 MB. I also released the listenable OST on the GameJolt page.

Version 0.2.6 should be the last version before 0.3.0, and will include a time-frames implementation. That is, frames will have a timestamp to them, so that time-dependent things like events related to the music will always be accurate regardless of the framerate. After that, 0.3.0 will be the first release to include (at least a part of) level 3. The artist I'm working with right now seems to be sticking around, which is good :P

So yeah, to sum it up, I'm working on making Linux builds right now. If anybody can build a Linux 64-bits version for me using that repo I just posted and send me the resulting release, that'd be appreciated. Next, I'll implement time-frames and then release 0.2.6, and then on to level 3.

Regarding your ports Gameblabla, feel free to fork the repo and include any other target you wish. My Makefile already offers make windows and make linux targets, so why not make nspire.
#36
Bumpity bump !

A very late update on this. I successfully finished my competitive exams, which took 4 months, from the start of April up to the end of July, so development has been slow or non-existent during that time. But now, I have a lot of progress going on, as you can see on the playable 0.2.3 build on GameJolt !

To sum it up :
  • Boss 2 is complete ! That means level 1 and 2 and boss 1 and 2 are fully playable, meaning that the full game is technically about 40% playable ! Although it's much more finished than that, since approximately 100% of the core mechanics are written, tested and working, and all that's left is art, level design and AI programming for the future enemies.
  • I moved from Visual C++ to GCC/g++, meaning ... portabilityyyyy ! The source code is platform independent and should compile effortlessly on any platform. Not tested, but heh, you know :P Also, a lot of dependencies issues should have been fixed by that, so the current Windows executable should run flawlessly on every recent-enough Windows version (up to and including XP I think).
  • I found a new artist after the last one stopped answering (due to 4 months of inactivity on my part, granted) ; he drew the two backgrounds for level 2, and I'm currently adding them to the game with the newly-written background scrolling system (which supports normal and parallax scrolling as well as scaling).
  • A much-demanded request, you can now use either WASD/ZQSD or the arrow keys to control your ship. The rest of the controls is still configurable.

    Try out the game and tell me what you think, as always !
#37
Eiyeron and I met in Marseille. And two months later by sheer luck at a convention :P
#38
Quote from: TheMachine02 on June 08, 2016, 07:35:36 PM
Quote from: DJ Omnimaga on June 08, 2016, 07:12:29 PM
matrefeytontias : Bet you can't do the 3D thing that's in my topic with Glib  :P 21:07:34

Challenge accepted !

[image]

You killed my z-sorting though  :P
Come on, you're not supposed to use a model :P

Also thanks for the compliments guys, I'm glad you like them \o/ I can explain the rendering process for all of them, if you wish to have some insight into how it works.
#39
This year, my CPGE graduation project is a talk about fractals, so I might as well post the things I came up with. I learnt a lot, discovered many types of fractals I didn't know about, and I must say, I'm quite proud of the things I came up with, considering I've only been using SDL, numpy/matplotlib or GLSL to make them.

IFS fractals :


The very well-known. Needless to introduce the Sierpinski triangle.

BUT ! Did you know its lesser-known 3D brother ?

http://www.mirari.fr/sw1a (video, FLV format)

ET fractals (also called complex fractals, I'll let you guess why) :

The very well-known Julia sets with the usual ETA (Escape-Time Algorithm) rendering :



Alright alright, you'll have your Mandelbrot set this time too ... but with orbit trap rendering !



Orbit fractals (the ones I didn't know about) :

And I turn the def low ...



And I turn the def up !


Fun fact about this one, it's so far the one and only time I ever had to calculate a number to the power 201. No kidding.

unsigned int colorGradient(float t)
{
unsigned char *pixels = gradient->pixels;
float st = pow(t - 1, 201) + 1;
int offset = (int)(st * (gradient->w - 1)) * 3;
return (pixels[offset]) + (pixels[offset + 1] << 8) + (pixels[offset + 2] << 16);
}



And there we go, that's about it. I might post more as I run more experiments, because why not.
#40
Thanks for the mention, I'm not worthy :P

And wow, I didn't know your songs were up for publication, that's awesome ! Best of luck with that !
#41
Alright, fixed and tested. I pushed it to Github.
#43
Well, what can I say, I'm happy you feel that way :P
#44
You call that high quality ? :P In my opinion it's terrible quality, but again that might be because I usually have harsh judging towards my own work.
#45
Correction, now I will have actual mastering/mixing :P it's not like I was doing much. Compared to what my producer does now, I was literally doing nothing.
Powered by EzPortal