gustavolsson
|
|
« on: March 25, 2020, 11:45:19 AM » |
|
So it has been 10 years since I released my first game and I feel that it's time for another one. Not much is decided yet, I prefer that it grows organically. Most importantly, the project should be motivated solely by the joy of making things! Here we go: (resolution is 320x240 but my mac is doing some high DPI upscaling magic)
|
|
« Last Edit: October 01, 2020, 03:21:44 AM by gustavolsson »
|
Logged
|
|
|
|
gustavolsson
|
|
« Reply #1 on: March 26, 2020, 08:18:23 AM » |
|
I implemented the vector and matrix math necessary for 3d transforms, wrote a polygon mesh class, a create_cube() function and a function to convert a poly mesh to a triangle mesh. Tadaa!
|
|
« Last Edit: October 01, 2020, 03:21:55 AM by gustavolsson »
|
Logged
|
|
|
|
oahda
|
|
« Reply #2 on: March 26, 2020, 08:49:17 AM » |
|
Will be interesting to see what grows out of this! And that previous racing game was cool, especially considering the custom physics and everything! Sharing a gamepad sounds hilarious.
|
|
|
Logged
|
|
|
|
gustavolsson
|
|
« Reply #3 on: March 26, 2020, 09:55:06 AM » |
|
Thanks! Some old players are actually picking up the game again (for nostalgic reasons ) now that I've released the PC port, it's great: Ao looks really intriguing as well. Do you program it in your own engine? (Looks like it from the screenshots with the IMGUI windows) If so, I'm curious, how do you handle the animations?
|
|
|
Logged
|
|
|
|
oahda
|
|
« Reply #4 on: March 26, 2020, 10:13:26 AM » |
|
Hahaha, that's fantastic Can you get back up again if that happens? And thank you! It's a custom engine, WIP alongside the game. Animations are pretty standard skinned/skeletal ones, mostly based on this video tutorial series by ThinMatrix and this text one. Rigged and animated in Blender and exported as glTF 2. Do you have anything to reveal about what game you'll be devving in this log btw, or don't you know yet?
|
|
|
Logged
|
|
|
|
gustavolsson
|
|
« Reply #5 on: March 26, 2020, 10:37:38 AM » |
|
Yes, you can reset the kart but due to my laziness it can spawn facing the wrong way (and the game doesn't tell you that you're going the wrong way) or up on a wall.. but it's part of the charm I think The code that handles reset just saves the transform of the kart periodically when all 4 wheels have traction and resets the kart to one of those positions when you hit the button. And thank you! It's a custom engine, WIP alongside the game. Animations are pretty standard skinned/skeletal ones, mostly based on this video tutorial series by ThinMatrix and this text one. Rigged and animated in Blender and exported as glTF 2. Cool! I thought they looked too good to be anything else. I'm planning to go a more lo-fi route and see if vertex-tweening or sokpop-style procedural animations will be good enough.. Do you have anything to reveal about what game you'll be devving in this log btw, or don't you know yet? I have a vague idea: You're a wanderer deep in the woods. Think snufkin from Moomin. It will be very lo-fi, similar to a Nintendo 64 game. The game is very much up in the air, but I have a pretty good idea of how I want to build the tech framework (which will be reusable).
|
|
|
Logged
|
|
|
|
oahda
|
|
« Reply #6 on: March 26, 2020, 02:20:38 PM » |
|
Love it!
|
|
|
Logged
|
|
|
|
gustavolsson
|
|
« Reply #7 on: October 01, 2020, 03:06:09 AM » |
|
Ok so I got tired of the ugliness that is C++ and went on a long detour making my own programming language over the summer, then putting that on the back-burner and focusing on some other things. I realized that even though I don't like the programming languages and tooling that exist today, I rather work on something more tangible that is closer to "art", whatever that means . I recently started working on the framework and game again, but this time in C. I'm not quite sure where this devlog is going as I'm not sure what game will materialize in the end (I've changed the title accordingly), but let's explore it together Since the last post I've rewritten my framework in C, added gltf loading support via cgltf. I present 'avocado':
|
|
« Last Edit: October 02, 2020, 08:57:14 AM by gustavolsson »
|
Logged
|
|
|
|
Schrompf
|
|
« Reply #8 on: October 01, 2020, 03:41:54 AM » |
|
"Hello, Avocado!" sure beats "Hello, World!". Welcome back, and have fun.
|
|
|
Logged
|
Snake World, multiplayer worm eats stuff and grows DevLog
|
|
|
oahda
|
|
« Reply #9 on: October 01, 2020, 03:57:35 AM » |
|
Woohoo! Love me an avocado. Custom lang is a deep rabbit hole. Hope C works out for you!
|
|
|
Logged
|
|
|
|
gustavolsson
|
|
« Reply #10 on: October 02, 2020, 09:42:13 AM » |
|
Thanks! Who knows, the avocado might stick around
|
|
|
Logged
|
|
|
|
|
kevin andersson
Level 1
Producer/ Designer by day and Programmer by night
|
|
« Reply #12 on: October 05, 2020, 12:13:04 AM » |
|
Congrats on starting a new project!
|
|
|
Logged
|
|
|
|
gustavolsson
|
|
« Reply #13 on: October 06, 2020, 11:06:05 AM » |
|
Tack kevin! Didn't know you had a devlog here, followed It occured to me just now that Hoplegs is actually like pinball but in reverse and with 4 paddles
|
|
|
Logged
|
|
|
|
gustavolsson
|
|
« Reply #14 on: November 15, 2020, 06:51:15 AM » |
|
Hello world! The framework is chugging along slowly but surely Since last time, I've been working on... * a game manager that takes care of initializing the window etc (this makes the game code file really short) * a minimalist input manager that makes it easy to query key/mouse input * an asset system that is able to load assets of different (hard-coded) types * loading images from the glTF file into the asset system * rendering 3d models with textures * reading back the GPU frame buffer to the CPU * saving the frame buffer as a time series in order to create a GIF (manually using ffmpeg, couldn't find a good GIF saving library) * cross platform path/file/dir management helper functions
|
|
|
Logged
|
|
|
|
oahda
|
|
« Reply #15 on: December 15, 2020, 03:32:32 AM » |
|
That is one good-looking avocado. Know what it's like to put in all the background work without much visual fanfare to show for it, good stuff going on here. Looking forward to avocado adventures!
|
|
|
Logged
|
|
|
|
moonmoonmark
|
|
« Reply #16 on: December 15, 2020, 03:48:33 AM » |
|
Huge fan of the avocado <3 keep up the good work
|
|
|
Logged
|
|
|
|
gustavolsson
|
|
« Reply #17 on: December 20, 2020, 09:16:03 AM » |
|
Thank you for the nice words and encouragement! That is one good-looking avocado. Know what it's like to put in all the background work without much visual fanfare to show for it, good stuff going on here. Looking forward to avocado adventures! I fell back into the custom programming language rabbit hole a few weeks ago (uh-oh), so now we're definitely talking about background work I'm feeling a bit more pragmatic this time around though, so let's see. I've postponed all the non-essential stuff like the bytecode-interpreter (for compile time evaluation etc) and the focus is now getting an MVP up and running that compiles to C. The language itself is quite close to C in complexity so it _should_ not take too long (famous last words). At the moment, I enjoy the technical side of things but I expect that I will move back to working on the game once the pendulum swings over to the "art side", even if this happens before the MVP is done. Huge fan of the avocado <3 keep up the good work
Thanks
|
|
|
Logged
|
|
|
|
oahda
|
|
« Reply #18 on: December 20, 2020, 09:21:10 AM » |
|
Oops… So how's that going to work out when it comes to libraries and stuff? Will there be some C interop thingy so that it just works™? Or will you be getting super low-level system-specific with the window creation and all that jazz too?
|
|
|
Logged
|
|
|
|
gustavolsson
|
|
« Reply #19 on: December 20, 2020, 09:47:53 AM » |
|
Oops… So how's that going to work out when it comes to libraries and stuff? Will there be some C interop thingy so that it just works™? Or will you be getting super low-level system-specific with the window creation and all that jazz too? The language is simple and relatively low level, so my current plan is to make it possible to mark function declarations and types as "extern C" and then its up to the user to also provide the definitions when they build the project, either as C code or as a static library. That way I can use the same C libraries I use now for context creation etc. This should work well if the language emits C code but also if it emits LLVM IR. I'm sort of leaning towards not bothering with LLVM at the moment because I want this to feel lean and mean (if you have a C compiler, you can compile the language itself and any programs written in it). My plan is to make it easy to port my current game framework by gradually re-writing one file at a time, C to G(ustav)++
|
|
« Last Edit: December 20, 2020, 10:59:49 AM by gustavolsson »
|
Logged
|
|
|
|
|