Check Out My First Multiplatform Game
I finally figured out how to port to windows!
https://ldjam.com/events/ludum-dare/38/ids-journey
I finally figured out how to port to windows!
https://ldjam.com/events/ludum-dare/38/ids-journey
Many games in ludum dare are made with an engine such as unity or unreal. This is fine and has many advantages, but it can be more of a challenge using a self made game engine and porting it to other platforms with your own skill. Bonus points if it is a 3D game. Extreme props to you if you use bare OpenGL/SDL(or similar framework).
* Leave your custom game engine games in the comments. Especially the 3D ones! :grin: *
I have done just this in my custom made 3D game: https://ldjam.com/events/ludum-dare/38/ids-journey

Many windows users have been having problems with my game,I have hopefully patched these issues.
BE SURE TO USE THE 64 BIT BUILD. If it still doesn't work use compability mode for windows 7.
https://ldjam.com/events/ludum-dare/38/ids-journey
My game is a little flaky when it comes to windows support. It will run on some machines but not others. Windows 10 is one of the few configurations which supports my game. Be sure to download the 32 bit version and run it in compatibility mode set to windows 7.
Linux support is flawless.
https://ldjam.com/events/ludum-dare/38/ids-journey
User @ace17 spotted a bug in my game and helped me fix it. It was causing a black screen on some computers.
IF YOU HAVE ALREADY SEEN MY GAME AND GOTTEN A BLACK SCREEN OR AN ERROR, GO AND TRY IT AGAIN.
https://ldjam.com/events/ludum-dare/38/ids-journey
Just asking.
Many of us developers run linux. I will try to rate all of the linux games in the description. I always appreciate it when someone makes a linux build. Sorry however, I cannot rate unity games for linux or web, they do not work on my machine. Post them anyway for others to discover.
My game has spotty support on windows so I would highly appreciate Linux users coming to check it out: HERE
https://ldjam.com/events/ludum-dare/38/ids-journey

This ludum dare, I have given myself a challenge. I am going to code entirely in C! No OOP gimmicks, no std::vectors, no classes! I want to see if I can get by without the comforts of c++.
If you saw my previous post, you know I'm doing this jam in pure C, no c++ gimmicks. I just finished converting the basics of my old c++ engine to C and I went from about 7,000 lines of code to only 3,000. Here are my tools:
Editor: Atom
Language: C
Art: Blender/Gimp
Sound: Audacity/Recorded SfX
Plasma balls, skulls, demons. That sort of thing. 3D is good but I can work with 2D.
Making an arena shooter https://www.youtube.com/watch?v=TT3R3Ze_XpM
Started way back in ludum dare 32.
https://ldjam.com/events/ludum-dare/39/plasma-arena
https://ldjam.com/events/ludum-dare/39/plasma-arena
If you download a game and it will not run or is obviously glitched due to fault that is not in the game, please do not leave all one star ratings, lust dont leave a rating at all. I have to port my games over to windows from linux and the conversion does not work on every windows computer. Do you guys agree with this practice.
https://ldjam.com/events/ludum-dare/39/plasma-arena

The challenge
To create a game in only C code!
The Idea
This is one of my favorite ludum dare themes ever! The Idea came immediately! I had been playing a lot of quake 3 (one of my favorite games) and had the sound of the plasma gun stuck in my head. I imagined gameplay focusing around the constant collection of ammo and a never ending barrage of skulls.
Day 1
First, I set about implementing quake 3 movement into my engine. I found the original quake 3 source code on github and copy-pasted it into the engine with a few tweaks to make it work. Air strafing and strafe jumping seemed to work, so it was time to move onto the weapon. I implemented the plasma ball as a physics object with height velocity and used sweeping collision detection to make it function correctly. I made it instanced with the size of the instance buffer object remaining static, but the contents of it changing. I was working in pure C so I had no std::vector to work with, so i opted for a solution where I allocate a fixed amount of memory for the plasma ball instances and keep a count of which ones are begin used. Then when I wanted to create a plasma ball I just upped the count variable and put the mat4 for the new instance into the next location in the array. When the max amount of plasma balls had been hit, the buffer index counter would return to zero, essentially beginning to refill the array with new values and not actually allocating any new memory. This made it extremely fast due to the lack of constant memory allocation.
Day 2
Now it was time to setup the enemies! I created a skull sprite by downloading a picture of a skull, used tools in gimp to get only the skull from the image, and then reduced the resolution of the image to make it pix elated. The final touch was to reduce the number of unique colors to make it more simplistic. I then quickly implemented a vertex shader to make the skull sprite always face the player in the 3d world. The use of sprites saved a lot on performance and allowed the use of up to 500 skulls being drawn and simulated at once (could probably simulate more if I added octree optimization for collision detection). I did the same technique of a preallocated array to create the array of mat4s for the instance buffer.
The windows port of my game does not seem to work correctly on some computers. As such, I will depend mostly on linux users to get ratings. If anyone knows how to deal with potential undefined behavior in c, please let me know.
Here is a link to the game if you are interested: https://ldjam.com/events/ludum-dare/39/plasma-arena

Some people had a problem where the game would crash when you start shooting. I have now fixed it! https://ldjam.com/events/ludum-dare/39/plasma-arena
https://ldjam.com/events/ludum-dare/39/plasma-arena
For some people, the audio in my game was not working, if you didn't hear the hellish audio in my game, give it another try!

The Game (If it will work for you) Here: https://ldjam.com/events/ludum-dare/39/plasma-arena
Part 1 Here: https://ldjam.com/events/ludum-dare/39/plasma-arena/the-making-of-plasma-arena
TLDR:
Windows is an awful platform to develop for. Bill gates is an evil man who made a terrible operating system and peddled his crap to computer companies and schools to establish a monopoly. He collaborated with U.S government to spy on the public as well.
Day 3 -7 : Porting
I develop my game on my linux laptop and use gnu Make and C. As soon as ludum dare is over, it is a simple process to package my game and make it compatible with all linux computers. Life is good. But, due to the impenetrable stranglehold windows has on the market, despite being an inferior operating system in every respect, I must port my game to windows. Windows always creates mind boggling problems when I develop for it. I have never been able to reach 100% windows compatibility.
Here is the list of problems I experienced (In order) on windows but not on linux
Memory management problems (Fixed)
Graphics driver inconsistencies (Still not 100% fixed on all computers)
Audio driver instanity (Fixed)
The Audio problems where especially devastating because I put a good amount of time into making audio for my game. The issue prevented audio from playing due to driver weirdness and I assume many gave the audio category 1 star due to there being the appearance of no audio. Graphics driver weirdness still prevails and It is absolute insanity. It will work perfectly on one computer and then fail in 3 different ways on other computers.
Sorry for the rant, just needed to vent about the state of personal computing.