Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411507 Posts in 69374 Topics- by 58429 Members - Latest Member: Alternalo

April 26, 2024, 01:48:12 AM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsThe long and bumpy road to the next game
Pages: [1] 2
Print
Author Topic: The long and bumpy road to the next game  (Read 2489 times)
gustavolsson
Level 0
**


View Profile
« 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
Level 0
**


View Profile
« 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
Level 10
*****



View Profile
« Reply #2 on: March 26, 2020, 08:49:17 AM »

Will be interesting to see what grows out of this! Blink Blink And that previous racing game was cool, especially considering the custom physics and everything! Shocked Sharing a gamepad sounds hilarious.
Logged

gustavolsson
Level 0
**


View Profile
« Reply #3 on: March 26, 2020, 09:55:06 AM »

Thanks! Some old players are actually picking up the game again (for nostalgic reasons Smiley) 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
Level 10
*****



View Profile
« Reply #4 on: March 26, 2020, 10:13:26 AM »

Hahaha, that's fantastic Kiss Can you get back up again if that happens?

And thank you! It's a custom engine, WIP alongside the game. Smiley 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? Gomez
Logged

gustavolsson
Level 0
**


View Profile
« 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 Smiley 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. Smiley 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? Gomez

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
Level 10
*****



View Profile
« Reply #6 on: March 26, 2020, 02:20:38 PM »

Love it!
Logged

gustavolsson
Level 0
**


View Profile
« 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 Shrug. 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 Smiley

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
Level 9
****

C++ professional, game dev sparetime


View Profile WWW
« 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
Level 10
*****



View Profile
« Reply #9 on: October 01, 2020, 03:57:35 AM »

Woohoo! Gomez Love me an avocado. Custom lang is a deep rabbit hole. Hope C works out for you!
Logged

gustavolsson
Level 0
**


View Profile
« Reply #10 on: October 02, 2020, 09:42:13 AM »

Thanks! Who knows, the avocado might stick around Smiley
Logged
gustavolsson
Level 0
**


View Profile
« Reply #11 on: October 03, 2020, 03:04:42 PM »

There is now a renderer and I can draw many things in different places Wizard

For the game to reference renderables that the renderer creates, I'm using indices instead of pointers as outlined in https://floooh.github.io/2018/06/17/handles-vs-pointers.html, pretty cool stuff.

Logged
kevin andersson
Level 1
*


Producer/ Designer by day and Programmer by night


View Profile WWW
« Reply #12 on: October 05, 2020, 12:13:04 AM »

Congrats on starting a new project!  Smiley
Logged

gustavolsson
Level 0
**


View Profile
« Reply #13 on: October 06, 2020, 11:06:05 AM »

Tack kevin! Didn't know you had a devlog here, followed Smiley

It occured to me just now that Hoplegs is actually like pinball but in reverse and with 4 paddles Shocked
Logged
gustavolsson
Level 0
**


View Profile
« Reply #14 on: November 15, 2020, 06:51:15 AM »

Hello world! The framework is chugging along slowly but surely Ninja

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
Level 10
*****



View Profile
« Reply #15 on: December 15, 2020, 03:32:32 AM »

That is one good-looking avocado. Kiss 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
Level 0
**



View Profile WWW
« Reply #16 on: December 15, 2020, 03:48:33 AM »

Huge fan of the avocado <3
keep up the good work
Logged

gustavolsson
Level 0
**


View Profile
« Reply #17 on: December 20, 2020, 09:16:03 AM »

Thank you for the nice words and encouragement!

That is one good-looking avocado. Kiss 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 Huh?

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 Smiley
Logged
oahda
Level 10
*****



View Profile
« Reply #18 on: December 20, 2020, 09:21:10 AM »

Oops… Cheesy 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? Blink
Logged

gustavolsson
Level 0
**


View Profile
« Reply #19 on: December 20, 2020, 09:47:53 AM »

Oops… Cheesy 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? Blink

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)++ Roll Eyes
« Last Edit: December 20, 2020, 10:59:49 AM by gustavolsson » Logged
Pages: [1] 2
Print
Jump to:  

Theme orange-lt created by panic